【发布时间】:2017-08-21 06:34:35
【问题描述】:
我的主要目标是将几个空间多边形组合成一张地图,然后根据变量的级别为它们着色。
为此,我首先清理和汇总 GADM 数据:
france <- getData("GADM", country = "FRA", level = 5)
接下来,我将几个区域合并为:
Normandie_names <- c("Basse-Normandie", "Haute-Normandie")
Normandie_index <- which(france$NAME_1 %in% Normandie_names)
regionOfInterest_Normandie <- gUnionCascaded(france[Normandie_index, ])
Normandie <- regionOfInterest_Normandie %>% geometry
Normandie <- sapply(Normandie@polygons, slot, "area") %>%
{which(. == max(.))} %>% Normandie[.]
Normandie$Name <- "Normandie"
2) 第二个区域以同样的方式:
Bourgogne_Franche_Comte_names <- c("Bourgogne", "Franche-Comté")
Bourgogne_Franche_Comte_index <- which(france$NAME_1 %in%
Bourgogne_Franche_Comte_names)
regionOfInterest_Bourgogne_Franche_Comte <-
gUnionCascaded(france[Bourgogne_Franche_Comte_index, ])
Bourgogne_Franche_Comte<-regionOfInterest_Bourgogne_Franche_Comte%>% geometry
Bourgogne_Franche_Comte<- sapply(Bourgogne_Franche_Comte@polygons, slot, "area") %>%
{which(. == max(.))} %>% Bourgogne_Franche_Comte[.]
Bourgogne_Franche_Comte$Name <- "Bourgogne_Franche_Comte"
现在,我有 2 个空间多边形,但我想根据外部值对它们进行着色: 假设 Bourgogne_Franche_Comte 值为 100,Normandie 值为 30。 我想用相同颜色但不同级别(即深绿色或亮绿色)为地图着色。
首先我想合并两个空间多边形:
joined <- union(Normandie, Bourgogne_Franche_Comte)
然后也许使用绘图功能,但是
plot(joined, col = joined$Value)
关键是要控制颜色和颜色的级别 - 取决于值。
感谢帮助!!
【问题讨论】:
-
请提供一个可重现的例子。我知道 GADM 是一个广泛使用的数据集,但如果您可以通过提供一些现成的代码来获取与您正在使用的数据相同的数据,或者创建一个玩具,让我们更容易帮助您,那就太好了使用从头开始创建的 shapefile 示例来说明问题。