Skip to main content

PostGIS Python tools

Project description

plpygis is a Python tool that can convert a PostGIS geometry into an equivalent WKB, EWKB, GeoJSON or Shapely geometry. plpygis is intended for use in PostgreSQL PL/Python functions.

Basic usage

The Geometry class and its subclasses can be used to convert to and from PostGIS geometries. The following example will take a PostGIS multipolygon geometry named geom and find its largest component polygon.

Geometry() can convert a PostGIS geometry that has been passed as a parameter to a PL/Python function. A Geometry that is returned from the PL/Python function will automatically be converted back to a PostGIS geometry.

CREATE OR REPLACE FUNCTION largest_poly(geom geometry)
  RETURNS geometry
AS $$
  from plpygis import Geometry
  polygons = Geometry(geom)
  if polygons.type == "Polygon":
      return polygons
  elif polygons.type == "MultiPolygon":
      largest = max(polygons.shapely, key=lambda polygon: polygon.area)
      return Geometry.from_shapely(largest)
  else:
      return None
$$ LANGUAGE plpython3u;

This can then be called as part of an SQL query:

SELECT largest_poly(geom) FROM countries;

Documentation

Full plpygis documentation is available at http://plpygis.readthedocs.io/.

Documentation Status Continuous Integration

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

plpygis-0.2.2.tar.gz (37.5 kB view details)

Uploaded Source

File details

Details for the file plpygis-0.2.2.tar.gz.

File metadata

  • Download URL: plpygis-0.2.2.tar.gz
  • Upload date:
  • Size: 37.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.8

File hashes

Hashes for plpygis-0.2.2.tar.gz
Algorithm Hash digest
SHA256 f54976b4d367e68652db904842ed9e4c35f29618f75ff45ef81f5ccf92bf2d5b
MD5 10e9a69ec622f9dc8b3c5d3227bee8a0
BLAKE2b-256 b1e07ea25c9b8040141aa51ff7e82ce162d897e2d09fe7265a88b4ed38a242a8

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page