יותר

כיצד אוכל לקצץ אריחי גיאוטיף מרובים עם קובץ צורה מבלי להגדיל את גודלם במידה ניכרת?

כיצד אוכל לקצץ אריחי גיאוטיף מרובים עם קובץ צורה מבלי להגדיל את גודלם במידה ניכרת?


אני משתמש ב- gdalwarp כדי להצמיד מספר גיאוטיפים (אריחים של מפה גדולה יותר) למצולע המתואר על ידי קובץ צורה (שהוא בערך בגודל המפה הכוללת, כלומר גדול בהרבה מאריחים בודדים) באמצעות:

gdalwarp -of GTiff -cutline shape.shp -crop_to_cutline tile.tif cropped_tile.tif

(כאשר tile.tif למעשה חוזר על עצמו בכל אריחי המפה בקוד המלא)

זה עובד מצוין, אולם האריחים שהתקבלו (cropped_tile*.tif) מכסים כעת את אותו אזור גיאוגרפי של קובץ ה- shap, וכתוצאה מכך יש להם גדלי קבצים גדולים בהרבה (2.5M -> 64M). האם יש דרך לקצץ את אזורי האריחים הנמצאים מחוץ למצולע בקובץ הצורה מבלי לגרום לכל אריח לכסות את אותו אזור כמו הטופס עצמו?


אם הגיאוטיפים שלך גדלים כל כך הרבה זה כמעט בוודאי אומר שמקור המקור דחוס. עם הפקודה הנוכחית שלך הקבצים החתוכים אינם דחוסים.

אתה יכול לבדוק את שיטת הדחיסה שבה משתמשים בתמונות המקוריות שלך באמצעות gdalinfo http://www.gdal.org/gdalinfo.html. השתמש באותו או בחר את הדחיסה המועדפת עליך מתוך http://www.gdal.org/frmt_gtiff.html והוסף אפשרות יצירה-co לדחוס =לתוך הפקודה שלך gdalwarp. עם זאת, שים לב שחלק משיטות הדחיסה אינן מתאימות היטב לעיוות תמונות גדולות הנכתבות בהדרגה לתוך קובץ היעד. במיוחד עם דחיסת jpeg קצב הדחיסה לא יהיה אופטימלי כך ועדיף ליצור תחילה תמונה לא דחוסה עם gdalwarp ולדחס אותה עם gdal_translate מאוחר יותר.


צפו בסרטון: מניעת סרטן: כל מה שצריך לדעת