geometry是Polygon和MultiPolygon两种类型。我想将MultiPolygons转换为Polygons,因为在数据上运行一些空间函数有问题。
示例数据文件:https://www.dropbox.com/s/14ni2mfppt5dn7x/gdf%20%281%29.csv?dl=0
from shapely.geometry import MultiPolygon, Polygon
import geopandas as gpd
from shapely import wkt
gdf = gpd.read_file()
# To GeoPandas
gdf['geometry'] = gdf['zip_code_geom'].apply(wkt.loads)
# Set Geometry
gdf = gdf.GeoDataFrame(df_rent_geo_v7, geometry='geometry')
# MultiPolygon to Polygon
gdf = gdf.explode(column='geometry', ignore_index=True, index_parts=False)我尝试过像其他类似问题中所建议的那样使用[explode][1],但它没有将MultiPolygons转换为Polygons。
发布于 2022-05-30 19:53:44
在示例数据中存在不良的几何图形。这将转换为有效的,并将坏的存储在bad_geom_dict中,以供进一步调查。爆炸可以在有效的地块上工作。
bad_geom_dict = {}
for idx, row in gdf.iterrows():
try:
value = row['zip_code_geom']
wkt.loads(value)
gdf['geometry'] = wkt.loads(value)
except Exception as e:
print(e)
bad_geom_dict[idx] = valuehttps://stackoverflow.com/questions/72438669
复制相似问题