BWill에 동의합니다. 주요 문제는 각 폴리 라인의 원점을 정의하는 것입니다. '강'은 무엇입니까? I는 지류가 지류의 0-> 길이에서 시작하는 독립형 "경로"라고 가정합니다. 그런 다음 주 강에도 동일하게 적용되지만이 경우 모든 구성 폴리 라인에서 병합 된 폴리 라인을 만듭니다. 일단 당신이 '거의'거기에 있다고 생각합니다. 그런 다음 : 병합 된 모든 폴리 라인을 지류를 포함하여 측정 된 폴리 라인 (PolylineM)으로 변환합니다. 그런 다음 '라우트 네트워크'가 있습니다. 그때부터 각 역의 경로를 따라 거리를 찾는 문제가 있습니다. 스테이션 위치가 XY로 정의되어 있다고 생각합니까? 또 다른 추측으로는 강 위에 정확히 떨어지지 않습니다. 그들은 할? 어쨌든 각 강 또는 지류의 시작에서 역의 거리를 찾는 방법이 필요합니다. 이론적으로 스테이션이 강과 지류의 교차점에있는 경우 2 개의 위치 (각각 1 개)를 가질 수 있습니다.
이 위치를 찾으려면 ArcMap 도구를 사용할 수 있지만 한동안 사용하지 않았으므로 내 머리 꼭대기를 기억할 수 없습니다. 반면 shapefile (?)을 PostGIS로 가져 오면 ST_Line_Locate_Point를 사용할 수 있습니다 . 이 기능 :
LineString에서 주어진 Point에 가장 가까운 점의 위치를 나타내는 0과 1 사이의 부동 소수점을 총 2d 선 길이의 일부로 반환합니다.
그러면 강을 따라 위치를 찾은 것과 강의 길이를 곱한 것을 찾을 수 있습니다. 마지막 참고 사항-PostGIS를 사용하는 경우 PolylineM을 만드는 단계를 거치지 않아도됩니다. ArcGIS 만 선형 참조를 위해 필요합니다.
이것이 의미가 있기를 바랍니다!