Пространственно-временной блок кригинга с помощью R пакета gstat?

9

В документации spя видел, что coordsаргумент SpatialPolygonsфункции принимает только 2 столбца. Разве невозможно создать трехмерные полигоны? Я делаю пространственно-временной кригинг с использованием пакета gstat, добавляя время в качестве третьего пространственного измерения SpatialPointsDataFrame. Я хотел бы расширить это, чтобы блокировать кригинг с полигонами в качестве блоков. Есть ли способ сделать это?

Нима
источник

Ответы:

5

В sp, SpatialPoints*, SpatialPixels*и SpatialGrid**опущен или заменен DataFrame) делают поддержку более 2 пространственных измерений, так как ОП сделал, но SpatialPolygons*и SpatialLines*не делают. С ним gstatвы можете делать 3-D блок кригинга с 3-D блоками (используя block = c(10,10,10)), но вы не можете сделать это для непрямоугольных блоков, как хочет OP. Вполне нормально заменить время на третье измерение, но вы ограничены метрической вариограммой ST.

library(gstat)
vignette("st")

дает больше возможностей для моделей вариограммы, но не для прогнозирования средних значений блока (это FYI, а не ответ на вопрос).

Единственным ответом на этот вопрос будет трехмерное условное моделирование и агрегирование значений точек по вашим произвольным блокам 3D (2D многоугольник + временная протяженность). Утомительно, но возможно; также только вдоль трехмерной траектории, а не вдоль траектории, описанной в виньетке ST ( krigeSTне выполняет симуляцию - пока!).

Эдзер Пебесма
источник
3

Вам действительно нужно немного больше изучить свою методологию и прочитать документацию, чтобы понять структуру объектов класса sp S4 и взаимодействие объектов sp с соответствующими функциями gstat. В sp Vignette есть подробное объяснение различий между объектами SpatialPolygons (только топология полигонов) и SpatialPolygonDataFrame (полигоны с атрибутами).

То, что вы объясняете, - это не блочный кригинг, и использование времени в качестве атрибута не приводит к пространственно-временной оценке. Концептуальная методология, которую вы описываете, совершенно неверна. Использование многоугольников или центроидов многоугольников нарушает допущения Кригинга о равномерном случайном поле, анизотропии и нестационарности.

Вот хорошая виньетка gstat по пространственно-временным моделям, использующим интерфейс к пространственно-временному пакету. Следует также отметить, что пакет с ограниченным кригингом может проводить блочный кригинг на блоках произвольной формы с использованием нестационарной средней функции и изотропной слабо стационарной вариограммы.

Тем не менее, чтобы ответить на ваш вопрос, вы можете передать объект sp SpatialPointsDataFrame непосредственно в вариограмму / модель Кригинга в gstat. В объекте sp этого типа атрибуты находятся в слоте «data» и уже привязаны к координатам через внутреннюю структуру класса 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

Время будет четвертым измерением, z-уровень или высота будут третьим, банки или высота или шкалы z-уровней обрабатываются в ГИС, время может быть представлено версионной базой данных. Вы можете отобразить многоугольник на жесть или пересечь с демоном, или связать столбец az с столбцами xy, представляющими точки формы многоугольника. Возможно, вы могли бы также добавить поле времени с диапазоном значений и изменениями значений во времени, увеличенными в виде столбцов. Конечно, у ESRI, вероятно, есть инструмент для этого.

Льюис
источник
Я не думаю, что геостатистический аналитик поддерживает кригинг пространства-времени.
Пол Химстра