更新了R“maps”包的世界地图?

时间:2013-04-02 06:44:58

标签: r maps geospatial

library(maps)
1> map.where(database="world",29.392089,53.592505)
[1] "USSR"

有谁知道我如何获得更新的世界地图数据库来在地图包中驱动这个功能?我现在只需要国名,而不是详细的地方行政信息,例如gadm.org提供的信息。

1 个答案:

答案 0 :(得分:8)

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)

我不知道它是如何更新的,但?wrld_simpl描述了源代码,因此您可能会在链接后找到好东西。其他依赖sp的软件包也值得探索数据。

否则,有Rgshhs包,但我不确定它仍然可用。它带有公平的细节,但如果需要,您可以下载更多。它有点复杂,原始数据在这里:http://www.ngdc.noaa.gov/mgg/shorelines/gshhs.html

如果您有自己的数据,或者仅使用rgdal中的类似读取函数,您还可以使用maptools从矢量格式(如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

有关sp中这些和其他功能的介绍,请参阅vignette(“sp”)。

还可以尝试使用geonames包进行更一般的地理名称查询。