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
我正在尝试使用 Dask
和 GeoPandas
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。
我正在尝试使用 Dask
和 GeoPandas
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。