Skip to main content

Pyscopg helpers to work with PostGIS.

Project description

[![Circle CI](https://circleci.com/gh/yohanboniface/psycopg-postgis.svg?style=svg)](https://circleci.com/gh/yohanboniface/psycopg-postgis)

# psycopg-postgis

PostGIS helpers for psycopg2.

## Install

Not pypi release yet:

pip install git+https://github.com/yohanboniface/psycopg-postgis

You can first install cython to have a compiled version:

pip install cython

## Usage

You need to register the extension:

> import postgis > postgis.register(mydatabase.get_cursor())

Then you can pass python geometries instance to psycopg:

> cursor.execute(‘INSERT INTO table (geom) VALUES (%s)’, [Point(x=1, y=2, srid=4326)])

And retrieve data as python geometries instances:

> cursor.execute(‘SELECT geom FROM points LIMIT 1’) > geom = cursor.fetchone()[0] > geom <Point POINT(1.0 2.0)>

## Example

> import psycopg2 > from postgis import register, LineString > db = psycopg2.connect(dbname=”test”) > cursor = db.cursor() > register(cursor) > cursor.execute(‘CREATE TABLE IF NOT EXISTS mytable (“geom” geometry(LineString) NOT NULL)’) > cursor.execute(‘INSERT INTO mytable (geom) VALUES (%s)’, [LineString([(1, 2), (3, 4)], srid=4326)]) > cursor.execute(‘SELECT geom FROM mytable LIMIT 1’) > geom = cursor.fetchone()[0] > geom <LineString LINESTRING(1.0 2.0, 3.0 4.0)> > geom[0] <Point POINT(1.0 2.0)> > geom.coords ((1.0, 2.0), (3.0, 4.0)) > geom.geojson {‘coordinates’: ((1.0, 2.0), (3.0, 4.0)), ‘type’: ‘LineString’} > str(geom.geojson) ‘{“type”: “LineString”, “coordinates”: [[1, 2], [3, 4]]}’

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

psycopg-postgis-0.1.1.tar.gz (5.9 kB view details)

Uploaded Source

File details

Details for the file psycopg-postgis-0.1.1.tar.gz.

File metadata

File hashes

Hashes for psycopg-postgis-0.1.1.tar.gz
Algorithm Hash digest
SHA256 10622b1d5b9ce4e4405af938a0633e2691ddf27cf853ce0e50b116a391705ccd
MD5 5defec3d9ada36e3a313eb19aaf78791
BLAKE2b-256 7adb4e5eedbd35a817ad00728bcbc3accd42e39786deddb58b6612504b416b90

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