我正在从底图迁移到 Cartopy,并希望在有限的区域内以高分辨率绘制海底地形。在底图中,我使用 ETOPO1_Ice_g_gmt4.grd 并根据我在某处找到的文档将其转换为地图坐标。我不知道如何为 Cartopy 做到这一点。任何人都可以帮忙吗?干杯,孙杰
更新:底图中的代码
地图 = 底图(投影 = 'merc',llcrnrlat = 67.2,urcrnrlat = 69.5,\
llcrnrlon = 8,urcrnrlon = 16.5,lat_ts = 67.5,)
topoFile = nc.NetCDFFile('/home/sunnje/data/ETOPO1_Ice_g_gmt4.grd','r')
topoLons = topoFile.variables['x'][:]
topoLats = topoFile.variables['y'][:]
topoZ = topoFile.variables['z'][:]
# transform to nx x ny regularly spaced 1km native projection grid
nx = int((map.xmax - map.xmin)/1000.)+1
ny = int((map.ymax - map.ymin)/1000.)+1
topodat = map.transform_scalar(topoZ,topoLons,topoLats,nx,ny)
tyi = np.linspace(map.ymin,map.ymax,topodat.shape[0])
txi = np.linspace(map.xmin,map.xmax,topodat.shape[1])
ttxi, ttyi = np.meshgrid(txi,tyi)
cm = map.contour(ttxi, ttyi, topodat)