如何用python绘制特定区域(lat/lon)的geotiff数据

2024-04-26 12:33:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个geotiff光栅数据集,其中包含高程数据in it,我想在特定区域绘制它,例如60°E-70°E,70°S-80°E

我有一些来自here的代码,但是pcolormesh似乎无法绘制我的geotif。它都是红色的。picture。图片由imshow显示为really picture

当我试图用下面的代码绘图时:

path = "F:\\Mosaic_h1112v28_ps.tif"
dataset = gdal.Open(path)
data = dataset.ReadAsArray()
x0, dx, dxdy, y0, dydx, dy = dataset.GetGeoTransform()
nrows, ncols = data.shape
londata = np.linspace(x0, x0+dx*ncols)
latdata = np.linspace(y0, y0+dy*nrows)
lons, lats = np.meshgrid(lonarray, latarray)  
fig = plt.figure(figsize=(8, 8))
m = Basemap(projection='lcc', lon_0=67.5, lat_0=-68.5, height=950000,
            width=580000, resolution='h') 
m.drawcoastlines() 
x, y = m(lons, lats) 

那我就不知道怎么继续下去了。我只想使用imshow,但是imshow没有指定区域(lat/lon)。

我将非常感谢你的帮助。


Tags: 数据path代码区域datanp绘制dataset