将WKT列转换为GeoPandas几何的数据框

oiopk7p5  于 2023-03-16  发布在  其他
关注(0)|答案(2)|浏览(253)

我编写了一个脚本来查询PostGIS数据库,返回的Pandas Dataframe 如下所示:

ID  ...                          WKT
0   1  ...  LINESTRING(1.5047434 42.6319022,1.5053385 42.6...
1   2  ...  LINESTRING(1.5206333 42.5291144,1.5206306 42.5...

现在,我尝试使用GeoPandas将其写入shapefile,根据其documentation

  • 我们使用shapely.wkt子模块解析wkt格式 *:
from shapely import wkt

df['Coordinates'] = geopandas.GeoSeries.from_wkt(df['Coordinates'])

但是当我试着做同样的事情时,我得到了:

AttributeError: type object 'GeoSeries' has no attribute 'from_wkt'

我的GeoPandas:

geopandas                 0.8.1                      py_0    conda-forge
cu6pst1q

cu6pst1q1#

使用shapely.wkt.loads创建几何图形列。

import geopandas as gpd
from shapely import wkt

df['geometry'] = df.WKT.apply(wkt.loads)
df.drop('WKT', axis=1, inplace=True) #Drop WKT column

# Geopandas GeoDataFrame
gdf = gpd.GeoDataFrame(df, geometry='geometry')

#Export to shapefile
gdf.to_file('myshapefile.shp')
2lpgd968

2lpgd9682#

GeoPandas 0.9.0中添加了geopandas.GeoSeries.from_wkt API。旧版本中不存在此功能,因此在0.8.1中无法使用。

相关问题