[英]Given a Geopandas GeoDataFrame with several geometry columns: How to calculate the distances to a main geometry column?
[英]dask_geopandas: GeoDataFrame with only geometry column
使用geopandas
可以做到:
from shapely.geometry import Point
import geopandas as gpd
points = [Point(0,0)]
gser = gpd.GeoSeries(points)
gdf = gpd.GeoDataFrame(geometry=gser.values)
如果我有一個dask_geopandas.GeoSeries
dask_geopandas
的等效行是什么? 似乎不能直接使用dask_geopandas.GeoDataFrame
構造函數,必須依賴靜態方法,但看不到任何合適的方法。
編輯:
澄清一下:我有一個dask_geopandas.GeoSeries
(沒有geopandas.GeoSeries
任何地方),我怎么能創建一個dask_geopandas.GeoDataFrame
只包含一個列,一個幾何列,其值來自dask_geopandas.GeoSeries
?
不起作用的片段:
dgser # is a dask_geopandas.GeoSeries
dgdf = dask_geopandas.GeoDataFrame(geometry=dgser.values)
我認為這個用例已經被 dask 系列的to_frame()
方法覆蓋了。
dask_geodataframe = dask_series.to_frame()
這應該足夠了,不需要通過 vanilla dask dataframe 的路徑。
一種選擇是使用from_geopandas
:
from dask_geopandas import from_geopandas
from shapely.geometry import Point
from geopandas import GeoSeries, GeoDataFrame
points = [Point(0,0)]
gser = GeoSeries(points)
gdf = GeoDataFrame(geometry=gser.values)
dgdf = from_geopandas(gdf, npartitions=1)
我想通了(雖然我希望有一個內置的方法):
dgser # is a dask_geopandas.GeoSeries
ddf = dgser.to_dask_dataframe()
ddf.columns = ["geometry"]
dgfg = dask_geopandas.from_dask_dataframe(ddf)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.