Algorytm punktu próbki profilu wysokościowego

10

Podczas generowania profilu wysokości należy pobrać próbki z leżącego poniżej rastra. Jeśli celem jest stworzenie profilu o najwyższej jakości, w jaki sposób należy ustalić lokalizację punktów próbnych? Jakie podejście należy zastosować do interpolacji tych punktów próby?

Matthew Snape
źródło

Odpowiedzi:

6

Jeśli chcesz utworzyć profil o maksymalnej jakości , algorytm musi zasadniczo obejmować każdą pojedynczą komórkę przeciętą przez ścieżkę zapytania, a następnie staje się prostym problemem dopasowania krzywej 2D . Jeśli jednak chcesz po prostu próbkować podzbiór tych punktów i stworzyć profil, który jest bardziej przyjemny wizualnie, możesz stwierdzić, że ten artykuł z geokomputacji ma wiele różnych technik interpolacji do pobierania wzniesienia, a także matematyki.

Ragi Yaser Burhum
źródło
7

Profil wysokości oblicza przecięcie dwóch powierzchni . Jednym z nich jest pionowy arkusz wyznaczony przez ścieżkę. (Oznacza to, że składa się ze wszystkich współrzędnych (x, y, z), gdzie (x, y) jest na ścieżce, a z to dowolna liczba.) Druga to powierzchnia reprezentowana przez raster DEM. Jako taki sprowadza się do znalezienia wartości z leżących powyżej punktów na krzywej. To czyni go identycznym z problemem interpolacji wartości z rastra. W szczególności, mimo że dzieli wiele cech prostszej jednowymiarowego problemu dopasowywania krzywej do (odległość, elewacji), danych, to nieta sama sytuacja. Wyświetlenie go jako takiego prawdopodobnie spowoduje powstanie nieoptymalnych profili wysokości, ponieważ nie wykorzystasz informacji w pełnym zakresie 2D danych rastrowych po obu stronach krzywej.

Oczywiście wszystkie rozważania, które odnoszą się do interpolowanych powierzchni są tutaj istotne . Istnieje wiele konkurencyjnych metod, każda z zaletami i wadami, każda odpowiednia do różnych zastosowań i każda z własną „jakością”. Obejmują one (ale nie wyłącznie):

Są to wszystkie algorytmy do oszacowania wartości z (x, y) z danych, biorąc pod uwagę dowolną lokalizację (x, y), która niekoniecznie jest zbieżna z żadnym punktem danych. Tak przy okazji rysowany jest zestaw danych rastrowych : w celu określenia koloru określonego piksela (u, v) na ekranie lub papierze (mapie) obliczane są współrzędne świata (x, y) piksela, wartość z (x, y) oblicza się za pomocą interpolatora, a tę wartość przekształca się w kolor za pomocą rampy lub tabeli przeglądowej. (Podejrzewam, że pod względem wydajności wiele systemów GIS nie wykonuje tej procedury przy każdym pikselu: zamiast tego pobierają regularną podpróbkę pikseli, określają ich kolory, a następnie wykonują prostą interpolację koloru na ekranie lub papierze.)

Możemy myśleć o pikselach jako o wyznaczaniu regularnej próbki płaskich lokalizacji do interpolacji. Tworzenie profilu wysokości wymaga podobnego rozważenia: gdzie zlokalizować „piksele” wzdłuż ścieżki? Odpowiedź jest opracowana w taki sam sposób, w jaki odpowiedzielibyśmy na odpowiednie pytanie dotyczące tworzenia map: jakiej skali potrzebujesz? W dużych skalach (powiększony do środka) potrzebujesz znacznie dokładniejszego próbkowania; w małych skalach można próbkować z większymi odstępami. Jeśli jesteś sprytny, możesz nawet zastosować metody adaptacyjne lub rekurencyjne, aby skoncentrować próbkowanie na tym, gdzie wartości Z zmieniają się najszybciej, mają największą krzywiznę lub osiągają wartości ekstremalne. Jeśli nie jesteś tak sprytny lub nie potrzebujesz najlepszej reprezentacji, możesz utworzyć zestaw równo rozmieszczonych wartości wzdłuż ścieżki w odległościach d (0) <d (1) <... <d (n) wzdłuż ścieżki i na podstawie pobliskich wartości rastrowych interpoluj odpowiednie rzędne z (0), z (1), ..., z (n). Następnie wykreślisz pary (d (0), z (0)), ..., (d (n), z (n)) i sprawiedliwy w jakiejś krzywej wokół nich - zwykle splajnu - przy założeniu, że zmiany z (i + 1) - z (i) są wystarczająco małe, aby sposób dopasowania krzywej nie miał znaczenia. (Metody adaptacyjne sprawdzają te zmiany i uzyskują więcej interpolowanych wartości na pośrednich odległościach, gdzie wydaje się, że występują duże różnice).

