Porównanie trzech linii konturu

9

Szukam sposobu na przestrzenne określenie różnicy między trzema plikami kształtów linii konturu. Mówiąc dokładniej, mam dwa rastry rzędnych, z których zamierzam tworzyć linie konturu, ale zanim to zrobię, chciałbym porównać je z referencyjną linią konturu i sprawdzić, czy istnieje potrzeba zmiany wejściowych rastrów. Rozumiem, że mógłbym pójść w drugą stronę i użyć funkcji Topo to Raster w ArcMap, a następnie porównać za pomocą kalkulatora rastrowego, jednak uważam, że będę miał łatwiej (i wyjaśniając innym) robienie tego w sposób, jaki pierwotnie zamierzałem.

Mam ArcMap 10.1 i Surfer 11. Dziękuję z góry.

GotsMahBox
źródło
2
Czy twoja „referencyjna linia konturowa” jest tylko jednym zestawem poziomów dla pojedynczej elewacji, czy też jest skrótem dla „referencyjnej warstwy konturowej” pokazującej cały zbiór równomiernie rozmieszczonych zestawów poziomów?
whuber
1
Ta ostatnia, referencyjna warstwa konturowa z odstępami 50 metrów.
GotsMahBox

Odpowiedzi:

15

Ocena opcji

Linie konturowe reprezentują ciągłe powierzchnie, więc ich porównanie ostatecznie jest wskazówką do porównania tych powierzchni. Ponieważ zarówno wartości powierzchni (elewacje), jak i lokalizacje są potencjalnie narażone na błędy, do porównania istnieją dwa elementy: pod względem wartości i pod względem położenia. Nie można ich rozdzielić, ponieważ zmiany położenia reprezentacji powierzchni powodują pozorne zmiany wysokości.

Pozostają nam dwie strategie: porównywanie wartości lub porównywanie pozycji. Porównywanie wartości jest bezpośrednie i proste, jak pokażę, natomiast porównywanie pozycji cech liniowych jest problematyczne (co każdy może docenić, rysując dwa nieprzypadkowe łuki i zastanawiając się, jak zmierzyć ich rozbieżność).

Istnieją również (przynajmniej) dwie strategie reprezentacji powierzchni, jak sugerowano w pytaniu: możemy trzymać się linii konturowych - co stawia nas w trudnej sytuacji porównywania ze sobą cech liniowych; możemy konwertować linie konturu na powierzchnie i bezpośrednio porównywać te powierzchnie - co jest atrakcyjne, ale cierpi z powodu arbitralnych elementów procedury interpolacji stosowanej do rekonstrukcji powierzchni; lub możemy maksymalnie wykorzystać dane, które posiadamy - jednocześnie rezygnując z dokonywania porównań w dowolnych lokalizacjach oprócz linii konturowych. Ten drugi raz jeszcze jest bezpośredni i wolny od dowolnych elementów.

Bezpośrednie porównanie linii konturu z powierzchnią

Aby porównać kontur z powierzchnią, po prostu zbieramy wszystkie wartości powierzchni wzdłuż tego konturu. Jeśli kontur jest dokładny, wartości te utworzą idealnie poziomy, niezmienny „profil” dokładnie na wysokości określonej przez kontur. Zatem wszelkie kwantyfikowanie różnicy sprowadza się do analizy statystycznej tych profili.

Taka analiza może być bogata i obszerna; jest za dużo do powiedzenia na ten temat, niż zmieści się w tej przestrzeni. Cofnę się więc i ograniczę tę odpowiedź do kilku prostych, ale skutecznych wstępnych analiz opartych na podsumowaniu profili wzdłuż konturów. Takie podsumowania są łatwo przeprowadzane przy użyciu statystyki strefowej (która jest operacją dostępną w większości rastrowych GIS, takich jak GRASS i Spatial Analyst). Poszczególne kontury to strefy. Wartości powierzchni leżącej pod tymi konturami są wartościami, które są sumowane.

Interesują nas przede wszystkim dwa aspekty tych streszczeń: wielkość zmienności , którą można określić ilościowo za pomocą odchylenia standardowego i skrajności (min i maks); oraz wartość średnią, którą można obliczyć za pomocą średniej arytmetycznej.

Studium przypadku

Jako bieżący przykład, tutaj znajduje się USGS DEM o długości 7,5 minuty (30 metrów wielkości komórki) z 50-metrowymi konturami obliczonymi z samego DEM :

DEM

