You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Cartopy地图上绘制大规模简单经纬度-数值数据集?

基于Cartopy的大规模经纬度数据可视化方案

核心思路

针对6000+组经纬度-数值对,优先采用网格化插值+高斯平滑+Cartopy填色/散点叠加的方案,比shapely更适配这类散点数据的批量可视化,步骤清晰且效率更高。

具体实现步骤

1. 数据预处理:散点转规则网格

用scipy.interpolate.griddata将散点数据插值到规则经纬度网格,为后续平滑操作铺垫:

import numpy as np
import cartopy.crs as ccrs
import cartopy.feature as cfeature
import matplotlib.pyplot as plt
from scipy.interpolate import griddata
from scipy.ndimage import gaussian_filter

# 替换为你的真实numpy数组
lat = np.array([1, 2, 3, 4, 5])
lon = np.array([1, 2, 3, 4, 5])
data = np.array([0, 3, 1, 0, 0])

# 生成规则网格:根据数据经纬度范围设置密度,0.1度间隔可按需调整
lon_min, lon_max = lon.min(), lon.max()
lat_min, lat_max = lat.min(), lat.max()
lon_grid, lat_grid = np.meshgrid(np.linspace(lon_min, lon_max, 100), 
                                 np.linspace(lat_min, lat_max, 100))

# 插值到网格:立方插值平滑度最优,也可选线性/最近邻
grid_data = griddata((lon, lat), data, (lon_grid, lat_grid), method='cubic')

2. 高斯滤波平滑数据

用scipy.ndimage.gaussian_filter处理网格化后的数据,sigma参数控制平滑强度:

# sigma值越大平滑效果越强,建议根据数据分布调整在1-5之间
smoothed_data = gaussian_filter(grid_data, sigma=2)

3. Cartopy地图绘制

选择合适投影(如PlateCarree),绘制平滑填色图层,也可叠加原始散点作为参考:

# 初始化画布与投影
fig, ax = plt.subplots(figsize=(10, 8), subplot_kw={'projection': ccrs.PlateCarree()})

# 添加基础地图元素
ax.coastlines(linewidth=0.8)
ax.add_feature(cfeature.LAND, facecolor='#f0f0f0', edgecolor='black')

# 绘制平滑填色图,levels匹配data的0-100取值范围
contour_fill = ax.contourf(lon_grid, lat_grid, smoothed_data, 
                           levels=np.linspace(0, 100, 20),
                           cmap='viridis', transform=ccrs.PlateCarree())

# 可选:叠加原始经纬度点,用数值着色
ax.scatter(lon, lat, c=data, cmap='viridis', s=50, edgecolor='white',
           transform=ccrs.PlateCarree())

# 添加颜色条与标题
plt.colorbar(contour_fill, ax=ax, label='Data Value')
plt.title('Smoothed Geographic Data')
plt.show()

关键注意事项

  • 若数据存在缺失值,可先用np.nan_to_num处理,或选择method='nearest'插值减少空值
  • 网格分辨率和sigma参数需结合数据分布调整,避免过度平滑丢失关键细节
  • 超大规模数据可先做降采样,再插值网格化,提升运行效率

内容的提问来源于stack exchange,提问作者Kyle Gillett

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 02:52:25