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.
spatial-statistics
contour
comparison
GotsMahBox
źródło
źródło
Odpowiedzi:
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 :
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:
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 (
Max
iMin
) 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
,Mean
iCount
wartości: to pokazuje, jak średnie wzniesienie błąd rastra (Mean
minusElevation
) 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ą.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.
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.
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:
Wykresy środków strefowych są nałożone na siebie w celu łatwego porównania na następnym rysunku.
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.
źródło