与 cartopy 一起使用时,上下颠倒映射
Posted
技术标签:
【中文标题】与 cartopy 一起使用时,上下颠倒映射【英文标题】:Contextily map upside down when used with cartopy 【发布时间】:2020-08-27 11:01:26 【问题描述】:将contextily 底图添加到以cartopy 投影的轴时,地图会上下颠倒。这是一个最小的例子:
import matplotlib.pyplot as plt
import cartopy
import contextily
# contextily & cartopy
fig, ax = plt.subplots()
ax = plt.axes(projection=cartopy.crs.Mercator())
ax.add_feature(cartopy.feature.COASTLINE)
ax.set_extent([-11,37,35,70])
contextily.add_basemap(ax)
以下代码生成正确的地图,但是没有 cartopy 特征:
# contextily
fig, ax = plt.subplots()
ax.set_xlim(-1163881, 4068715)
ax.set_ylim( 4118821,11118821)
contextily.add_basemap(ax)
cartopy 坐标系似乎存在一些投影问题。如何在地图上添加合适的底图?
【问题讨论】:
【参考方案1】:我也遇到了这个问题...不知道如何根据上下文来解决这个问题,但找到了使用内置 cartopy 方法 ax.add_wmts()
访问和绘制底图切片的解决方案。
url = 'http://map1c.vis.earthdata.nasa.gov/wmts-geo/wmts.cgi'
layer_name = 'BlueMarble_ShadedRelief_Bathymetry'
ax.add_wmts(url, layer_name, alpha = 0.9)
可以在here 找到其他层。只需要换掉layer_name
。
【讨论】:
谢谢,这是一个很好的解决方案,因为它还允许下载环境变量的实际卫星数据产品。请注意,它仅适用于owslib 0.19.2
或更高版本。【参考方案2】:
确保您拥有最新版本的 contextily (1.0.0) 和 cartopy (0.18.0),对我来说它工作正常:
使用您的确切代码,带有 cartopy 和上下文:
使用
>>> contextily.__version__
'1.0.0'
>>> cartopy.__version__
'0.18.0'
【讨论】:
以上是关于与 cartopy 一起使用时,上下颠倒映射的主要内容,如果未能解决你的问题,请参考以下文章