我一直在研究 cartopy 提供的快速自动地图选项。我发现 SRTMSource 非常方便。但是,我还没有找到如何使用不同的投影(如墨卡托)来绘制数据......
当我做:
import cartopy.crs as ccrs
import matplotlib.pyplot as plt
from cartopy.io.srtm import SRTM3Source
source = SRTM3Source
plt.figure()
ax = plt.axes(projection=ccrs.PlateCarree())
ax.add_raster(source())
ax.set_extent([12, 13, 47, 48])
plt.show()()
它工作得很好,并使用 PlateCarree 投影进行绘图
但是当我尝试将轴的投影更改为墨卡托时:
import cartopy.crs as ccrs
import matplotlib.pyplot as plt
from cartopy.io.srtm import SRTM3Source
source = SRTM3Source
plt.figure()
ax = plt.axes(projection=ccrs.Mercator())
ax.add_raster(source())
ax.set_extent([12, 13, 47, 48])
plt.show()()
我收到一条错误消息:
Unsupported projection for the SRTM3 source.
那么有没有办法保持 SRTMSource 功能(自动下载)并使用任何投影绘制栅格?
我想简单地做一个 imshow 并更改投影,但是由于在绘图时检索了 RasterSource 的数据,我不知道该怎么做......
plt.figure()
ax = plt.axes(projection=ccrs.Mercator())
ax.imshow(source(), transform=ccrs.Mercator())
ax.set_extent([12, 13, 47, 48])
plt.show()
返回一个类型错误。