셰이프 파일 개체에서 생성 된 GeoPandas Dataframe이 있습니다. 그러나 certian 라인은 같은 이름이지만 매우 다른 장소에 있습니다.이름을 기준으로 한 분할 선
각 줄마다 고유 한 이름을 지정하고 싶습니다. 따라서 기하학적으로 구별되고 이름을 바꾸면 어떻게 든 선을 분할해야합니다.
모든 거리 청크 사이의 거리를 계산하고 인접한 경우 다시 그룹화하려고 시도 할 수 있습니다.
의 거리의 계산을 용이 Geopandas에서 수행 될 수있다 : 라인 Distance Between Linestring Geopandas
세트 시도 :
from shapely.geometry import Point, LineString
import geopandas as gpd
line1 = LineString([
Point(0, 0),
Point(0, 1),
Point(1, 1),
Point(1, 2),
Point(3, 3),
Point(5, 6),
])
line2 = LineString([
Point(5, 3),
Point(5, 5),
Point(9, 5),
Point(10, 7),
Point(11, 8),
Point(12, 12),
])
line3 = LineString([
Point(9, 10),
Point(10, 14),
Point(11, 12),
Point(12, 15),
])
df = gpd.GeoDataFrame(
data={'name': ['A', 'A', 'A']},
geometry=[line1, line2, line3]
)
좌표에 대한 sklearn의 dbscan 클러스터링은 옵션입니다. http://scikit-learn.org/stable/modules/generated/sklearn.cluster.DBSCAN.html. 데이터 사용 예제 : http://scikit-learn.org/stable/auto_examples/cluster/plot_dbscan.html#sphx-glr-auto-examples-cluster-plot-dbscan-py –
필요한 모든 파일을 공유하십시오. shp 파일 만 데이터를로드하기에 충분하지 않습니다. 세부 정보 : https://gis.stackexchange.com/questions/262505/python-cant-read-shapefile/262509 –
네, 이제 데이터를로드하는 것이 좋습니다. 불량 클러스터링 접근법. –