https://github.com/geofileops/geofileops
Python toolbox to process large geospatial vector files faster.
https://github.com/geofileops/geofileops
gdal geopackage geopandas geoprocessing geospatial-data geospatial-processing gis large-files python vector
Last synced: 7 months ago
JSON representation
Python toolbox to process large geospatial vector files faster.
- Host: GitHub
- URL: https://github.com/geofileops/geofileops
- Owner: geofileops
- License: bsd-3-clause
- Created: 2019-08-19T15:44:09.000Z (over 6 years ago)
- Default Branch: main
- Last Pushed: 2025-04-10T11:58:29.000Z (8 months ago)
- Last Synced: 2025-04-12T00:36:41.848Z (8 months ago)
- Topics: gdal, geopackage, geopandas, geoprocessing, geospatial-data, geospatial-processing, gis, large-files, python, vector
- Language: Python
- Homepage: https://geofileops.readthedocs.io/
- Size: 22.8 MB
- Stars: 128
- Watchers: 4
- Forks: 5
- Open Issues: 28
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.txt
- Citation: CITATION.cff
Awesome Lists containing this project
- Awesome-Geospatial - geofileops - Python toolbox to process large vector files faster. (Python)
README
# geofileops
[](https://github.com/geofileops/geofileops/actions/workflows/tests.yml?query=workflow%3ATests)
[](https://codecov.io/gh/geofileops/geofileops)
[](https://pypi.org/project/geofileops)
[](https://anaconda.org/conda-forge/geofileops)
[](https://zenodo.org/doi/10.5281/zenodo.10340100)
Geofileops is a python toolbox to process large vector files faster.
Most typical GIS operations are available: e.g.
[buffer](https://geofileops.readthedocs.io/en/stable/api/geofileops.apply.html#geofileops.buffer),
[dissolve](https://geofileops.readthedocs.io/en/stable/api/geofileops.apply.html#geofileops.dissolve),
[difference](https://geofileops.readthedocs.io/en/stable/api/geofileops.apply.html#geofileops.difference),
[intersection](https://geofileops.readthedocs.io/en/stable/api/geofileops.apply.html#geofileops.intersection),
[union](https://geofileops.readthedocs.io/en/stable/api/geofileops.apply.html#geofileops.union),...
The spatial operations are tested on geopackage and shapefile input files, but
geopackage is recommended as it will give better performance. General
[layer](https://geofileops.readthedocs.io/en/stable/reference.html#general-layer-operations)
and [file operations](https://geofileops.readthedocs.io/en/stable/reference.html#general-file-operations) can be used on the file formats supported by
[GDAL](https://gdal.org/).
The full documentation is available on [readthedocs](https://geofileops.readthedocs.io).
Different techniques are used under the hood to be able to process large files as fast
as possible:
* process data in batches
* subdivide/merge complex geometries on the fly
* process data in different passes
* use all available CPUs
The following chart gives an impression of the speed improvement that can be expected
when processing larger files. The [benchmarks](https://github.com/geofileops/geobenchmark)
typically use input file(s) with 500K polygons, ran on a Windows PC with 12 cores and include I/O.
