Musimy znaleźć odległość szeregu punktów wzdłuż danej polilinii.
Mamy zbiór danych polilinii przedstawiający rzeki w zlewni, podzielone na rzeki (na przykład FID 1 do 35).
Posiadamy również punktowy zestaw danych dotyczących licencji na wydobycie w obrębie zlewni, z których część znajduje się wzdłuż rzek - z tabeli atrybutów możemy stwierdzić, że są one zdefiniowane jako licencje na wody gruntowe lub powierzchniowe.
Oba nie są powiązane - tzn. Jedno nie zostało wyprowadzone z drugiego. Dlatego nie wszystkie koncesje na wody powierzchniowe leżą dokładnie nad poliliniami rzecznymi, mimo że w rzeczywistości znajdują się na tych rzekach.
Musimy być w stanie zobaczyć, które punkty są wzajemnie „w górę / w dół”, dlatego chcieliśmy mieć listę, która rzeka dociera do punktu, a następnie odległość w dół od początku tego zasięgu. Następnie możemy porównać odległości dwóch punktów w dół, aby zobaczyć, która jest w górę, a która w dół - pożądany wynik!
Aby rozwiązać problem znajdowania punktów na rzekach lub w ich pobliżu, powiedziano nam, abyśmy używali (małego) bufora wokół każdego biegu rzeki, a następnie przeszukali bufor, aby znaleźć punkty w nim.
Jest w porządku, ale zostaje nam obszar (bufor), a nie linia, więc nie możemy zmierzyć odległości wzdłuż / w tym obszarze.
Czy możemy użyć bufora zgodnie z opisem, aby znaleźć punkty na / w pobliżu rzeczonego zasięgu, a następnie, w jakiś sposób (?!), Zapytać tych punktów o odległość wzdłuż zasięgu rzeki (segment polilinii)?
Odpowiedzi:
Jest to idealne zadanie dla możliwości odniesienia liniowego w ArcGIS. Zobacz pomoc dotyczącą lokalizacji funkcji wzdłuż tras i sondowania z tego miejsca. Narzędzia obejmują możliwość przekształcenia warstwy punktów w pobliżu trasy (rzeka sięga) w deskryptory „zdarzenia punktowego”, które określają trasę (zasięg) i odległość od początku trasy. Właśnie tego chcesz. Co więcej, narzędzia te pozwalają na ustawianą przez użytkownika „tolerancję”: punkty nie muszą leżeć dokładnie na trasach.
Przepływ pracy to:
Spraw, by rzeka osiągnęła „wymierne”. Ustawia to zdolność do znalezienia odległości wzdłuż każdego zasięgu.
Reprezentuj punkty jako warstwę punktową.
Za pomocą tego narzędzia utwórz „tabelę zdarzeń” dla punktów względem tras.
Sprawdź swoją pracę, ponieważ może być konieczne odwrócenie kierunków niektórych rzek, w zależności od tego, jak konsekwentnie były one digitalizowane.
źródło
Nigdy tego nie próbowałem, ale możesz rozważyć potraktowanie tego jako problemu odwrotnego geokodowania . Zrobiłbyś to, tworząc lokalizator adresów dla twoich rzek, traktując miarę jako adres Od i Do.
źródło
Użyj blisko (analiza)
http://help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#//00080000001q000000.htm
źródło
http://help.arcgis.com/en/sdk/10.0/arcobjects_net/componenthelp/index.html#/QueryPointAndDistance_Method/002m00000116000000/
Atrybut DistanceAlongCurve daje ci to, czego szukasz. Ale tylko dla jednej rzeki.
źródło
http://resources.arcgis.com/en/help/main/10.1/index.html#//004800000006000000
To narzędzie pobiera sieć (musisz mieć Network Analyst) i punkty. Po zastosowaniu narzędzia otrzymujesz wartość t (wartość od 0 do 1) jako PosAlong. Wartości są przechowywane w tabeli punktów wejściowych. Ponieważ 0 to punkt początkowy polilinii, a 1 to punkt końcowy, należy go pomnożyć przez długość polilinii. Masz również SourceOID, który jest polilinią id w tej samej tabeli.
źródło