0

我需要意大利伦巴第地区的地图。

但是,当我运行map("italy")时,我可以看到数据集是在省级划分的,而不是区域级的。伦巴第由 12 个省组成。我可以通过做得到米兰(城市和省)的地图,map("italy","Milan")但是当我做的时候它给了我一个错误map("italy","Lombardy")

我的问题是:如何在一张地图中放置多个省份(伦巴第地区的省份)?是否可以删除内部边框?

4

1 回答 1

2

maps帮助:

该意大利数据库来自联合国环境规划署 (UNEP) GRID-Geneva 数据集的 NUTS III(欧共体三级行政单位)数据库。这些是在 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')

Imo格式比YMMVsf格式更适合任何用途。maps

于 2017-07-10T12:42:54.773 回答