Przekształciłem te kontury na raster (używając tej samej wielkości komórki, pochodzenia i zasięgu jak oryginalny DEM) i przypisałem tę siatkę wartościami konturu: służą one jako identyfikatory stref w streszczeniu strefowym DEM. Wyniki są wystarczająco interesujące, aby uzasadnić pełne odtworzenie tutaj:

Elevation Count  Mean  SD Min Max
100        2881 100.5 4.3  82 124
150       28333 150.0 1.9 139 170
200       46460 200.0 2.2 185 216
250       30503 250.0 2.9 236 263
300       21179 300.0 3.8 279 317
350       15709 350.0 4.3 331 369
400       13082 400.0 4.3 383 418
450       10332 450.0 4.4 436 466
500        7805 500.0 4.3 481 521
550        5493 550.0 4.4 536 566
600        3785 600.0 4.6 587 614
650        3206 649.9 4.5 637 664
700        2516 700.1 4.4 686 713
750        1859 749.9 4.2 734 764
800        1286 800.0 4.0 786 813
850         705 850.0 3.5 840 859
900         222 900.1 3.1 891 909
950          48 949.8 1.8 945 953

Pamiętaj, że jest to podsumowanie konturów wygenerowanych z samego rastra. Odzwierciedla zatem ideał i punkt odniesienia dla wszystkich innych porównań. W tym świetle warto to zauważyć

  • Średnie wartości DEM ( Mean) ściśle odpowiadają nominalnym poziomom konturu ( Elevation).

  • Niemniej jednak istnieją różnice : odchylenia standardowe ( SD) zwykle wynoszą około 4 metrów. Jest to stosunkowo niewielkie w porównaniu z interwałem konturu wynoszącym 50 metrów, ale (przypuszczalnie) gdybyśmy wybrali, powiedzmy, 10-metrowy interwał konturu, to - ponieważ same kontury nie zmieniłyby się - te odchylenia standardowe byłyby wielkości porównywalne z samym interwałem konturu! Co tu się dzieje?

  • Różnica może być duża : skrajności ( Maxi Min) mogą różnić się od wzniesień nominalnych nawet o 24 metry - połowę odstępu konturu. Jak to jest możliwe?

  • Kontury obejmują radykalnie różne obszary . W tym terenie kontury wzniesień obejmują niewielki ułamek rastra (jak pokazuje liczba komórek Count). Najniższy kontur podobnie obejmuje stosunkowo niewielką liczbę komórek. Jest to typowe dla każdej powierzchni: nie może być obfitości szczytów górskich i dna doliny; większość ziemi będzie leżała pomiędzy.

Powszechnym wyjaśnieniem wszystkich tych wariantów jest oczywiście nachylenie . Strefowe podsumowania opisują komórki, przez które przechodzą linie konturowe. Linie konturowe zostały (z grubsza) interpolowane na podstawie wysokości zarejestrowanych tylko w centrach komórek. Tam, gdzie nachylenie jest strome, rzeczywiste wzniesienia poniżej interpolowanych linii będą się bardzo różnić. Ponieważ jednak kontury są budowane w odstępach co 50 metrów, błędem byłoby, aby zmiana przekraczała 50/2 = 25 metrów, ponieważ oznaczałoby to, że kontur był po prostu w niewłaściwym miejscu. Ogranicza to minimalne i maksymalne wycieczki w strefowych podsumowaniach.

Kolejny rysunek przedstawia wizualny streszczeniem Elevation, Meani Countwartości: to pokazuje, jak średnie wzniesienie błąd rastra ( Meanminus Elevation) zmienia się wraz nominalnej wysokości konturu, wielkości okrągłe symbole w proporcji do wysokości terenu objętego każdego poziomu konturu. Koła są wydrążone, abyśmy mogli je wyraźnie zobaczyć, nawet jeśli się pokrywają.

Wątek

Tę analizę można wykonać za pomocą dowolnego rastra. Zrób to: stanowi odniesienie dla wszystkich późniejszych porównań. Następnie wykonaj tę samą analizę dla dowolnych warstw konturu i porównaj wyniki z odniesieniem.

