Geopandas PostGIS connection

mweber picture mweber · Apr 20, 2016 · Viewed 10k times · Source

I recently started using Geopandas in python for some of my spatial work and am very pleased with it - I'm currently trying to read in PostGIS features and don't quite understand how to parameterize the database connection, and it didn't seem clear in the documentation:

GeoDataFrame.from_postgis(sql, con, geom_col='geom', crs=None, index_col=None, 
    coerce_float=True, params=None)

This is likely a very simple question, all I wanted to know is what needs to go in 'con' - I assume a string with database connection information? But in what format? Setting 'sql' seems straightforward. Any help greatly appreciated - thanks!

Answer

Catalin picture Catalin · Nov 8, 2016

Example:

import geopandas as gpd

import psycopg2  # (if it is postgres/postgis)

con = psycopg2.connect(database="your database", user="user", password="password",
    host="your host")

sql = "select geom, x,y,z from your_table"

df = gpd.GeoDataFrame.from_postgis(sql, con, geom_col='geom' )