Räumlich-zeitliches Blockkriging mit R-Paket gstat?

9

In der Dokumentation von habe spich gesehen, dass das coordsArgument der SpatialPolygonsFunktion nur 2 Spalten akzeptiert. Ist es nicht möglich, dreidimensionale Polygone zu erstellen? Ich mache räumlich-zeitliches Kriging mit Paket, gstatindem ich Zeit als dritte räumliche Dimension von a hinzufüge SpatialPointsDataFrame. Ich möchte das erweitern, um Kriging mit Polygonen als Blöcke zu blockieren. Gibt es eine Möglichkeit, das zu tun?

Nima
quelle

Antworten:

5

In sp, SpatialPoints*, SpatialPixels*und SpatialGrid*(mit *weggelassen oder ersetzt durch DataFrame) unterstützt mehr als 2 räumliche Dimensionen, wie OP getan hat, aber , SpatialPolygons*und SpatialLines*dies nicht tun. Mit gstatkönnen Sie 3-D-Block-Kriging mit 3-D-Blöcken (mit block = c(10,10,10)) durchführen, aber Sie können dies nicht für nicht rechteckige Blöcke tun, wie OP es wünscht. Es ist vollkommen in Ordnung, die dritte Dimension durch Zeit zu ersetzen, aber Sie sind auf das metrische ST-Variogramm beschränkt.

library(gstat)
vignette("st")

bietet Ihnen mehr Optionen für Variogrammmodelle, jedoch nicht für die Vorhersage von Blockmittelwerten (dies ist FYI, keine Antwort auf die Frage).

Die einzige Antwort auf die Frage wäre, 3D-bedingte Simulationen durchzuführen und Punktwerte über Ihre beliebigen 3D-Blöcke (2D-Polygon + Zeitumfang) zu aggregieren. Langweilig, aber möglich; auch nur entlang des 3D-Pfades, nicht entlang des in der ST-Vignette beschriebenen Pfades ( krigeSTführt noch keine Simulation durch!).

Edzer Pebesma
quelle
3

Sie müssen wirklich etwas mehr über Ihre Methodik recherchieren und die Dokumentation lesen, um die Struktur von sp S4-Klassenobjekten und die Interaktion von sp-Objekten mit relevanten gstat-Funktionen zu verstehen. In der sp-Vignette wird der Unterschied zwischen SpatialPolygons-Objekten (nur Polygontopologie) und SpatialPolygonDataFrame-Objekten (Polygone mit Attributen) ausführlich erläutert.

Was Sie erklären, ist nicht, Kriging zu blockieren, und die Verwendung von Zeit als Attribut führt nicht zu einer räumlich-zeitlichen Schätzung. Die von Ihnen beschriebene konzeptionelle Methodik ist ziemlich ungültig. Die Verwendung von Polygonen oder Polygonschwerpunkten verstößt gegen die Kriging-Annahmen eines einheitlichen Zufallsfeldes, einer Anisotropie und einer Nichtstationarität.

Hier ist eine schöne gstat-Vignette zu räumlich-zeitlichen Modellen, die die Schnittstelle zum Raumzeitpaket verwenden. Ich sollte auch beachten, dass das ConstrainedKriging-Paket Block-Kriging an beliebig geformten Blöcken unter Verwendung einer nichtstationären Mittelwertfunktion und eines isotropen, schwach stationären Variogramms durchführen kann.

Um Ihre Frage zu beantworten, können Sie ein sp SpatialPointsDataFrame-Objekt direkt an ein Variogramm / Kriging-Modell in gstat übergeben. Bei dieser Art von sp-Objekt befinden sich Attribute im "Daten" -Slot und sind bereits über die interne S4-Klassenstruktur an die Koordinaten gebunden.

# 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")
Jeffrey Evans
quelle
0

Zeit wäre eine vierte Dimension, Z-Ebene oder Höhe wäre die dritte, Dosen oder Dems oder Z-Ebenen behandeln die Höhe in GIS, Zeit könnte durch eine versionierte Datenbank dargestellt werden. Sie können das Polygon einem Zinn zuordnen oder mit einem dem schneiden oder den xy-Spalten, die die Polygonformpunkte darstellen, eine az-Spalte zuordnen. Vielleicht können Sie auch ein Zeitfeld mit einer Reihe von Werten und Wertänderungen im Laufe der Zeit hinzufügen, die als Spalten inkrementiert werden. Natürlich hat ESRI wahrscheinlich ein Werkzeug dafür.

Lewis
quelle
Ich glaube nicht, dass der Geostatistical Analyst Raum-Zeit-Kriging unterstützt.
Paul Hiemstra