Skip to main content

Bindings and utilities for EsriJSON

Project description

esrijson

Build Status

Introduction

This module is meant to build a bridge between GDAL __geo_interface__ property via Shapely. There is no concept of GeometryCollection in esrijson syntax, so there is only a limited support for this concept. Currently, we only take the first geometry and drop the rest. This library is heavily inspired by python-geojson.

Usage

import esrijson
from shapely import geometry

# Create an esrijson feature
feat = esrijson.Feature(geometry=geometry.Point(1, 4), attributes={'name': 'dummy', 'val': 1}, wkid=2056)
# Dump to json
dumped = esrijson.dumps(feat)
# Load to Feature back again
loaded = esrijson.loads(dumped)
print(loaded)
print(type(loaded))

>>> {'geometry': {'y': 4.0, 'x': 1.0}, 'spatialReference': {u'wkid': 2056}},'attributes': {u'name': u'dummy', u'val': 1}}
>>> <class 'esrijson.feature.Feature'>

# You can also transform an esri json like object into a shapely object
geom = esrijson.to_shape({"paths": [[[0.0, 0.0], [1.0, 1.0]], [[-1.0, 0.0], [1.0, 0.0]]]})
print(getattr(geom, '__geo_interface__')

>>> {'type': 'MultiLineString', 'coordinates': (((0.0, 0.0), (1.0, 1.0)), ((-1.0, 0.0), (1.0, 0.0)))}

# And of your do the same operation back again
esri_geom = esrijson.from_shape(geom)
print(esri_geom)
>>> {'paths': (((0.0, 0.0), (1.0, 1.0)), ((-1.0, 0.0), (1.0, 0.0)))}

ESRI specs references

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

esrijson-0.4.4.tar.gz (5.3 kB view details)

Uploaded Source

Built Distribution

esrijson-0.4.4-py3-none-any.whl (8.0 kB view details)

Uploaded Python 3

File details

Details for the file esrijson-0.4.4.tar.gz.

File metadata

  • Download URL: esrijson-0.4.4.tar.gz
  • Upload date:
  • Size: 5.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/50.1.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.7.2

File hashes

Hashes for esrijson-0.4.4.tar.gz
Algorithm Hash digest
SHA256 19b0443e8849184c7359dadfa8be8cb9d5b7d7ec6e6d73ec8ad4503acc2cb542
MD5 e14f4e10ee8ee0d1be0200097631f24d
BLAKE2b-256 1468eb660137deb8de6fe6dd85a673538992571368a7602fbeb0ecec52eb4391

See more details on using hashes here.

File details

Details for the file esrijson-0.4.4-py3-none-any.whl.

File metadata

  • Download URL: esrijson-0.4.4-py3-none-any.whl
  • Upload date:
  • Size: 8.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/50.1.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.7.2

File hashes

Hashes for esrijson-0.4.4-py3-none-any.whl
Algorithm Hash digest
SHA256 26ef946527f64b50d44386e843ad41b4cc3d5a5cff684a1cb91731a17295371b
MD5 5a0fa2c8af2e4b6c7a7cf7c0507e8119
BLAKE2b-256 8aa2b6a496c0a0556ef1ac520ab4ac58c3bd8db0aafefef9e66da0e36bf44f84

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