我正在寻找一张将德国、奥地利和瑞士部分地区组合到一个空间对象中的Map。这个区域应该代表那三个国家的德语区。我有一些部分在适当的位置,但找不到将它们组合起来的方法。如果有一个完全不同的解决方案来解决这个问题,我仍然感兴趣。
我得到德国和奥地利的Map:
require(maps)
germany <- map("world",regions="Germany",fill=TRUE,col="white") #get the map
austria <- map("world",regions="Austria",fill=TRUE,col="white") #get the map
瑞士更复杂,因为我只需要60-70%的人主要说德语。这样做的州(取自census report)是
cantonesGerman = c("Uri", "Appenzell Innerrhoden", "Nidwalden", "Obwalden", "Appenzell Ausserrhoden", "Schwyz", "Lucerne", "Thurgau", "Solothurn", "Sankt Gallen", "Schaffhausen", "Basel-Landschaft", "Aargau", "Glarus", "Zug", "Zürich", "Basel-Stadt")
州名可以与gadm.org/country中的数据一起使用(选择Switzerland & SpatialPolygonsDataFrame -〉Level 1或通过direct link),从gadm-object中获取德语区:
gadmCH = readRDS("~/tmp/CHE_adm1.rds")
dataGermanSwiss <- gadmCH[gadmCH$NAME_1 %in% cantonesGerman,]
我现在错过了将这些信息合并在一起的合并步骤。结果应该如下所示:
x1c 0d1x它代表了一个由合并区域的等高线组成的组合Map(德国+奥地利+ ~70%的瑞士),没有国家之间的边界。如果添加和删除国家之间的边界是可参数化的,那就太好了,但不是必须的。
1条答案
按热度按时间3npbholx1#
你可以这样做:
获取所需的面
瑞士各州的子集(这里是一个示例列表,不是正确的列表);在R中不需要用于这些事情的循环。
聚合(溶解)瑞士内部边界
将这三个国家合并