在R中画地图先从简单的maps包开始。
library("maps")
在这个maps包中有一些数据集,用命令data(package=”maps”),可以看到如下数据:
画出美国各州的边界:
map('state', panel.first=grid())
axis(1,lwd=0)
axis(2,lwd=0)
axis(3,lwd=0)
axis(4,lwd=0)
box()
标出美国的城市:
data(us.cities)
points(us.cities$long, us.cities$lat, pch=19)
标出人口大于一百万的城市
cities <- us.cities[us.cities$pop > 1000000,]
points(cities$long, cities$lat, pch=19)
text(cities$long, cities$lat, cities$name, col="blue", cex=0.8, pos=1)
强大的ggmap中的get_map()可以方便获得各种地理或遥感图像数据,可惜现在的google被屏蔽,试不了了。
下面这个是用VPN后调用get_map取得的美国地图图像。
另外也可以用OpenStreetMap包。
library("OpenStreetMap")
map <- openmap(c(50,-130), c(20,-60),type="apple-iphoto")
plot(map)