我需要对 netCDF 文件中其他来源的几何图形执行一些几何运算。shapely.geometry.Polygon
因此,我将来自其他来源的几何 ( ) 存储在geopandas.GeoDataFrame
.
接下来是将netCDF
文件读入GeoDataFrame
. 方法似乎很清楚:读取netCDF
with xarray
,将其存储到 apandas.DataFrame
中,对提取的 lat/lon 数据执行shapely.geometry.Point
操作并将其转换为GeoDataFrame
.
之后,我会用几何算子做一些统计。
当我阅读netCDF
文件时xarray
(见这里)
import xarray as xr
dnc = xr.open_dataset(ff)
df = dnc.to_dataframe()
我明白了
>>>> dnc
<xarray.Dataset>
Dimensions: (lat: 16801, lon: 19201)
Coordinates:
* lat (lat) float32 -32.0 -31.9992 -31.9983 -31.9975 -31.9967 ...
* lon (lon) float32 -73.0 -72.9992 -72.9983 -72.9975 -72.9967 ...
Data variables:
hgt (lat, lon) int16 0 0 0 4 0 5 0 9 9 8 0 0 0 0 0 0 0 0 0 0 0 0 0 ...
>>> dnc.hgt.size
322596001
>>> dnc.lat.size
16801
>>> dnc.lon.size
19201
和
>>> df.head()
hgt
lat lon
-32.0 -73.000000 0
-72.999168 0
-72.998337 0
-72.997498 4
-72.996666 0
在和df
上没有访问权限。我也很难理解部分为空的列。所以我认为必须对和的每个组合执行。那正确吗?任何想法如何编码?lat
lon
lat
shapely.geometry.Point((lon, lat))
dnc
lon
lat