Python-Cartopy调用自带线上地图作为底图

本文介绍了如何使用Python的Cartopy库调用内置的Google、MapQuest、Stamen等线上地图服务作为底图进行绘图。Cartopy提供的地图服务包括影像、矢量和地形图,用户可以自定义选择或修改img_tiles.py文件以使用其他图层。示例代码展示了调用这些图层的方法,部分如Mapbox可能需要API账号。
摘要由CSDN通过智能技术生成

Cartopy自带的底图是有Google、MapQuest、Stamen、Mapbox、Quadtree等多家图层服务,提供影像、矢量和地形图,可作为绘图时的底图。可以在img_tiles.py文件中查看具体的实现形式。如:

GoogleWTS:

class GoogleWTS(metaclass=ABCMeta):
    """
    Implement web tile retrieval using the Google WTS coordinate system.

    A "tile" in this class refers to the coordinates (x, y, z).

    The tiles can be saved to a cache directory using the cache parameter, so
    they are downloaded only once. If it is set to True, the default path
    stored in the cartopy.config dictionary is used. If it is set to a custom
    path, this path is used instead of the default one. If it is set to False
    (the default behavior), the tiles are downloaded each time.

    """

MapQuestOSM:

class MapQuestOSM(GoogleWTS):
    # https://developer.mapquest.com/web/products/open/map for terms of use
    # https://devblog
  • 3
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
好的,很高兴为您解答。在学习Cartopy制图的第二步中,我们将探索如何在地图上添加标记和注释。 首先,我们需要导入Cartopy和Matplotlib的相关库: ``` import cartopy.crs as ccrs import matplotlib.pyplot as plt ``` 接下来,我们将创建一个带有注释和标记的地图。这里我们以美国为例: ``` # 创建一个以美国为中心的地图 ax = plt.axes(projection=ccrs.PlateCarree()) ax.set_extent([-130, -60, 20, 50], crs=ccrs.PlateCarree()) # 添加州边界线 states_provinces = cfeature.NaturalEarthFeature( category='cultural', name='admin_1_states_provinces_lines', scale='50m', facecolor='none') ax.add_feature(states_provinces, edgecolor='gray') # 添加湖泊和河流 lakes = cfeature.NaturalEarthFeature( category='physical', name='lakes', scale='50m', facecolor='none') ax.add_feature(lakes, edgecolor='blue') rivers = cfeature.NaturalEarthFeature( category='physical', name='rivers_lake_centerlines', scale='50m', facecolor='none') ax.add_feature(rivers, edgecolor='blue') # 添加城市标记 ax.plot(-75, 40, 'bo', markersize=7, transform=ccrs.PlateCarree()) ax.text(-75.5, 40.5, 'New York', transform=ccrs.PlateCarree()) # 添加注释 ax.text(-129, 22, 'USA', horizontalalignment='left', transform=ccrs.Geodetic()) ax.text(-100, 25, 'Great Lakes', horizontalalignment='center', transform=ccrs.PlateCarree()) ax.text(-98, 37, 'Mississippi River', horizontalalignment='center', transform=ccrs.PlateCarree()) plt.show() ``` 这段代码会绘制一个以美国为中心的地图,同时添加州边界线、湖泊和河流的标记和注释。其中,城市标记是以蓝色圆点的形式添加的,注释则是以文本的形式添加的。 这就是在Cartopy制图中添加标记和注释的基本方法。希望对您有所帮助!
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值