Towards more pythonic use of GeoDatabases
This project has been archived.
The maintainers of this project have marked this project as archived. No new releases are expected.
Project description
ouroboros
Introduction
ouroboros is a Python module that provides helpful functions and classes for manipulating spatial data stored in a File GeoDatabase.
The data (.gdb) are read from disk into memory as FeatureClass objects, using GeoPandas
under the hood for efficient analysis and easy conversion to other spatial data formats.
FeatureClass objects can exist on their own, or they can be grouped into FeatureDataset and GeoDatabase objects
which can be accessed like dictionaries. For example:
>>> import ouroboros as ob
# Explore an existing dataset
>>> gdb_file = "spam_and_eggs.gdb"
>>> ob.list_datasets(gdb_file)
{'egg_dataset': ['eggs_fc', 'bad_eggs_fc'],
{'spam_dataset': ['spam_fc'],
None: ['ham_fc']}
# Load a feature class and convert to GeoPandas
>>> fc = ob.FeatureClass("spam_and_eggs.gdb/egg_dataset/eggs_fc")
>>> gdf = fc.to_geodataframe()
>>> type(gdf)
<class 'geopandas.geodataframe.GeoDataFrame'>
# Assemble a new geodatabase in memory
>>> gdb = ob.GeoDatabase()
>>> gdb['good_egg_dataset'] = ob.FeatureDataset()
>>> gdb['good_egg_dataset']['eggs_fc'] = ob.FeatureClass("spam_and_eggs.gdb/eggs_fc")
# Save geodatabase to disk
>>> gdb.save("good_eggs.gdb")
>>> ob.list_datasets("good_eggs.gdb")
{'good_egg_dataset': ['eggs_fc'], None: []}
Getting Started
About
ouroboros is released under a permissive open source license, it builds on mature open source GIS projects like GDAL, and importantly it does not use Esri's arcpy. Therefore, ouroboros does not require any paid licenses and it runs on macOS and Linux as well as Windows.
The main goal of this project is to allow traditional GIS users working primarily in the Esri/ArcGIS ecosystem to take advantage of the features and speed offered by modern data science tools. Second, it will provide a no-cost and user-friendly way to convert geodatabases to open data formats. And along the way, this project aims to develop a suite of tools that align with pythonic design principles, and also bring a little more joy and beauty to the task of wrangling spatial data.
This project is under active development and beta releases will be provided for the time being. Feedback, suggestions, and questions are welcomed in the Issues section.
Notes
Tested on Python 3.10, 3.11, 3.12, and 3.13 on the latest Windows, Linux, and macOS (version info here).
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ouroboros_gis-1.0.0.tar.gz.
File metadata
- Download URL: ouroboros_gis-1.0.0.tar.gz
- Upload date:
- Size: 21.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2bd672efc8d603559a4693e042d516d146021f6330e0dba15a1e1e266a8a9244
|
|
| MD5 |
5b73d66ace77acf0d17542e69823fae9
|
|
| BLAKE2b-256 |
b92a134b56d75c50058d13c9eb7d9a7fcd0adbb04227ec735aa861cf8ac4bf32
|
Provenance
The following attestation bundles were made for ouroboros_gis-1.0.0.tar.gz:
Publisher:
pypi-publish.yml on corbel-spatial/ouroboros
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ouroboros_gis-1.0.0.tar.gz -
Subject digest:
2bd672efc8d603559a4693e042d516d146021f6330e0dba15a1e1e266a8a9244 - Sigstore transparency entry: 341243473
- Sigstore integration time:
-
Permalink:
corbel-spatial/ouroboros@f8e9158e6f479f60027ac2b0192bd035a64626eb -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/corbel-spatial
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi-publish.yml@f8e9158e6f479f60027ac2b0192bd035a64626eb -
Trigger Event:
release
-
Statement type:
File details
Details for the file ouroboros_gis-1.0.0-py3-none-any.whl.
File metadata
- Download URL: ouroboros_gis-1.0.0-py3-none-any.whl
- Upload date:
- Size: 15.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1fae375813021686a44bf1f0aaa5ce4e1b4f11cd23609aeca54603bae27c4a29
|
|
| MD5 |
be0e1d9518b40e5ffeaa679e6248c6cf
|
|
| BLAKE2b-256 |
f09b66e0c10e13a9d2f4e61403247fc051900a1f7f5ab242ad50d1733031df1a
|
Provenance
The following attestation bundles were made for ouroboros_gis-1.0.0-py3-none-any.whl:
Publisher:
pypi-publish.yml on corbel-spatial/ouroboros
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ouroboros_gis-1.0.0-py3-none-any.whl -
Subject digest:
1fae375813021686a44bf1f0aaa5ce4e1b4f11cd23609aeca54603bae27c4a29 - Sigstore transparency entry: 341243497
- Sigstore integration time:
-
Permalink:
corbel-spatial/ouroboros@f8e9158e6f479f60027ac2b0192bd035a64626eb -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/corbel-spatial
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi-publish.yml@f8e9158e6f479f60027ac2b0192bd035a64626eb -
Trigger Event:
release
-
Statement type: