如何将 xarray DataArray 转换为 geopandas GeoDataFrame

问题描述

在 xarray 中有一个方法叫做 to_dataframe(),见:

http://xarray.pydata.org/en/stable/pandas.html

使用此方法可以将 DataArray 转换为 Pandas DataFrame。

如何将 xarray DataArray 转换为 geopandas GeoDataFrame,就像上面那样,但网格单元包含多边形?

解决方法

此代码将创建一个带有几何列的 GDF,其中包含与我的 xarray 中的纬度/经度坐标相对应的一系列 POINT 对象。

import geopandas as gpd
import xarray as xr

xds = xr.open_dataset('yourfile.nc')
xarr = x['value_column']
df = xarr.to_dataframe().reset_index()

gdf = gpd.GeoDataFrame(
    df.value_column,geometry=gpd.points_from_xy(df.lon,df.lat))