我需要意大利的伦巴第地区地图。
然而,当我运行map("italy")时,我可以看到数据集是在省一级划分的,而不是在区域级别上划分的。伦巴第由12个省组成。我可以通过map("italy","Milan")得到米兰(市和省)的地图,但是当我做map("italy","Lombardy")时它会给我一个错误。
我的问题是:我怎样才能把多个省(伦巴第地区的省份)放进一张地图?有可能删除内部边界吗?
发布于 2017-07-10 12:42:54
来自maps帮助:
这一意大利数据库来自联合国环境规划署(环境规划署)全球资源数据库-日内瓦数据集的“欧洲共同体第三级行政单位”数据库。这些都是1989年左右准备的,所以可能有点过时了.
当时隆巴第只有10个省,所以我们会用这些。
library(maps)
lombardy_provs <- map('italy', c('Milan', 'Bergamo', 'Brescia', 'Como',
'Cremona', 'Lecco', 'Mantova', 'Varese',
'Pavia', 'Sondrio'),
resolution = 0)resolution = 0参数用于获得可用的最大分辨率,否则我们将得到工件。

我们使用新的sf (simple features)包将这些区域联合起来。
首先,我们将map对象强制转换为sf
library(sf)
#> Linking to GEOS 3.5.0, GDAL 2.1.1, proj.4 4.9.3
lombardy_sf_provs <- st_as_sf(lombardy_provs)
plot(lombardy_sf_provs)

然后我们就可以用st_union()把他们“联合起来”
lombardy_sf <- st_union(lombardy_sf_provs)
plot(lombardy_sf, col = 'lightblue')

sf格式比maps格式YMMV更适用于任何用途。
https://stackoverflow.com/questions/45010734
复制相似问题