【问题标题】:Contextily map upside down when used with cartopy与 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 坐标系似乎存在一些投影问题。如何在地图上添加合适的底图?

【问题讨论】:

    标签: python cartopy openmaptiles contextily


    【解决方案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'
    

    【讨论】:

      猜你喜欢
      • 2012-11-03
      • 2011-09-26
      • 1970-01-01
      • 2018-10-31
      • 2021-12-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多