2016-08-23 46 views
0

我剛剛開始使用shapefiles。我有一個shapefile,其中每個對象都是一個多邊形。我想要生成一個新的shapefile,其中每個多邊形的幾何圖形都由其質心替換。有我的代碼。在生成具有geopandas的形狀文件時引發ValueError

當我運行該腳本,我結束了raise ValueError("Geometry column cannot contain mutiple " ValueError: Geometry column cannot contain mutiple geometry types when writing to file. 我不明白什麼是錯的。任何幫助?

回答

1

問題是您正在使用幾何體的字符串表示形式填充幾何體字段,而不是幾何形狀對稱。

無需轉換爲wkt。您的循環可能會改爲:

for i,r in shp.iterrows(): 
    index.append(i) 
    centroid = r['geometry'].centroid 
    centroids.append(centroid) 

但是,根本不需要遍歷地理數據框。您可以創建一個新的shapefile質心,如下所示:

df=gp.GeoDataFrame(data=shp, geometry=shp['geometry'].centroid) 
df.to_file(outfile) 
相關問題