Znaleźć odległość punktu wzdłuż polilinii za pomocą ArcGIS Desktop?


23

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)?


czy masz pole w klasie cech polilinii zawierające FID zasięgu poniżej?
Kirk Kuykendall

czy musisz to zrobić w arcmap, czy możesz używać arcobjectów?
Steve

RivEX może generować tego typu dane wyjściowe, spójrz na narzędzia do przyciągania i łączenia.
Hornbydd,

Odpowiedzi:


22

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:

  1. Spraw, by rzeka osiągnęła „wymierne”. Ustawia to zdolność do znalezienia odległości wzdłuż każdego zasięgu.

  2. Reprezentuj punkty jako warstwę punktową.

  3. Za pomocą tego narzędzia utwórz „tabelę zdarzeń” dla punktów względem tras.

  4. 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.


+1. Powinni także zastanowić się nad przekształceniem rzek w geometryczną sieć, aby korzystać z narzędzi, które uzyskają cechy, ścieżki itp.
geographika

Tak samo. ArcGIS może zrobić wszystko ciężkie podnoszenie tego problemu interpolacja en.wikipedia.org/wiki/Interpolation
Ragi Yaser Burhum

1
Należy zauważyć, że zestaw danych punktów i zestaw danych trasy muszą znajdować się w tym samym układzie współrzędnych. Narzędzie Lokalizuj obiekty wzdłuż tras nie działałoby dla mnie poprawnie, dopóki nie wykonałem przeprojektowania mojego elementu linii do tego samego układu współrzędnych co plik punktu, a następnie nie utworzyłem zdarzenia trasy na podstawie wspomnianego ponownie rzutowanego elementu linii.
giski

@ Matiss Dziękuję za to przypomnienie. Pomimo możliwości „odrzutu” w locie w dzisiejszych systemach GIS, nadal jest tak, że jedynym niezawodnym sposobem przeprowadzenia analiz jest upewnienie się, że wszystkie wejściowe zestawy danych są fizycznie przechowywane we wspólnym (i odpowiednim) układzie współrzędnych.
whuber

@ Whuber zawsze pomagasz.
SIslam

3

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.




1

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.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.