Przestrzenno-czasowy blok kriging z pakietem R gstat?


9

W dokumentacji spwidziałem, że coordsargument SpatialPolygonsfunkcji akceptuje tylko 2 kolumny. Czy nie można tworzyć trójwymiarowych wielokątów? Robię przestrzenno-czasowe kriging za pomocą pakietu gstat, dodając czas jako trzeci wymiar przestrzenny SpatialPointsDataFrame. Chciałbym to rozszerzyć, aby zablokować kriging z wielokątami jako blokami. Czy istnieje jakiś sposób, aby to zrobić?

Odpowiedzi:


5

Na sp, SpatialPoints*, SpatialPixels*i SpatialGrid*(o *pominięte lub zastąpione DataFrame) obsługują więcej niż 2 wymiarach przestrzennych, a OP wykonane, ale SpatialPolygons*i SpatialLines*nie. Za pomocą gstatmożesz wykonać krigowanie bloków 3-D z blokami 3-D (używając block = c(10,10,10)), ale nie możesz tego zrobić dla bloków nie prostokątnych, jak chce OP. Zamiana czasu na trzeci wymiar jest całkowicie OK, ale jesteś ograniczony do metrycznego wariogramu ST.

library(gstat)
vignette("st")

daje więcej opcji dla modeli wariogramów, ale nie do przewidywania średnich wartości bloków (jest to FYI, a nie odpowiedź na pytanie).

Jedyną odpowiedzią na to pytanie byłoby wykonanie symulacji warunkowych 3D i zsumowanie wartości punktów na dowolnych blokach 3D (wielokąt 2D + zasięg czasowy). Nużący, ale możliwy; także tylko wzdłuż ścieżki 3D, a nie wzdłuż ścieżki opisanej w winiecie ST ( krigeSTnie wykonuje symulacji - jeszcze!).


3

Naprawdę musisz zrobić trochę więcej badań na temat swojej metodologii i przeczytać dokumentację, aby zrozumieć strukturę obiektów klasy sp S4 i interakcję obiektów sp z odpowiednimi funkcjami gstat. W winiecie sp znajduje się szczegółowe wyjaśnienie różnicy między obiektami SpatialPolygons (tylko topologia wielokątów) i SpatialPolygonDataFrame (wielokąty z atrybutami).

To, co wyjaśniasz, nie jest blokowaniem Kriginga, a użycie czasu jako atrybutu nie powoduje oszacowania przestrzenno-czasowego. Metodologia koncepcyjna, którą opisujesz, jest dość nieprawidłowa. Używanie wielokątów lub centroidów wielobocznych narusza założenia Kriginga dotyczące jednolitego pola losowego, anizotropii i niestacjonarności.

Oto ładna winieta gstat na modelach przestrzenno-czasowych wykorzystujących interfejs do pakietu czasoprzestrzeni. Powinienem również zauważyć, że ograniczony pakiet Kriging może prowadzić blok Kriging na blokach o dowolnym kształcie, używając niestacjonarnej funkcji średniej i izotropowego słabo stacjonarnego wariogramu.

To powiedziawszy, aby odpowiedzieć na twoje pytanie, możesz przekazać obiekt SpatialPointsDataFrame bezpośrednio do wariogramu / modelu Kriginga w gstat. W tym typie obiektu sp atrybuty znajdują się w gnieździe „danych” i są już dołączone do współrzędnych za pośrednictwem wewnętrznej struktury klasy S4.

# COERCE meuse DATAFRAME TO sp SpatialPointsDataFrame OBJECT
require(gstat)
data(meuse)
coordinates(meuse) <- ~ x + y
head(meuse@data)

# CREATE SEMIVARIOGRAM USING THE zinc ATTRIBUTE
# NOTE: THERE IS NO ARGUMENT FOR A "4th DIM"
v <- variogram(log(zinc) ~ 1, meuse)
plot(v, type = "l")

0

Czas byłby czwartym wymiarem, poziom Z lub wysokość byłby trzecim, cyny lub dems lub poziomy Z obsługiwałyby wysokość w gis, czas może być reprezentowany przez wersjonowaną bazę danych. możesz odwzorować wielokąt na cynę lub przeciąć go z dem, lub powiązać kolumnę az z kolumnami xy reprezentującymi punkty kształtu wielokąta. Być może mógłbyś również dodać pole czasu z zakresem wartości i zmian wartości w czasie, zwiększanych jako kolumny. Oczywiście ESRI prawdopodobnie ma do tego odpowiednie narzędzie.


Nie sądzę, by Analityk Geostatystyczny popiera kriging w czasoprzestrzeni.
Paul Hiemstra
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.