Skip to main content

A Python library for enforcing polygon ring winding order in GeoJSON

Project description

geojson-rewind

Build Status Coverage Status PyPI Version License Python Support

A Python library for enforcing polygon ring winding order in GeoJSON

The GeoJSON spec mandates the right hand rule:

A linear ring MUST follow the right-hand rule with respect to the area it bounds, i.e., exterior rings are counterclockwise, and holes are clockwise.

This helps you generate compliant Polygon and MultiPolygon geometries.

Installation

pip install geojson-rewind

Usage

>>> input = {
...     'geometry': {   'coordinates': [   [   [100, 0],
...                                            [100, 1],
...                                            [101, 1],
...                                            [101, 0],
...                                            [100, 0]]],
...                     'type': 'Polygon'},
...     'properties': {'foo': 'bar'},
...     'type': 'Feature'}
>>> from geojson_rewind import rewind
>>> output = rewind(input)
>>> import pprint
>>> pp = pprint.PrettyPrinter(indent=4)
>>> pp.pprint(output)
{   'geometry': {   'coordinates': [   [   [100, 0],
                                           [101, 0],
                                           [101, 1],
                                           [100, 1],
                                           [100, 0]]],
                    'type': 'Polygon'},
    'properties': {'foo': 'bar'},
    'type': 'Feature'}

Acknowledgements

geojson-rewind is a python port of Mapbox's javascript geojson-rewind package. Credit to Tom MacWright and contributors.

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

geojson-rewind-0.2.0.tar.gz (3.5 kB view details)

Uploaded Source

Built Distribution

geojson_rewind-0.2.0-py3-none-any.whl (3.7 kB view details)

Uploaded Python 3

File details

Details for the file geojson-rewind-0.2.0.tar.gz.

File metadata

  • Download URL: geojson-rewind-0.2.0.tar.gz
  • Upload date:
  • Size: 3.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/0.12.17 CPython/3.6.8 Linux/4.15.0-65-generic

File hashes

Hashes for geojson-rewind-0.2.0.tar.gz
Algorithm Hash digest
SHA256 212c10e8b675dd09749d837eef3d1fc958063f039836476d5266497302166ca9
MD5 9b8fbe5f0ac24fecc4aff3b03b28dfc6
BLAKE2b-256 5a9944ff477ae93490adcbf3cef96b863367db941f5c80eb7d673c9de930c269

See more details on using hashes here.

File details

Details for the file geojson_rewind-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: geojson_rewind-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 3.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/0.12.17 CPython/3.6.8 Linux/4.15.0-65-generic

File hashes

Hashes for geojson_rewind-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8d802b07dc211df0f826c18dfcbcdc4303ad02fbc98a5216ee7330d22aba0888
MD5 953d9be0fe415b63de286312783ad31f
BLAKE2b-256 f75b55fb64433477ebc983546e2d84ce04473b8750525dab67b2b18c6959a1ae

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