This is a pre-production deployment of Warehouse, however changes made here WILL affect the production instance of PyPI.
Latest Version Dependencies status unknown Test status unknown Test coverage unknown
Project Description

# Overview

pyspatial is python package to provide data structures on top of gdal/ogr. It’s core use cases have been around simplifying geospatial data science workflows in Python. The 3 core data stuctures are:

  • VectorLayer: a collection of geometries with pandas like manipulation. Each geometry is an osgeo.ogr.Geometry object. For an object reference see [http://gdal.org/python/].
  • RasterDataset: an abstraction of a spatial raster (both tiled on untiled) to support querying of pixels that intersect with shapes.
  • RasterBand: a numpy array representation of a raster with spatial metadata (in memory only, no tiled support).

pyspatial makes it easy to read, analyze, query, and visualize spatial data in both vector and raster form. It brings the familiarity of pandas to working with vector data, and provides querying capability similar to PostGIS for both vector and raster data. Since it uses GDAL for much of the computations, the performance is quite good. Based on the authors’ experience, the performance has been significantly better than PostGIS, and orders of magnitude faster than similar libraries in R.

## Library Highlights
  • Battle tested: we use it for our day-to-day work, and for processing all the data behind AcreValue. In fact, all of our PostGIS workflows have been migrated to pyspatial.
  • Read/write both raster and vector data (including support for http/s3 sources). Also convert to/from shapely/gdal/ogr/numpy objects seamlessly.
  • Fast spatial queries since it leverages GDAL and libspatialindex/RTree. For extracting vector data from a raster, the library is 60x - 100x faster than R.
  • Integration of vector/raster data structures to make interoperation seamless.
  • Pandas like API for working with collections of geometries.
  • First class support for spatial projections. The data structures are spatial projection aware, and allow you to easily transform between projections.
  • When performing operations between data sources, the data will automatically be reprojected intelligently. No more spatial projection management!
  • Integrated interactive visualization within IPython (via Leaflet). Plots markers, geometries, and choropleths too!

# Examples

http://nbviewer.jupyter.org/github/granularag/pyspatial/tree/master/examples/

# Development

  • Python code: pip install -e /path/to/pyspatial
  • Cython code: python setup.py build_ext –inplace
  • Tests: nosetests -v

# Known Issues

  • In ogr, when you get the centroid of a geometry (e.g. cent = my_geometry.Centroid()), cent does not inherit the spatial reference. It needs to be reassigned using cent.AssignSpatialReference(my_geometry.GetSpatialReference())
  • VectorLayer object does not support a Float64Index
  • If you encouter: * “TypeError: object of type ‘Geometry’ has no len()”, most likely you have duplicate values in your index. Make sure your index is unique.

# Contributors

  • Aman Thakral (Lead, github: aman-thakral)
  • Josh Daniel (github: joshdaniel)
  • Chris Seifert (github: caseifert)
  • Ron Potok (github: rpotok)
  • Sandra Guteg (github: guetgs)
  • Emma Fuller (github: emfuller)
Release History

Release History

0.1.4

This version

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.1.3

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.1.2

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.1.1

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.1.0

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

Download Files

Download Files

TODO: Brief introduction on what you do with files - including link to relevant help section.

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
pyspatial-0.1.4.tar.gz (96.2 kB) Copy SHA256 Checksum SHA256 Source Apr 11, 2016

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS HPE HPE Development Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting