Skip to main content

Switch between spatial fileformats.

Project description

Documentation Status PyPI Status CI Test Coverage

Documentation

Features

  • Command line utility for easy transformations between geodata/spatial filetypes.

  • Python functions with documentation for direct usage.

    • This is my own main use case: A package with all basic geopandas file loads and saves bundled.

  • Uses Python pathlib for cross-platform path handling.

Support

Currently supports:

All file formats supported by geopandas can be implemented.

Dependencies

  • geopandas for transforming between geodata filetypes which in turn uses fiona (that uses GDAL).

  • click for command line integration.

Alternatives

The GDAL tool ogr2ogr is a much more sophisticated command-line tool for converting between spatial file formats.

Geopandas by itself supports many more spatial file formats. For more advanced use cases when interacting with Python I recommend just using geopandas.

Fiona provides a command-line interface fio. fio.

Installation

  • PyPi

pip install geotrans
  • poetry for development

git clone https://github.com/nialov/geotransform.git
cd geotransform
poetry install

Using geotransform

Command line

Run

geotrans --help

to print the command line help for the utility.

To transform from a geopackage file with a single layer to an ESRI shapefile:

geotrans input_file.gpkg --to_type shp --output output_file.shp

To transform from a geopackage file with multiple layers to multiple ESRI shapefiles into a given directory:

geotrans input_file.gpkg --to_type shp --output output_dir

Python

All main functions in charge of loading and saving geodata files are exposed in the transform.py file in the geotrans package.

from geotrans.transform import load_file, save_files, SHAPEFILE_DRIVER
from pathlib import Path

# Your geodata file
filepath = Path("input_file.gpkg")

# load_file returns a single or multiple geodataframes depending
# on how many layers are in the file.
geodataframes, layer_names = load_file(filepath)

# Assuming geopackage contained only one layer ->
# Save acquired geodataframe and layer
save_files(geodataframes, layer_names, [Path("output_file.shp")], SHAPEFILE_DRIVER)

License

  • This project is licensed under the terms of the MIT license.

Copyright © 2020, Nikolas Ovaskainen.

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

geotrans-0.0.5.tar.gz (8.8 kB view details)

Uploaded Source

Built Distribution

geotrans-0.0.5-py3-none-any.whl (8.4 kB view details)

Uploaded Python 3

File details

Details for the file geotrans-0.0.5.tar.gz.

File metadata

  • Download URL: geotrans-0.0.5.tar.gz
  • Upload date:
  • Size: 8.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.3 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.0 CPython/3.9.6

File hashes

Hashes for geotrans-0.0.5.tar.gz
Algorithm Hash digest
SHA256 d3b562bf02586e538797fd93d03b71c19632b10661e70225be86f13927bd3ebe
MD5 e785de4caecb4771980e1de8afa1b244
BLAKE2b-256 864a377940c610158db9e635e7d156943b71b1b9e136e837fd2645725833a1df

See more details on using hashes here.

File details

Details for the file geotrans-0.0.5-py3-none-any.whl.

File metadata

  • Download URL: geotrans-0.0.5-py3-none-any.whl
  • Upload date:
  • Size: 8.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.3 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.0 CPython/3.9.6

File hashes

Hashes for geotrans-0.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 22c285b7b8c8add95f82f5adb01c5c7ae0fdc317386820e1893d48724fe01317
MD5 692318774c97942eabc0ce479b4ef66c
BLAKE2b-256 6c2a0c58755581b99bd4793e74b82f85e0222da78cedd9ef0a6c350fa5bf870a

See more details on using hashes here.

Supported by

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