Python Dask TypeError: Cannot interpret '<geopandas.array.GeometryDtype object>' as a data type

Python Dask TypeError: Cannot interpret '<geopandas.array.GeometryDtype object>' as a data type

我正在尝试使用 DaskGeoPandas Geometry 类型。我执行以下操作:

sampel = dd.from_pandas(geo_data['geometry'], npartitions=5)

并得到一个 dask.dataframe.core.Series 看起来像这样:

path_id
252107318    LINESTRING (12813.000 10472.000, 13249.000 109...
252133674    LINESTRING (18662.000 103630.000, 17879.000 10...
252133710    LINESTRING (12374.000 103503.000, 12787.000 10...
252134520    LINESTRING (91560.000 102779.000, 91372.000 10...
252134720    LINESTRING (136141.000 105360.000, 136353.000 ...
Name: geometry, dtype: geometry

我尝试将 Linestrings 转换为 JSON 文件,但是当我这样做时:

sampel.map_partitions(lambda df: df.apply(lambda el: myfunc(el))).compute(scheduler='processes')

我收到错误消息 TypeError: Cannot interpret '<geopandas.array.GeometryDtype object as a data type

有人知道如何完成这项工作吗?还是无法使用 Geometry 输入 dask?

谢谢:)

将 dask 与 GeoPandas 结合使用的最佳方法是 dask-geopandas 项目,该项目负责处理数据类型和类似内容。它仍处于早期开发阶段,但已经允许您使用 DataFrame 和几何图形。有关详细信息,请参阅 https://github.com/jsignell/dask-geopandas