Если я вас правильно понимаю, вы спрашиваете, как наложить разные географические слои, как если бы вы использовали ГИС с графическим интерфейсом.
Это просто, если данные находятся в объекте Spatial*
(например, SpatialPoints, SpatialLines, SpatialPolygons
и т. Д. Из пакета sp
) или в виде объекта Raster*
из пакета raster
. Методы plot()
в обоих этих пакетах могут обрабатывать это наложение, если задан параметр add=TRUE
.
Для переноса ваших векторных географических данных в объекты Spatial*
вы можете использовать функции из пакета maptools
(например, readShapePoly()
читает шейп-файлы полигонов ESRI). Растры из различных спецификаций файлов могут быть загружены с помощью raster()
, и дополнительные форматы доступны, если установлен пакет rgdal
.
Вот пример наложения географических типов данных с использованием сфабрикованных географических данных. Сначала создайте пример данных в сетке UTM:
library(sp)
library(raster)
## Create a RasterLayer object and fill with random values
baseRaster <- raster(nrow=100, ncol=100,
xmn=0, xmx=100, ymn=0, ymx=100,
crs= "+proj=utm")
baseRaster[] <- runif(ncell(baseRaster))
## Create a second raster to superimpose
## It should contain NA values where it is transparent
supRaster <- baseRaster
supRaster[] <- NA
supRaster[cellFromCol(supRaster, 48:52)] <- 1
## Create SpatialPoints object to superimpose on these
loc <- SpatialPoints(cbind(seq(10, 90, by=10), seq(10, 90, by=10)))
Теперь сделайте графики:
## Plot base raster
plot(baseRaster)
## Superimpose second raster in a different colour
## Turn off legend
plot(supRaster, add=TRUE, col="blue", legend=FALSE)
## Superimpose points and make them big and colourful
plot(loc, add=TRUE, pch=20, cex=3, col="red")
Вот результат:
