Автокригирование пространственных данных
Я пытаюсь использовать функцию кригинга для создания вертикальных карт химических параметров в океаническом разрезе, и мне трудно начинать.
Мои данные выглядят так:
horiz=rep(1:5, 5)
depth=runif(25)
value = horiz+runif(25)/5
df <- data.frame(horiz, depth, value)
autoKrige
функция в automap
Пакет выглядит так, как будто он должен сделать работу за меня, но он принимает объект класса SpatialPointsDataFrame
, Насколько я могу судить, функция spTransform
в упаковке rgdal
создает SpatialPointsDataFrame
объекты, но есть две проблемы:
Двоичные файлы OSX не доступны от CRAN, и моя копия RStudio, работающая на OXS 10.7, кажется, не в состоянии установить его, и
Эта функция, кажется, работает на широте / длине данных и корректирует значения расстояния для кривизны Земли. Так как я имею дело с вертикальной плоскостью (и короткими расстояниями, масштабом в сотни метров), я не хочу исправлять свои расстояния.
Здесь отлично обсуждается кригинг в R, но из-за проблем, перечисленных выше, я не совсем понимаю, как применить его к моей конкретной проблеме.
Я хочу матрицу или информационный кадр, описывающий сетку точек с интерполированными значениями для моих химических параметров, которые я затем могу построить (в идеале, используя ggplot2). Я подозреваю, что решение моей проблемы значительно проще, чем я думаю.
1 ответ
Итак, есть несколько вопросов, на которые вы хотите получить ответ:
spTransform
Функция не создает SPDF, но трансформируется между проекциями. Для создания SPDF вы можете использовать простойdata.frame
как начало. Преобразовыватьdf
в SPDF:coordinates(df) = c("horiz", "depth")
Бинарные файлы OS X
rgdal
можно найти на http://www.kyngchaos.com/software/frameworks. Но я сомневаюсь, если вам нужен RGDAL.spTransform
может работать как с данными по долготе, так и с проецируемыми данными. Но я не думаю, что вам нужно RGDAL, илиspTransform
см. также пункт 1.После того, как вы создадите SPDF, используя пункт 1, вы можете использовать информацию в сообщении, которое вы упомянули, чтобы продолжить.