将自定义地图添加到地图包中

时间:2017-09-19 14:56:39

标签: r maps

我希望能够在MapEnv包中的maps目前无法使用的地图上使用map.where功能 - 例如巴西的这些地图:{{3} }。它们比maps包中的可用级别更精细。

是否有将它们添加到包数据中以便maps.where可以使用它们?

1 个答案:

答案 0 :(得分:1)

是的,通常可以将shp文件加载到map()中。但是,您需要额外的软件包才能首先读取shp文件。此外,您还必须知道命名多边形的字段的名称。 例如,使用链接中的一个地图:

> ufebrasil <- rgdal::readOGR("UFEBRASIL.shp")
> names(ufebrasil)
[1] "ID"         "CD_GEOCODU" "NM_ESTADO"  "NM_REGIAO" 
> mymap=maps::SpatialPolygons2map(ufebrasil, namefield="NM_ESTADO")
> map.where(mymap, -48.6, -26.46)
[1] "SANTA CATARINA:1"

您也可以直接致电

  

mymap = maps :: map(ufebrasil,namefield =&#34; NM_ESTADO&#34;)

绘制地图并提供与上面相同的地图数据(如果需要,map()将自动调用SpatialPolygons2map。)