2016-10-12 36 views
3

python/shapelyを使用して点と国境との距離を計算したいと思います。それはちょうど良い点を扱うべきです。 'GeoSeries' object has no attribute '_geom'gis点とポリゴン/境界線の距離を計算する

データの私の扱いで何が問題になっています。ここFind Coordinate of Closest Point on Polygon Shapely実証されたがgeopandasを使用して、私は問題に直面していますか? マイボーダーデータセットはhttp://www.gadm.org/

'GeoSeries' object has no attribute '_geom'

+0

図のように:0 MultiPolygon dtype:object –

+0

'austriaBorders.geometry'は本当に華やかな幾何学ですか? – eguaio

+0

geopandas –

答えて

3

geopandas文書によると、GeoSeriesはジオメトリのベクトルであるからである(あなたのケースでは、0 (POLYGON...はあなただけで一つのオブジェクトを持っているが、それはまだベクトルであることを伝えます)。最初のジオメトリ要素を取得する方法があるはずです。 GeoSeriesクラスは__getitem__メソッドを実装していますので、austriaBorders.geometry[0]は必要なジオメトリを与えるはずです。したがって、point.distance(austriaBorders.geometry[0])で試してください。

ポイントまでの距離が必要な場合は、にdistanceメソッドが実装されていますが、ドキュメントに含まれている各ジオメトリまでの距離のベクトルが返されます。

+2

です。実際には[0]はshapely.geometry.multipolygon.MultiPolygonです。 –