Skip to main content

Pythonic geodatabases for spatial data analysis

Project description

PyPI - Version PyPI Downloads PyPI - Python Version Conda - Version License: MIT Pixi uv

GitHub Actions Workflow Status: Linux GitHub Actions Workflow Status: Windows GitHub Actions Workflow Status: macOS GitHub Actions Workflow Status: Black Test Coverage GitHub Actions Workflow Status: Test Python Prerelease: Test Python Prerelease

footbridge

Introduction

footbridge 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 footbridge as ft

# Explore an existing dataset

>>> gdb_file = "spam_and_eggs.gdb"
>>> ft.list_datasets(gdb_file)
{'egg_dataset': ['eggs_fc', 'bad_eggs_fc'],
{'spam_dataset': ['spam_fc'],
 None: ['ham_fc']}

# Load a feature class, the underlying data object is a GeoPandas GeoDataFrame

>>> fc = ft.FeatureClass("spam_and_eggs.gdb/egg_dataset/eggs_fc")
>>> type(fc.gdf)
<class 'geopandas.geodataframe.GeoDataFrame'>

# Assemble a new geodatabase in memory

>>> gdb = ft.GeoDatabase()
>>> gdb['good_egg_dataset'] = ft.FeatureDataset()
>>> gdb['good_egg_dataset']['eggs_fc'] = ft.FeatureClass("spam_and_eggs.gdb/eggs_fc")

# Save geodatabase to disk

>>> gdb.save("good_eggs.gdb")
>>> ft.list_datasets("good_eggs.gdb")
{'good_egg_dataset': ['eggs_fc'], None: []}

Getting Started

About

footbridge 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, footbridge 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.

Notes

  • ⚠️ This project is under active development and things may change without notice. The first stable version is planned to be v1.1.0. Feedback, suggestions, and questions are welcomed in the Issues section.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

footbridge-1.0.10.tar.gz (213.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

footbridge-1.0.10-py3-none-any.whl (19.8 kB view details)

Uploaded Python 3

File details

Details for the file footbridge-1.0.10.tar.gz.

File metadata

  • Download URL: footbridge-1.0.10.tar.gz
  • Upload date:
  • Size: 213.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for footbridge-1.0.10.tar.gz
Algorithm Hash digest
SHA256 0cb79fe631c47340880308abeb2b2b56f82a3f580a3444d8e994597ad419ca0f
MD5 f0dcf8f02501125a202add8b5bbc2224
BLAKE2b-256 5448b4bfa9946625eee0ddca33e79b799cfc0678f2ecdb167a2de6e2fba4c162

See more details on using hashes here.

Provenance

The following attestation bundles were made for footbridge-1.0.10.tar.gz:

Publisher: pypi-publish.yml on corbel-spatial/footbridge

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file footbridge-1.0.10-py3-none-any.whl.

File metadata

  • Download URL: footbridge-1.0.10-py3-none-any.whl
  • Upload date:
  • Size: 19.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for footbridge-1.0.10-py3-none-any.whl
Algorithm Hash digest
SHA256 1c9c21d34dd6d3b77539756d6a492b9c2b7654a0a60239c194b420236740c045
MD5 5a8c9e007182146365d21bc77e0f9399
BLAKE2b-256 82c672d42b927542cbc0acf6a5254f64b68d084b657c7ba3057fe1eb46b8ae8f

See more details on using hashes here.

Provenance

The following attestation bundles were made for footbridge-1.0.10-py3-none-any.whl:

Publisher: pypi-publish.yml on corbel-spatial/footbridge

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page