我正在使用 cartopy 绘制我的地图。它是一个很棒的工具!对于我的一些数据,我遇到的问题是数据未正确映射到 0deg 或日期线周围。请参见下面的示例。
我知道 matplotlib.basemap 中的相同功能,可以通过使用 add_cyclic 例程来解决。我想知道是否有人可以推荐如何在 cartopy 中最好地解决这个问题。
谢谢!
亚历克斯
我正在使用 cartopy 绘制我的地图。它是一个很棒的工具!对于我的一些数据,我遇到的问题是数据未正确映射到 0deg 或日期线周围。请参见下面的示例。
我知道 matplotlib.basemap 中的相同功能,可以通过使用 add_cyclic 例程来解决。我想知道是否有人可以推荐如何在 cartopy 中最好地解决这个问题。
谢谢!
亚历克斯
像这样绘制全局数据时,您总是需要在输入数据和坐标中添加一个循环点。我不相信 Cartopy 目前包含为您执行此操作的功能,但您暂时可以很简单地自己完成。假设您有一个 1d 经度数组和一个 2d 数据数组,其中第一个维度是纬度,第二个维度是经度:
import numpy as np
dlon = lons[1] - lons[0]
new_lons = np.concatenate((lons, lons[-1:] + dlon))
new_data = np.concatenate((data, data[:, 0:1]), axis=1)
如果您有不同形状的数据或坐标,则需要根据需要进行调整。
cartopy 开发团队已在开发分支中包含所需的功能。详情请看这里