【发布时间】:2018-04-18 18:00:04
【问题描述】:
我有一个中级 (sul.ms) 的 shapefile,它有一个名为 MesoRegion 的独特属性
library(brazilmaps)
sul.ms <- get_brmap(geo="MesoRegion",geo.filter = list(State = 43),class="SpatialPolygonsDataFrame")
plot(sul.ms)
sul.ms@data$MesoRegion
[1] 4301 4302 4303 4304 4305 4306 4307
我有另一个 shapefile(从here 下载)
在市一级(来自其他来源)。该文件还有一个名为ID 的独特属性。
library(rgdal)
sul.mun <- readOGR("~","Rio_Grande_do_Sul_municipalities")
plot(sul.mun)
sul.mun@data$ID # should give 497 ID
我可以将它们相互叠加,这表明每个自治市都是中观地区的一部分,如下所示:
我想创建一个表,其中一列中包含自治市ID,另一列中包含对应的MesoRegion。假设有某种方法可以使用单个 mesoregion 裁剪自治市并将 mesoregion 的名称分配给裁剪区域,那么 R 中是否有任何方法可以做到这一点。
编辑:我尝试使用函数over
library(sp)
over(sul.mun, sul.ms,returnList = T)
这样就可以了。然而,我认为一个自治市是两个中间区域的一部分存在一个问题。不知道为什么会这样。
【问题讨论】:
-
好的。我提供了 shapefiles
-
你的第一个 shapefile 没有属性
state.id -
很抱歉给您带来了困惑。我现在已经编辑了问题以消除您的疑虑。