2016-10-12 11 views
3

python/shapely을 사용하여 점과 국경 간의 거리를 계산하고 싶습니다. 그것은 단지 괜찮은 point.distance (폴리)를 작동해야합니다. 'GeoSeries' object has no attribute '_geom'gis point와 polygon/border 사이의 거리를 계산하십시오.

데이터 내 처리에 어떤 문제가 여기 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])으로 시도하십시오. 당신은 단지 지점까지의 거리가 필요한 경우

GeoSeries는 구현 distance 방법이 있지만, 그것은 (설명서에 따라)가 포함 된 각 형상의 거리와 벡터를 반환합니다.

+2

참으로 [0]은 shapely.geometry.multipolygon.MultiPolygon입니다. (인쇄물 유형 (austriaBorders.geometry) –