大家好,在使用Python和Cartopy对气候数据进行可视化分析的过程中,有一个叫做循环点(cyclic point)的术语,它在地理空间栅格数据可视化领域中很重要。
1.循环点的定义和作用
有时,当我们试图绘制地理空间数据时,我们可能会在投影边缘遇到不连续(跳跃)。这通常是由于我们在地理空间数据集中存储经度数据的方式导致的。
假设我们有一组具有经度和纬度维度的数据。我们的经度从0°到359.9°(含),分辨率为0.1°(3600个值),纬度从-90°到90°(含),分辨率为0.1°(1801个值)。我们最终的数组形状为(1801, 3600)。
为什么我们的数据集不包含360度经度的值?答案很简单,因为360°经度与 0°经度相同。
现在,让我们尝试在cartopy地图上绘制数据。我们使用了可以从Climate Data Store下载的数据集,这是一个ERA5-Land从1950年到现在的月平均数据数据集。我们将使用带有cfgrib后端的xarray以grib格式加载此数据集,然后使用matplotlib可视化数据。
import xarray as xr
import cartopy.crs as ccrs
import matplotlib.pyplot as plt
import numpy as np
# 读取形状为(16, 1801, 3600)的数据集
# 选择第5个时间索引,以获得2D数组
# 将开尔文转换为摄氏度
ds = xr.open_dataset("data/era5_temperature.grib", engine="cfgrib")
ds = ds.isel(time=5) - 273.15
# 定义绘图函数
def plot_data(ds):
# 指定投影
proj = ccrs.PlateCarree()
# 用投影对象创建一个图和轴
fig, ax = plt.subplots(figsize=(16,9), subplot_kw={'projection': proj})

最低0.47元/天 解锁文章
6885

被折叠的 条评论
为什么被折叠?



