Skip to main content

Wrappers for fiona settings.

Project description

fiona-settings

Lightweight wrapper for fiona settings & schemas to make it a little easier to manipulate. Fiona includes a lot of "magic strings" representings GDAL drivers, CRS values, data types, and more. While it's all quite intuitive and relatively simple, I have always wished there was a neater way to manage them all, and so I wrote this.

install

Requires Python3.6+.

with pip:

pip install fiona-settings

from source:

git clone git@github.com:tomplex/fiona_settings.git
pip install fiona_settings/

examples

import fiona
from fiona_settings import Settings, Type, Driver, CRS

src = fiona.open('my_file.shp')
# from_collection copies the following settings from an already opened collection:
# - driver
# - schema
# - crs
# - encoding
settings = Settings.from_collection(src)
# add a string column with width 25
settings += ('my_column', Type.str(width=25))
settings += ('my_other_column', 'float')  # don't need to use Enum types
# Remove a column by name
settings -= 'column_i_dont_want'

# unpack the settings directly into the fiona.open() function
sink = fiona.open('my_output_file.shp', 'w', **settings)

# Override any option which would be copied with a kwarg. Either
# string or enum values will work.
new_settings = Settings.from_collection(src, driver=Driver.GeoJSON)
sink = fiona.open('my_file.geojson', 'w', **new_settings)

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

fiona_settings-0.1.0.tar.gz (5.4 kB view hashes)

Uploaded Source

Built Distribution

fiona_settings-0.1.0-py2.py3-none-any.whl (10.0 kB view hashes)

Uploaded Python 2 Python 3

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