Saya mencoba merencanakan peta raster menggunakan Pyhton. Gambar tidak disimpan, meskipun muncul. Selain itu, piksel tidak muncul di tempat yang tepat. Saya mendapatkan gambar seperti yang ditunjukkan di bawah ini (yang SALAH, namun, pelabelan lat-lon benar.)
Di bawah ini adalah orientasi yang benar, yang telah saya ekspor dari ArcGIS.
Ada beberapa kesalahan dalam menempatkan piksel di lokasi yang benar, tapi saya tidak mengerti. Bagaimana cara memperbaikinya?
Ini skrip saya.
from mpl_toolkits.basemap import Basemap
import matplotlib.pyplot as plt
from osgeo import gdal
from numpy import linspace
from numpy import meshgrid
import numpy as
#################################################################################
ds = gdal.Open('Path\\To\\Raster.tif')
data = ds.ReadAsArray()
gt = ds.GetGeoTransform()
proj = ds.GetProjection()
#################################################################################
xres = gt[1]
yres = gt[5]
xmin = gt[0] + xres * 0.5
xmax = gt[0] + (xres * ds.RasterXSize) - xres * 0.5
ymin = gt[3] + (yres * ds.RasterYSize) + yres * 0.5
ymax = gt[3] - yres * 0.5
x_center=(xmin+xmax)/2
y_center=(ymin+ymax)/2
#################################################################################
fig = plt.figure(figsize=(18, 10))
ax = fig.add_subplot(111, axisbg='w', frame_on=True)
m = Basemap(llcrnrlon=xmin,llcrnrlat=ymin,urcrnrlon=xmax,urcrnrlat=ymax,
projection='tmerc', lat_0 = y_center, lon_0 = x_center)
parallels = np.arange(15.,30.,0.25)
m.drawparallels(parallels,labels=[1,0,0,0],fontsize=12, linewidth=0.4)
meridians = np.arange(70.,90.,0.25)
m.drawmeridians(meridians,labels=[0,0,0,1],fontsize=12, linewidth=0.4)
x = linspace(0, m.urcrnrx, data.shape[1])
y = linspace(0, m.urcrnry, data.shape[0])
xx, yy = meshgrid(x, y)
m.pcolormesh(xx, yy, data, cmap=plt.cm.jet)
plt.show()
plt.savefig('Path\\To\\Save_Image.png', bbox_inches='tight', pad_inches=.2, dpi=600)
pcolormesh
dengan imshow
itu mengatakan NameError: nama 'imshow' tidak didefinisikan Cara menggunakan `imshow 'di sini? @countryman
imshow
bukanpcolormesh
? Dibutuhkan sudut berbeda sebagai asal gambar secara default.