map.where('world',x,y)返回的不仅仅是国家

时间:2018-06-15 12:46:17

标签: r

为什么会这样?

maps::map.where('world', -73.97058, 40.76813)
## "USA"
maps::map.where('world', -73.59143, 40.74178)
## "USA:New York:Long Island"

为什么第二次调用返回的不仅仅是USA

1 个答案:

答案 0 :(得分:0)

世界地图中的每个多边形都有不同的名称。 '美国'是美国主要的大陆多边形。所有其他多边形(岛屿等)也是美国的一部分,具有如此长的名称。所有其他国家也使用相同的命名方案。所以你也将拥有法国'和法国:科西嘉岛'等

绘制地图时,maps::map('world','usa')实际上会绘制以这些字母开头的所有多边形。但添加选项exact=TRUE将仅绘制主多边形。

map.where()返回该点所在的多边形的全名。如果您只想要国家/地区名称,则可以使用类似

的内容
strsplit( map.where(...), ':')[[1]][1]