Значение R сюжетной сетки на картах

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

Спасибо за помощь.

Ответы на вопрос(1)

Решение Вопроса

Существует примерно два варианта: один с использованием пакета lattice и sp, а другой с использованием пакета ggplot2:

lattice / sp

Сначала вы должны преобразовать свои данные вSpatialPixelsDataFrame (предоставляется sp-пакетом), предполагая, что ваши данные называютсяdf:

require(sp)
gridded(df) = c("lat","lon")

а затем заговор:

spplot(df, "value")

наложение дополнительной информации, такой как границы стран, может быть сделано с помощьюsp.layout аргумент:

spplot(df, "value", sp.layout = list("sp.lines", cntry_boundaries))

гдеcntry_boundaries этоSpatialLines(DataFrame), или жеSpatialPolygons(DataFrame), Считать полигон в R можно с помощьюrgdal пакет илиmaptools пакет (readShapeLines).

ggplot2

Я лично предпочитаю использоватьggplot2 надspplot. ggplot2 является более гибким и имеет более четкий синтаксис. Обратите внимание, чтоggplot2 работает с нормальнымdata.frame's, а не с пространственными объектами sp-пакета.

Минимальный пример будет выглядеть примерно так:

ggplot(aes(x = lat, y = lon), data = df) + geom_tile(aes(fill = value)) + 
    geom_path(data = cntry_boundaries)

Для получения дополнительной информации см. Мои предыдущие ответы:

Plotting interpolated data on map Average values of a point dataset to a grid dataset
 04 июн. 2013 г., 19:26
Этот ответ так хорош! Имел ту же проблему и руководствовался этим ответом, чтобы решить мою проблему. +1

Ваш ответ на вопрос