SCo*_*ool 14 python shapely geopandas
我有一个具有多边形几何形状的地理数据框:
我想将它们转换为多边形,即填充多多边形的孔并使其成为单个多边形。
我已经尝试过这个类似问题的代码:
from shapely.geometry import MultiPolygon, Polygon
gdf['Polygon'] = gdf['SHAPE'].apply( lambda x: MultiPolygon(Polygon(p.exterior) for p in x))
Run Code Online (Sandbox Code Playgroud)
但我收到错误:
TypeError: 'Polygon' object is not subscriptable
Run Code Online (Sandbox Code Playgroud)
我尝试过堆栈溢出的其他解决方案,但没有成功。
有任何想法吗?
以下是数据类型:
FID int64
LHO object
Shape__Area float64
Shape__Length float64
SHAPE geometry
Run Code Online (Sandbox Code Playgroud)
这是获取 shapefile 的完整代码:
import pandas as pd
import geopandas as gpd
from arcgis import GIS
gis = GIS(verify_cert=False,api_key='your_api_key')
search_result = gis.content.search(query="title:National_LHO", item_type="Feature Layer")
# get layer
layer = search_result[0].layers[0]
# dataframe from layer
df= pd.DataFrame.spatial.from_layer(layer)
gdf = gpd.GeoDataFrame(df)
gdf = gdf.set_geometry('SHAPE')
gdf = gdf.set_crs(epsg='3857')
gdf = gdf.to_crs(epsg='4326')
Run Code Online (Sandbox Code Playgroud)
小智 18
.explode
您可以在 GeoDataFrame 上使用名为的方法:
gdf_exploded=gdf.explode()
Run Code Online (Sandbox Code Playgroud)
你可以在这里找到文档
归档时间: |
|
查看次数: |
17398 次 |
最近记录: |