R / GIS:使用其他来源的数据覆盖GADM数据?

时间:2012-02-09 12:29:28

标签: r gis

我有来自Global Administrative Areas Database的行政边界数据。使用此数据绘制细分非常简单。例如,如果我想在佛罗里达州的县上覆盖文件mydata中包含的地理编码数据,我会下载美国的“2级”,然后使用此代码:

load("/home/anindya/Desktop/DELETE/USA_adm2.RData")
temp = as.data.frame(gadm) *Code for eyeballing structure of data
florida = gadm[344:410,]
plot(florida); points(mydata$longitude, mydata$latitude)

但是你如何在地形和水道上覆盖其他信息呢?我对来自Natural EarthGlobal Lakes and Wetlands Database的数据特别感兴趣。

后续编辑:非常感谢保罗解决这个问题。我在here at gis.stackexchange上交叉了这个问题的变体,其中R.K。给了一个很好的答案。也请仔细阅读。

1 个答案:

答案 0 :(得分:3)

如果我理解正确的话,你会问如何使用GUI GIS来叠加不同的地理图层。

如果数据位于Spatial*对象(例如来自SpatialPoints, SpatialLines, SpatialPolygons包的sp等)或来自{{1}的Raster*对象,则这是直截了当的包。如果给出参数raster,则这两个包中的plot()方法都可以处理此叠加。

要将基于矢量的地理数据导入add=TRUE个对象,您可以使用Spatial*包中的函数(例如maptools读取ESRI多边形shapefile)。可以使用readShapePoly()加载来自各种文件规范的栅格,如果安装了raster()软件包,则可以使用其他格式。

以下是使用制作的地理数据叠加地理数据类型的示例。首先在UTM网格上创建一些示例数据:

rgdal

现在做这些情节:

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)))

结果如下:

enter image description here