여러 선이 두 개의 다른 지리 데이터 프레임에 대한 다각형과 교차하는 위치를 찾으려고합니다.
from shapely.geometry import Polygon, LineString
import geopandas as gpd
polygon = Polygon([(0, 0), (1, 0), (1, 1), (0, 1), (0, 0)])
line1 = LineString([(0.5, 0.5), (0.7, 0.7)])
line2 = LineString([(0.9, 0.9), (0.2, 0.6)])
poly_gdf = gpd.GeoDataFrame(geometry=[polygon])
line_gdf = gpd.GeoDataFrame(geometry=[line1, line2])
위의 지리 데이터 프레임은 다음과 같습니다 (하나는 다각형이고 다른 하나는 두 개의 선이 있음). 두 선이 다각형과 교차하는 것처럼 보입니다.
그러나 교차 출력은 매우 혼란 스럽습니다.
print(line_gdf.intersects(poly_gdf))
0 참
1 거짓
print(line1.intersects(polygon))
print(line2.intersects(polygon))
진실
진실
geopandas
intersect
메소드가 표준 출력과 다른 출력을 제공하는 이유는 무엇 shapely
입니까?
Anaconda에서 Python 3.5.3 및 Geopandas 0.2.1을 모두 사용하고 있습니다.
print(line.intersects(polygon))
는 오타였습니다. line1
원래 의미했던 내용을 참조하도록 질문을 업데이트했습니다 .
line_gdf.info
단일 형상 열만 있음을 확인합니다. 나는 충격을 받았다. 찾은 내용이 있으면 연락 드리겠습니다.
print(line.intersects(polygon))
내가 볼 수있는 한 정의되지 않은 변수에 액세스 할 수 있습니다. 당신이 정의한line1
및line2
코드에서 이전. 왜 이것이 True를 반환하는지 모르겠습니다.