Jak poprawnie interpolować temperaturę?

11

Próbowałem interpolować średnią średnią roczną temperaturę, aby uzyskać „realistyczną” powierzchnię. W QGIS użyłem interpolacji rastrowej. Obie metody TIN i IDW nie zapewniły „realistycznej” powierzchni (np. W porównaniu z dobrą mapą w atlasie).

IDW (współczynnik 3):

IDW ze współczynnikiem 3

TIN (pokazuje także punkty interpolacji):

TIN liniowy pokazujący również moje punkty interpolacji

Wszelkie wskazówki, jak uzyskać „lepszą, bardziej realistyczną” interpolację?

Kurt
źródło
2
Zwłaszcza w przypadku górzystych terenów spodziewałbym się, że trzeba wziąć pod uwagę wysokość, aby uzyskać coś realistycznie odległego.
podmroku
@underdark: czy możesz wskazać mi stronę internetową, forum, tutorial, literaturę, w jaki sposób można to zrobić? dzięki!!
Kurt
Wydaje się to rozsądnym źródłem: ncgia.ucsb.edu/conf/SANTA_FE_CD-ROM/sf_papers/collins_fred/… . Ale dane klimatyczne nie są moją specjalnością.
podmrok
1
Czy chcesz stworzyć mapę, w której temperatury są pogrupowane w klasy Kurt? Powiedz coś takiego: perambulations.files.wordpress.com/2012/02/usda-zone-map1.jpg . N.
nhopton,
@nhopton: moim podstawowym zamiarem było stworzenie ciągłej powierzchni, co najmniej „zdalnie realistycznej”. Istnieje tylko kilka ukrytych punktów danych, a interpolacja w obszarach gór jest poza moim zakresem. więc może powinienem rozważyć próbę stworzenia „zgrupowanej” powierzchni temperaturowej. Ale: Czy taka „zgrupowana” powierzchnia nie potrzebuje wystarczająco poprawnie interpolowanych punktów danych jako pierwszy krok? Czy masz na to instrukcje / samouczek? To byłoby bardzo mile widziane! dzięki
Kurt

Odpowiedzi:

11

Możesz wziąć pod uwagę stosunek wysokości do temperatury, szczególnie na obszarach górskich. Można do tego użyć współkrigingu lub interpolacji splajnów (np. Splajny 3D obsługiwane przez GRASS GIS). W przypadku większych obszarów rolę mogą odgrywać inne zmienne: odległość od morza, szerokość geograficzna itp.

Aktualizacja: rozsądną metodą może być również regresja wielokrotna, dla GRASS 7 wprowadzono nowy dodatek: r.regression.multi

markusN
źródło
czy jest tutorial? Kupiłem trzecią edycję twojego grass-booka (springera), ale jako kompletny rockie nie wiem, od czego zacząć dzięki trawie
Kurt
Ciesz się pierwszymi rozdziałami :) To jest dla początkujących. Zobacz także kurs na geostat-course.org/Topic_NetelerMetz_2011 (materiał jest powiązany z tą stroną).
markusN
Zaktualizowano materiał na geostat-course.org/Topic_NetelerMetz_2012
markusN
1
Więcej nowych materiałów teraz na: neteler.gitlab.io/grass-gis-analysis
markusN
4

Interpolując dane klimatyczne, masz dwie opcje (widzę, że potrzebujesz gotowych samouczków, dam ci odniesienie, ale także kilka aspektów teoretycznych, które tutaj masz ):

  1. prosta interpolacja przy użyciu podejścia kriging jest najlepszą opcją, ponieważ będziesz mieć statystyczną relację sondowania. Możesz skorzystać z tego samouczka: w języku rumuńskim, ale możesz użyć Tłumacza Google (użyj SAGA).

  2. interpolacja współzmienna, kriging lub inna metoda, uzupełniająca dane temperaturowe o dane wysokościowe lub inne. Możesz skorzystać z tych samouczków: splajn Mitasova z napięciem (użyj GRASS) lub przykład książki Toma Hengla (używając R)

Niculita Mihai
źródło
3

Czy atmosferycznie korygujesz dane dotyczące temperatury? To wyjaśniałoby wysokość powierzchni nad poziomem morza i atmosferę. NCEP zapewnia mnóstwo danych atmosferycznych dla Ameryki Północnej.

Również interpolacja liniowa nie byłaby tak dobra, ponieważ temperatura zmienia się dobowo w ciągu każdego dnia.

nhunsaker
źródło
3

Kurt, możesz pogrupować wartości temperatur w twoim rastrze do klas i wyeksportować wyniki do nowego rastra za pomocą v.reclass z przybornika Sextante.

Chyba minimalna wartość interpolowanego rastra może wynosić (powiedzmy) -5, a maksymalna (powiedzmy) 30.

Użycie GRASS v.reclass z przybornika Sextante pozwoliłoby na zgrupowanie wartości w siedem klas za pomocą tego pliku tekstowego „rules” (można nazwać to „rules.txt”):

-5 thru 0 = 1
1 thru 5 = 2
6 thru 10 = 3
11 thru 15 = 4
16 thru 20 = 5
21 thru 25 = 6
26 thru 30 = 7

Wyjściem byłby nowy raster o wartości 1 dla wszystkich wartości od -5 do zera w oryginalnym rastrze, 2 dla wszystkich wartości od 1 do 5 w oryginalnym rastrze i tak dalej.

Procedura jest bardzo prosta, wystarczy interpolowany raster i plik tekstowy „reguły”. Zobacz także stronę Man dla v.reclass tutaj: http://grass.fbk.eu/gdp/html_grass64/r.reclass.html

Po sklasyfikowaniu nowy raster można również spoligonizować, aby uzyskać wielokątny plik kształtów, aby uzyskać twarde krawędzie na renderowanym kolorze obrazie. Możesz też stylizować plik kształtu i zapomnieć o rastrze.

Krótka notatka. Interpolacja jest jedną z tych rzeczy, które sprawiają, że to, co pozostało z moich włosów, stoi na końcu, ponieważ może generować bardzo przekonujące wyniki z bardzo cienkich danych. Co więcej, wyniki zwykle nie są możliwe do sprawdzenia, ponieważ wykorzystałeś wszystkie dane, które musisz wykonać interpolację, więc z natury rzeczy nie możesz przeprowadzić znaczących kontroli obszarów, dla których nie mieć dane.

W twoim przypadku dane dla obszaru poza granicami Austrii są cienkie i możesz rozważyć przycięcie końcowego obrazu mapy, aby pokazać tylko Austrię. A może zostawić punkty. Na przykład mogę mieć wykres z rozpryskami strzelby punktów, przez które rysuję linię prostą. Nieuczciwość zaczyna się, kiedy usuwam punkty :)

Nacięcie.

nhopton
źródło