Aby zilustrować i zrozumieć tę procedurę, stworzyłem dodatkowe warstwy konturu w następujący sposób. Ilustracje oparte są na niewielkiej części oryginalnej wersji DEM, dzięki czemu można zobaczyć szczegóły.

  • Rozdzielczość rastra została zwiększona 10-krotnie (od 30 metrów do 300 metrów), a następnie obrysowana. Nazwij to „ponownie próbkowaną” warstwą konturową. Na rysunku przykładowe są oryginalne kontury w skali szarości.

    Ponownie próbkowana warstwa

  • Wszystkie oryginalne kontury przesunięto o 150 metrów na wschód i 150 metrów na północ. Jest to „przesunięta” warstwa konturu.

    Przesunięta warstwa

  • Losowy błąd wysokości został dodany do oryginalnego DEM i został ponownie użyty. Błąd był wysoce skorelowany przestrzennie i wahał się od -35 metrów do +20 metrów, średnio około zero metrów. (Jest to realistyczne i zgodne z oczekiwaną ilością błędów w ramach tego DEM.) Zatem, gdy błąd jest ujemny (pokazany na niebiesko na następnej ilustracji), wysokość została obniżona , a błąd jest dodatni (żółty na rysunku ) podniesiono wysokość . Ten rysunek pokazuje powstałe kontury (dla warstwy „błędu” ). Niektóre znajdują się w znacznie innych pozycjach niż oryginały:

    Warstwa błędu

Wykresy środków strefowych są nałożone na siebie w celu łatwego porównania na następnym rysunku.

Środki strefowe

Wiele można tu powiedzieć, ale prawdziwym zaskoczeniem był dla mnie zakres, w którym samo przesunięcie konturów (o stosunkowo niewielką ilość) wprowadziło jedne z największych błędów, szczególnie na średnich wysokościach. (W przypadku najwyższych wzniesień wiemy, że przesądzie nas skazanie, ponieważ z pewnością umieści one najwyższe kontury średnio w regionach o niższej wysokości, więc wiemy, że średnia strefowa będzie mniejsza niż nominalny poziom konturu). Podobnie przesunięcie powinno prowadzić do dodatnich średnich błędów dla najniższych poziomów konturu - co robi, ale nie w takim samym stopniu.

Ponieważ ponownie próbkowane kontury są również prawidłowymi konturami tego samego rastra - aczkolwiek ze zmniejszoną rozdzielczością - to one, podobnie jak oryginały, nie powinny mieć średnio błędu. Tak rzeczywiście jest, jak pokazują czarne kółka. Jednak czarne kółka odbiegają od idealnej wartości zero nawet o kilka metrów, szczególnie na wyższych wysokościach: niższa rozdzielczość prowadzi do większej zmienności. Nic dziwnego, ale teraz skwantyfikowaliśmy efekt dla naszego konkretnego terenu.

Zielone kółka, które wykreślają średni błąd dla konturów w oparciu o błędne wzniesienia, wykazują spójny, systematyczny trend. To się zdarzaże trend jest w górę. To czysty przypadek i wynika on z korelacji przestrzennej na dalekie odległości: błąd elewacji okazał się dodatni głównie w obszarach o wyższej wysokości. W innych okolicznościach błędy mogą być generalnie ujemne lub - jeśli nie ma wysokiej korelacji przestrzennej - mogą się wyrównać i być nierozróżnialne pod tym względem od pierwotnych konturów. Jeśli chcemy być w stanie zidentyfikować taki błąd, musielibyśmy pójść dalej i zbadać, w jaki sposób średnia różni się w zależności od części mapy. (Możemy to zrobić, dzieląc regiony konturów na osobne strefy lub nawet sztucznie wycinając kontury na mniejsze części dla stref).

Inne naturalne kontynuacje tej analizy obejmowałyby wykreślanie strefowych odchyleń standardowych; tworzenie map błędów; i być może kreślenie poszczególnych profili wzdłuż konturów.

Podsumowanie

Ta odpowiedź zaleca bezpośrednie porównanie warstw konturu z zestawem danych rastrowych za pomocą streszczeń strefowych. Wizualizacje i podsumowania statystyczne statystyk strefowych opartych na konturach pochodzących z samego rastra stanowią odniesienie do porównania. Dodatkowe informacje na temat tego, co może pójść nie tak - pod względem utraty rozdzielczości, błędów pozycji i błędów wysokości - można uzyskać, wprowadzając takie błędy i analizując powstałe kontury. Ponieważ wyniki prawdopodobnie będą specyficzne dla samego terenu, niechętnie staram się zapewnić jakiekolwiek uogólnienia lub uniwersalne wskazówki poza tym.

Whuber
źródło
2
Umieściłeś słowa, logikę i liczby w tym, co mogłem sobie tylko wyobrazić. Dogodnie posłuży to również jako podstawa do oparcia dalszych ankiet, które mam w toku. Dziękuję bardzo.
GotsMahBox