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)