Автокригинг пространственных данных

Я пытаюсь использовать функцию кригинга для создания вертикальных карт химических параметров на разрезе океана, и мне трудно начать.

Мои данные выглядят так:

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). Я подозреваю, что решение моей проблемы значительно проще, чем я это представляю.


person Drew Steen    schedule 13.06.2012    source источник
comment
Вы должны указать свою версию MacOS. Если он меньше 10.6.x (как у меня и как следует из вашего неверного утверждения об отсутствии доступных двоичных файлов), то вам, вероятно, не повезло с «rgdal».   -  person IRTFM    schedule 13.06.2012
comment
Отредактированный вопрос, чтобы отразить, что я использую OSX 10.7. Я не могу найти двоичные файлы для rgdal в CRAN (по ссылке) — они доступны где-то еще? - О, @Paul Hiemstra упоминает, где они.   -  person Drew Steen    schedule 13.06.2012
comment
См. мой ответ для ссылки на двоичные файлы rgdal для Mac, но я сомневаюсь, что они вам нужны для этой конкретной проблемы. Хотя rgdal, тем не менее, здорово иметь.   -  person Paul Hiemstra    schedule 13.06.2012


Ответы (1)


Итак, есть несколько вопросов, на которые вы хотите получить ответ:

  1. Функция spTransform не создает SPDF, а выполняет преобразование между проекциями. Чтобы создать SPDF, вы можете использовать простой data.frame в качестве начала. Чтобы преобразовать df в SPDF:

    coordinates(df) = c("horiz", "depth")
    
  2. Двоичные файлы rgdal для OS X можно найти по адресу http://www.kyngchaos.com/software/frameworks. Но я сомневаюсь, что вам нужен rgdal.

  3. spTransform может работать с данными широты и долготы, а также с прогнозируемыми данными. Но я не думаю, что вам нужен rgdal или spTransform, см. также пункт 1.

  4. После создания SPDF с использованием пункта 1 вы можете использовать информацию в сообщении, которое вы упомянули продолжать.

person Paul Hiemstra    schedule 13.06.2012
comment
не могли бы вы включить пакет, содержащий coordinates(), в свой ответ? Даже не представлял, что это так просто! - person tim riffe; 13.06.2012
comment
Это из пакета sp, который также предоставляет SPDF. - person Paul Hiemstra; 13.06.2012