Skip to main content

A Fiona CLI plugin for buffering geometries.

Project description

https://travis-ci.org/geowurster/fio-buffer.svg?branch=master https://coveralls.io/repos/geowurster/fio-buffer/badge.svg?branch=master

A Fiona CLI plugin for buffering geometries in parallel. Powered by Shapely.

Usage

Usage: fio buffer [OPTIONS] INFILE OUTFILE

  Geometries can be dilated with a positive distance, eroded with a negative
  distance, and in some cases cleaned or repaired with a distance of 0.

  Examples
  --------

  Default settings - buffer geometries in the input CRS:

      $ fio buffer in.geojson out.geojson --distance 10

  Dynamically buffer geometries by a distance stored in the field
  'magnitude' and write as GeoJSON:

      $ fio buffer \
          in.shp \
          out.geojson \
          --driver GeoJSON \
          --distance magnitude

  Read geometries from one CRS, buffer in another, and then write to a
  third:

      $ fio buffer in.shp out.shp \
          --distance 10 \
          --buf-crs EPSG:3857 \
          --dst-crs EPSG:32618

  Control cap style, mitre limit, segment resolution, and join style:

      $ fio buffer in.geojson out.geojson \
          --distance 0.1 \
          --res 5 \
          --cap-style flat \
          --join-style mitre \
          --mitre-limit 0.1\

Options:
  --version                       Show the version and exit.
  -f, --format, --driver NAME     Output driver name.  Derived from the input
                                  datasource if not given.
  --cap-style [flat|round|square]
                                  Where geometries terminate, use this style.
                                  [default: round]
  --join-style [round|mitre|bevel]
                                  Where geometries touch, use this style.
                                  [default: round]
  --res INTEGER                   Resolution of the buffer around each vertex
                                  of the geometry.  [default: 16]
  --mitre-limit FLOAT             When using a mitre join, limit the maximum
                                  length of the join corner according to this
                                  ratio.  [default: 5.0]
  --distance FLOAT|FIELD          Buffer distance or field containing distance
                                  values.  Units match --buf-crs.  When
                                  buffering with a field, feature's with a
                                  null value are unaltered.  [required]
  --src-crs TEXT                  Specify CRS for input data.  Not needed if
                                  set in input file.
  --buf-crs TEXT                  Perform buffer operations in a different
                                  CRS. [default: --src-crs]
  --dst-crs TEXT                  Reproject geometries to a different CRS
                                  before writing.  Must be combined with
                                  --buf-crs. [default: --src-crs]
  --geom-type GEOMTYPE            Output layer's geometry type.  [default:
                                  MultiPolygon]
  --skip-failures                 Skip geometries that fail somewhere in the
                                  processing pipeline.
  --jobs CORES                    Process geometries in parallel across N
                                  cores.  Feature ID's and order are not
                                  preserved if more that 1 cores are used.
                                  [default: 1]
  --help                          Show this message and exit.

Installing

Via pip:

$ pip install fio-buffer

From source:

$ git clone https://github.com/geowurster/fio-buffer
$ cd fio-buffer
$ python setup.py install

Developing

$ git clone https://github.com/geowurster/fio-buffer
$ cd fio-buffer
$ virtualenv venv
$ source venv/bin/activate
$ pip install -e .[dev]
$ py.test tests --cov fio_buffer --cov-report term-missing

License

See LICENSE.txt.

Project details


Release history Release notifications

This version
History Node

0.1.1

History Node

0.1

Download files

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

Filename, size & hash SHA256 hash help File type Python version Upload date
fio-buffer-0.1.1.tar.gz (8.5 kB) Copy SHA256 hash SHA256 Source None Jul 22, 2015

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page