library(maps)
1> map.where(database="world",29.392089,53.592505)
[1] "USSR"
Run Code Online (Sandbox Code Playgroud)
有谁知道如何获得更新的世界地图数据库来在地图包中驱动这个功能?我现在只需要国名,而不是详细的地方行政信息,例如gadm.org提供的信息.
尝试wrld_simpl在maptools包中.
require(maptools)
data(wrld_simpl)
plot(wrld_simpl)
## or subset based on the name
plot(wrld_simpl[wrld_simpl$NAME == "Russia", ])
## explore other attributes
summary(wrld_simpl)
Run Code Online (Sandbox Code Playgroud)
我不知道它是如何更新的,但?wrld_simpl描述了来源,所以你可能会发现链接后的好东西.其他依赖的软件包sp也值得探索数据.
否则,有Rgshhs包,但我不确定它仍然可用.它带有公平的细节,但如果需要,您可以下载更多.它有点复杂,原始数据在这里:http://www.ngdc.noaa.gov/mgg/shorelines/gshhs.html
rgdal如果您拥有自己的数据,或者maptools仅使用shapefile中的类似读取函数,您还可以使用矢量格式(如MIF或SHP或PostGIS)读取数据.
使用点查询对象的示例:
require(sp)
require(maptools)
data(wrld_simpl)
pts <- SpatialPoints(cbind(c(29.392089,147), c(53.592505, -35)), CRS(proj4string(wrld_simpl)))
over(pts, wrld_simpl)$NAME
Run Code Online (Sandbox Code Playgroud)
有关这些和其他函数的介绍,sp请参阅vignette("sp").
还可以尝试使用该geonames包进行更一般的地理名称查询.