To prowadzi nas do sedna pytania: jakie powinny być początkowe odległości próbek? Odpowiedź zależy od zamierzonej skali profilu elewacji, dokładności wartości DEM, dokładności, z jaką krzywa jest rejestrowana w lokalizacjach DEM, oraz tempa zmian elewacji wzdłuż i w pobliżu profilu. Ogólnie rzecz biorąc, większe skale (tj. Powiększanie), lepsze dokładności na wysokościach i georeferencje oraz wyższe współczynniki zmienności wymagają bliższych odstępów. Ponieważ oddziałują one na siebie w skomplikowany sposób, nie ma ogólnej zasady dotyczącej najlepszego odstępu . Na początek możesz się jednak spodziewać, że jakiekolwiek odstępy mniejsze niż rozmiar rastra nie będą cię dużo kupować. A zatem,jeśli możesz sobie pozwolić na obliczenie profilu wysokości przy użyciu tego stosunkowo wąskiego odstępu, równie dobrze możesz to zrobić . To może być przesada, ale co z tego?

Należy zauważyć, że takie metody co najwyżej dokładnie odtworzą interpolowane wartości wysokości. Są to prawie zawsze zdegradowane wersje elewacji reprezentowanych przez raster. Na przykład wiele DEM na obszarach górskich nie osiąga wysokości szczytów, ponieważ szczyty zwykle spadają między komórkami rastrowymi. Kiedy interpolujesz między wzniesieniami podszczytowymi, zwykle otrzymujesz pewnego rodzaju średnią ważoną, która nadal będzie mniejsza niż wysokość szczytu. Dlatego profil wysokości ścieżki przebiegającej dokładnie nad szczytem górskim rzadko osiąga wysokość. (Splot sześcienny i niektóre formy krigingu (w tym symulacja stochastyczna z krigingiem) może przezwyciężyć łagodne formy tego problemu. Spójrz na nie, jeśli chcesz odtworzyć charakterystykę statystyczną profilu wysokości, a nie zadecydować o „najlepszym dopasowaniu”, które uśrednia skrajności.

Whuber
źródło
dzięki, whuber. Czy odstępy muszą być w ogóle ustalone?
Matthew Snape
1
@Matthew Odstępy można dostosować do rzędnych i ich zmian, jak już wspomniałem. Jakość innych odstępów, takich jak odstępy losowe lub odstępy dowolne, jest trudna do oszacowania. Jednak użycie informacji zewnętrznych do umieszczenia niektórych punktów próbnych nie ma znaczenia. Na przykład, jeśli masz warstwę strumieni, możesz uwzględnić wszystkie skrzyżowania strumienia w swoich punktach, aby upewnić się, że próbkujesz lokalne minima wysokości wzdłuż ścieżki. Dla niektórych specjalistycznych celów same wymiary wysokościowe rozstawy działa dobrze.
whuber
Ale w niektórych punktach linia profilu przechodzi przez kilka komórek w niewielkiej odległości. W innych linia profilu przechodzi przez mniej (jeśli podróżuje się z osią). Z pewnością ustalony przedział czasu nie uwzględni tego?
Matthew Snape
@Matt Chodzi o to, że samo przechodzenie przez komórki nie ma znaczenia. Każda procedura interpolacji przestrzennej może dostarczyć oszacowanie wysokości w nieskończenie wielu punktach ścieżki. Zmniejsza to problem o jeden wymiar: interpolator zapewnia wzniesienie w funkcji odległości (można wykreślić go we współrzędnych kartezjańskich), a problemem jest próbkowanie tego wykresu. Innymi słowy, gdy już wybierzesz interpolator, możesz równie dobrze zapytać: „Mam funkcję y = f (x). Jak najlepiej ją przedstawić?” Moja rada: (a) wybierz dobrego interpolatora i (b) dobrze wykresuj!
whuber