Geopandas PostGIS连接

mwe*_*ber 8 python postgis geopandas

我最近开始在python中使用Geopandas来完成我的一些空间工作,并对此感到非常满意 - 我目前正在尝试阅读PostGIS功能,并且不太了解如何参数化数据库连接,这似乎并不清楚在文档中:

GeoDataFrame.from_postgis(sql, con, geom_col='geom', crs=None, index_col=None, 
    coerce_float=True, params=None)
Run Code Online (Sandbox Code Playgroud)

这可能是一个非常简单的问题,所有我想知道的是需要进入'con' - 我假设一个包含数据库连接信息的字符串?但是以什么格式?设置'sql'似乎很简单.任何帮助非常感谢 - 谢谢!

小智 24

例:

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' )
Run Code Online (Sandbox Code Playgroud)

  • `psycopg2` 特定于 postgres,`sqlalchemy.create_engine()` 是通用的,可以处理与大多数 DBMS 的连接 (3认同)