首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Map3.2.0包(r):如何将数据集的多个区域放置在同一地块中?

Map3.2.0包(r):如何将数据集的多个区域放置在同一地块中?
EN

Stack Overflow用户
提问于 2017-07-10 11:21:33
回答 1查看 746关注 0票数 0

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

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

我的问题是:我怎样才能把多个省(伦巴第地区的省份)放进一张地图?有可能删除内部边界吗?

EN

回答 1

Stack Overflow用户

发布于 2017-07-10 12:42:54

来自maps帮助:

这一意大利数据库来自联合国环境规划署(环境规划署)全球资源数据库-日内瓦数据集的“欧洲共同体第三级行政单位”数据库。这些都是1989年左右准备的,所以可能有点过时了.

当时隆巴第只有10个省,所以我们会用这些。

代码语言:javascript
复制
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

代码语言:javascript
复制
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()把他们“联合起来”

代码语言:javascript
复制
lombardy_sf <- st_union(lombardy_sf_provs)
plot(lombardy_sf, col = 'lightblue')

sf格式比maps格式YMMV更适用于任何用途。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45010734

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档