יותר

GDAL SetGeoTransform אינו פועל כצפוי

GDAL SetGeoTransform אינו פועל כצפוי


שום שינוי לא נראה לעין לאחר השימושSetGeoTransformלמערך הנתונים שנפתח מקובץ * .tiff:

ds = gdal. פתח (שם קובץ, GA_ReadOnly) # פתח את ערכת נתוני הרסטר geo_transform = (0.3,10,30, -10,80, -1) # מספרים אקראיים / שרירותיים שלמים ds.SetGeoTransform (geo_transform) cols = ds.RasterXSize שורות = ds.RasterYSize band = ds.GetRasterBand (1) data = band.ReadAsArray (0,0, cols, שורות)

עם זממה, אני מקבל את אותן התוצאות כמו מזימה ללא השינוי:

plt.imshow (data, interpolation = "הקרוב", vmin = 0, cmap = plt.cm.gist_earth) plt.savefig ('question.png ">

התחביר של שלך geo_transform שגוי (מסיבה זו "שום שינוי אינו גלוי") אך עם פרמטרים אלה ("מספרים אקראיים / שרירותיים מלאים") ככל הנראה QGIS הוא ייסגר (אם תשתמש במסוף הפייתון שלו). אתה צריך להשתמש geo_transform עם ההנחיות הבאות:

העברה גיאוגרפית [0] = שמאל למעלה x טרנספורמציה גיאוגרפית [1] = רזולוציית פיקסל w-e גיאוגרפית [2] = 0 גיאוגרפית טרנספורמציה [3] = טרנספורמציה גיאוגרפית משמאל למעלה [4] = 0 טרנספורמציה גיאוגרפית [5] = רזולוציית פיקסל n-s (ערך שלילי)

התחביר הנכון, למשל רזולוציית רסטר של 30 x 30 (במטרים), היא תהיה:

geotransform = ([your_top_left_x, 30, 0, your_top_left_y, 0, -30])

באמצעות סוגריים מרובעים בסימון הרשימה עבור ששת הפרמטרים.


יתכן שקובץ ה- tiff שנפתח לא נשמר מידע גיאוגרפי ולכן לטרנספורמציה עליו לא תהיה שום השפעה.


צפו בסרטון: Install GDAL in Python