将底图投影作为 numpy 数组
Getting a Basemap projection as a numpy array
这一定是可行的,但我不确定如何处理它。
我有一个地理域,其中包含一定数量的纬度和经度。使用这些,我能够绘制域的简单底图:
fp_mhd = name.footprints('path/to/file')
domain_lon = fp_mhd.lon
domain_lat = fp_mhd.lat
### Construct Basemap ###
m = Basemap(resolution='c',projection='gall',
llcrnrlat=(np.min(domain_lat)),
urcrnrlat=(np.max(domain_lat)),
llcrnrlon=(np.min(domain_lon)),
urcrnrlon=(np.max(domain_lon)))
我需要的是在这个域内以某种方式区分国家和海洋,并将结果作为数组返回,即 1 代表陆地,0 代表海洋(尽管这些值无关紧要)。该数组需要是二维的,其中每个点对应于特定的纬度和经度。所以说有 100 lats 和 200 lons,就会有 20000 个 1 和 0。我想知道是否有某种方法可以将 Basemap 对象转换为数组,但未能实现。可能吗?
提前致谢!
看看下面的函数。您应该能够提取掩码,因为它 returns 是一个 numpy 掩码数组。
.mask returns 一个布尔数组。
mpl_toolkits.basemap.maskoceans(lonsin, latsin, datain, inlands=True,
resolution='l', grid=5)
returns a masked array the same shape as datain with “wet” points
masked.
这一定是可行的,但我不确定如何处理它。
我有一个地理域,其中包含一定数量的纬度和经度。使用这些,我能够绘制域的简单底图:
fp_mhd = name.footprints('path/to/file')
domain_lon = fp_mhd.lon
domain_lat = fp_mhd.lat
### Construct Basemap ###
m = Basemap(resolution='c',projection='gall',
llcrnrlat=(np.min(domain_lat)),
urcrnrlat=(np.max(domain_lat)),
llcrnrlon=(np.min(domain_lon)),
urcrnrlon=(np.max(domain_lon)))
我需要的是在这个域内以某种方式区分国家和海洋,并将结果作为数组返回,即 1 代表陆地,0 代表海洋(尽管这些值无关紧要)。该数组需要是二维的,其中每个点对应于特定的纬度和经度。所以说有 100 lats 和 200 lons,就会有 20000 个 1 和 0。我想知道是否有某种方法可以将 Basemap 对象转换为数组,但未能实现。可能吗?
提前致谢!
看看下面的函数。您应该能够提取掩码,因为它 returns 是一个 numpy 掩码数组。
.mask returns 一个布尔数组。
mpl_toolkits.basemap.maskoceans(lonsin, latsin, datain, inlands=True, resolution='l', grid=5)
returns a masked array the same shape as datain with “wet” points masked.