1

我有一个经纬度坐标对的 Nx2 矩阵spatial_data,并且我在这些坐标处有一组测量值。

我想在地球仪上绘制这些数据,并且我知道 Basemap 可以做到这一点。我找到了这个链接,如果你有笛卡尔坐标,它显示了如何绘制数据。是否存在将纬度、经度转换为笛卡尔坐标的功能?或者,有没有办法只用纬度、经度信息来绘制这些数据?

4

1 回答 1

2

你可以使用cartopy:

import numpy as np
import matplotlib.pyplot as plt
from cartopy import crs

# a grid for the longitudes and latitudes
lats = np.linspace(-90, 90, 50)
longs = np.linspace(-180, 180, 50)
lats, longs = np.meshgrid(lats, longs)

# some data
data = lats[1:] ** 2 + longs[1:] ** 2

fig = plt.figure()

# create a new axes with a cartopy.crs projection instance
ax = fig.add_subplot(1, 1, 1, projection=crs.Mollweide())

# plot the date
ax.pcolormesh(
    longs, lats, data,
    cmap='hot',
    transform=crs.PlateCarree(),  # this means that x, y are given as longitude and latitude in degrees
)
fig.tight_layout()
fig.savefig('cartopy.png', dpi=300)

结果: 结果

于 2015-11-17T23:14:46.700 回答