Odległość powierzchni na DEM między dwiema współrzędnymi

11

Biorąc pod uwagę dwie współrzędne na cyfrowym modelu wysokości (DEM), jak obliczyć rzeczywistą odległość przebytą między dwoma lokalizacjami, zakładając trasę w linii prostej? Jak zmiana rozdzielczości mojego DEM wpłynie na wyniki?

scw
źródło

Odpowiedzi:

10

Jeśli nie masz tej możliwości wbudowanej w GIS, ale możesz wykonać podstawowe operacje na siatce („algebra mapy”), nadal istnieje rozwiązanie.

Obliczenia sprowadzają się do znalezienia nachylenia trasy w każdym punkcie. Jeśli dokładnie o tym wiedziałeś , bez błędu dyskretyzacji, zintegrowałbyś secans nachylenia. Na siatce całka jest szacowana przez uzyskanie średniej siecznej dla komórek przechwyconych przez trasę i pomnożenie średniej przez długość trasy. (W mapach algebra-speak będzie to „średnia strefowa” pomnożona przez długość trasy).

Nachylenie trasy nie jest takie samo jak nachylenie DEM! Zależy to dokładnie od tego, jak trasa przecina powierzchnię. Dlatego potrzebujesz pełnej informacji o „kierunku” powierzchni, którą można opisać w kategoriach uderzenia i zanurzenia, nachylenia i aspektu, lub za pomocą jednostkowego wektora normalnego ( tj. Pola wektorowego 3D prostopadłego do powierzchni). Najbardziej niezawodnym sposobem jest zredukowanie problemu do takiego, w którym znasz normalne pole wektorowe. Oznacza to, że masz potrójną liczbę numerów w każdej komórce - reprezentowanych oczywiście jako trzy osobne siatki - które nazywam (Nx, Ny, Nz). Kierunek trasy (w płaszczyźnie) można przedstawić jako wektor jednostkowy (x, y, t), gdzie (x, y) podaje kierunek na mapie. Wartość t jest „wzrostem” w kierunku pionowym:szybkość, z jaką trasa musi się podnieść, aby pozostać na powierzchni . Zatem, ponieważ prędkość 2D trasy - jej „bieg” - jest równa Sqrt (x ^ 2 + y ^ 2), nachylenie jest określone przez

(1) tan (nachylenie) = wzrost / bieg = t / Sqrt (x ^ 2 + y ^ 2) .

W obliczeniach t będzie siatką, ale mianownik Sqrt (x ^ 2 + y ^ 2) jest tylko liczbą. Jeśli obliczysz go za pomocą poniższego wzoru (4), będzie on równy 1, więc możesz o tym zapomnieć: t będzie styczną do siatki nachylenia trasy, a sec (nachylenie) = sqrt (1 + t ^ 2) będzie siatka, której średnią strefową obliczasz.

Łatwo jest znaleźć t. Z definicji wektor kierunku (x, y, t) jest prostopadły do ​​wektora normalnego. To znaczy

0 = x * Nx + y * Ny + t * Nz, więc

(2) t = - (x * Nx + y * Ny) / Nz .

W obliczeniach Nx, Ny i Nz są siatkami, ale xiy są liczbami. Dlatego t jest siatką, zgodnie z przeznaczeniem. (Nie będzie żadnych problemów z podziałem, ponieważ dla Nz = 0 nie jest to możliwe: byłby to idealnie pionowy klif, którego nie można przedstawić na DEM.)

Więc: jak znaleźć wektor normalny (Nx, Ny, Nz) i wektor kierunku (x, y)? Zazwyczaj GIS oblicza nachylenie (-a) i siatki wymiarów (a) z DEM. Wyrażaj każdy jako kąt. Są to zasadniczo sferyczne współrzędne wektora normalnego jednostki. W przypadku aspektów na wschód od północy normalną jednostkę uzyskuje się przez zwykłe przeliczenie współrzędnych sferycznych na kartezjańskie,

(3) (Nx, Ny, Nz) = (sin (s) * sin (a), sin (s) * cos (a), cos (s)) .

W tych obliczeniach si i a są siatkami , więc opisuje trzy oddzielne wyrażenia algebry mapy, aby utworzyć trzy siatki Nx, Ny i Nz.

W ramach kontroli zwróć uwagę, że gdy nachylenie wynosi zero (s = 0), normalnym wektorem jest (0,0,1), skierowany prosto w górę, tak jak powinien. Gdy aspekt wynosi zero, normalny wektor to (0, sin (s), cos (s)), który wyraźnie wskazuje na północ (kierunek y) i przechyla się z pionu o kąt s, co oznacza, że ​​powierzchnia przechyla się z poziomo o kąt s: to rzeczywiście jego nachylenie.

Na koniec, niech namiar trasy będzie b (stały kąt na wschód od północy). Wektor jego kierunku to

(4) łożysko = (x, y) = (sin (b), cos (b)).

Zauważ, że namiar jest parą liczb , a nie parą siatek, ponieważ opisuje kierunek trasy.


Wraz ze wzrostem rozdzielczości DEM można zaobserwować więcej lokalnych zmian na zboczach, co powoduje wzrost szacowanego nachylenia, jak zauważa @johanvdw. Badałem to zjawisko, sukcesywnie pogrubiając DEM wysokiej rozdzielczości i porównując DEM jednego obszaru uzyskanego z innego źródła. Odkryłem, że w obszarach o dużym nachyleniu różnice w szacunkach nachylenia mogą być znaczne . Przełożą się to na znaczne różnice w szacunkach długości tras lądowych. W przeciwnym razie w obszarach o jednolitym niskim nachyleniu różnice mogą nie mieć znaczenia.

Jednym ze sposobów oceny wpływu rozdzielczości dla DEM jest przeprowadzenie podobnego badania. To wymaga niewielkiego wysiłku. Na przykład oszacuj długość lądową trasy za pomocą DEM, a następnie ponownie oszacuj długość po zagregowaniu tego DEM na 2 x 2 bloki (zgrubne 2 razy). Jeśli między tymi dwoma szacunkami jest nieistotna różnica, wszystko powinno być w porządku; jeśli różnica ma znaczenie, być może warto uzyskać dla swojej pracy DEM o lepszej rozdzielczości. (Istnieją bardziej wyrafinowane metody poprawy szacunków nachylenia i długości poprzez wykorzystanie posiadanego DEM, ale opisanie ich tutaj zajęłoby mi zbyt dużo czasu).

Whuber
źródło
7

SAGA GIS ma moduł do tego: Profil interaktywny

http://www.saga-gis.org/saga_modules_doc/ta_profiles/index.html

Wynikowe punkty będą zawierać odległość i odległość lądową. Jeśli DEM ma z grubszą rozdzielczością, odległość lądowa zawsze będzie nieco mniejsza (chyba że masz dziwne warunki graniczne), ale w rzeczywistości różnica ta najprawdopodobniej nie jest ważna. Jeśli obszar jest raczej płaski, nawet odległość lądowa i normalna odległość będą prawie takie same: jeśli nachylenie między dwoma punktami wzdłuż twojej linii wynosi np. 20%, odległość lądowa będzie tylko o 2% większa niż odległość normalna (sqrt ( 1 ^ 2 + 0,2 ^ 2) = 1,019).

johanvdw
źródło
Powyższy link wydaje się być uszkodzony, ale oto instrukcje, jak utworzyć interaktywny profil terenu w SAGA.
cengel