geopandas.read_postgis#

geopandas.read_postgis(sql, con, geom_col='geom', crs=None, index_col=None, coerce_float=True, parse_dates=None, params=None, chunksize=None)[来源]#

返回一个GeoDataFrame,对应于查询字符串的结果,该字符串必须包含以WKB表示的几何列。

也可以使用 read_file() 从数据库中读取数据。特别是对于像 GeoPackage 或 SpatiaLite 这样的文件地理数据库,这可能更容易。

Parameters:
sqlstring

用于从数据库中选择条目的SQL查询,或要从数据库读取的表的名称。

consqlalchemy.engine.Connection or sqlalchemy.engine.Engine

与数据库的活动连接以进行查询。

geom_colstring, default ‘geom’

要转换为shapely几何体的列名

crsdict or str, optional

返回的GeoDataFrame使用的坐标参考系统;如果未设置,则尝试从数据库中第一个几何体的SRID确定坐标参考系统,并将其分配给所有几何体。

chunksizeint, default None

如果指定,将返回一个迭代器,其中 chunksize 是每个块中包含的行数。

See the documentation for pandas.read_sql for further explanation
of the following parameters:
index_col, coerce_float, parse_dates, params, chunksize
Returns:
GeoDataFrame

示例

PostGIS

>>> from sqlalchemy import create_engine  
>>> db_connection_url = "postgresql://myusername:mypassword@myhost:5432/mydatabase"
>>> con = create_engine(db_connection_url)  
>>> sql = "SELECT geom, highway FROM roads"
>>> df = geopandas.read_postgis(sql, con)  

空间Lite

>>> sql = "SELECT ST_AsBinary(geom) AS geom, highway FROM roads"
>>> df = geopandas.read_postgis(sql, con)