2016-08-23 10 views
0

最近シェイプファイルを使用し始めました。私は各オブジェクトがポリゴンであるシェイプファイルを持っています。私は、各ポリゴンのジオメトリが重心に置き換えられた新しいシェイプファイルを作成したいと思います。私のコードがあります。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) 

ただし、ジオデータフレームをループする必要はありません。シェイプファイルセントロイドの新しいものを次のように作成することができます:

df=gp.GeoDataFrame(data=shp, geometry=shp['geometry'].centroid) 
df.to_file(outfile) 
関連する問題