- Notifications
You must be signed in to change notification settings - Fork48
Parallel GeoPandas with Dask
License
geopandas/dask-geopandas
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Parallel GeoPandas with Dask
Dask-GeoPandas is a project merging the geospatial capabilities of GeoPandasand scalability of Dask. GeoPandas is an open source project designed to make working with geospatial data in Python easier. GeoPandas extends the datatypes used by pandas to allow spatial operations on geometric types.Dask provides advanced parallelism and distributed out-of-core computation with a dask.dataframe module designed to scalepandas. Since GeoPandas is an extension to the pandas DataFrame, the same way Dask scales pandas can also be applied to GeoPandas.
This project is a bridge between Dask and GeoPandas and offers geospatial capabilities of GeoPandas backed by Dask.
See the documentation onhttps://dask-geopandas.readthedocs.io/en/latest/
This package depends on Shapely, GeoPandas and Dask.
One way to install all required dependencies is to use theconda
package manager tocreate a new environment:
conda create -n geo_envconda activate geo_envconda config --env --add channels conda-forgeconda config --env --set channel_priority strictconda install dask-geopandas
Given a GeoPandas dataframe
importgeopandasdf=geopandas.read_file('...')
We can repartition it into a Dask-GeoPandas dataframe:
importdask_geopandasddf=dask_geopandas.from_geopandas(df,npartitions=4)
The familiar spatial attributes and methods of GeoPandas are also availableand will be computed in parallel:
ddf.geometry.area.compute()ddf.within(polygon)