结合县的地理数据

时间:2011-12-19 21:09:01

标签: r maps geospatial

我想使用常见的颜色填充将TN州的多个县表示为单个区域。我可以使用以下代码执行此操作:

library(maps)
map("state", "tennessee", fill = TRUE, col="white", names = TRUE, plot = TRUE)
co <- map("county",region = c("tennessee,williamson","tennessee,davidson",
                         "tennessee,wilson","tennessee,cheatham"),
       col = "red", bg = "blue", fill = TRUE, plot = FALSE)
polygon(co$x, co$y, col = "yellow", border = "black")

但黑色边框是在我感兴趣的区域内绘制的。有没有办法定义多边形函数,使得普通的县边界不是用黑色绘制的?

谢谢。

2 个答案:

答案 0 :(得分:2)

  • 要获得整个投资回报率的外部边界,您需要使用map.poly()致电as.polygon=FALSE,然后使用lines()进行投影。
  • 要获得实体内部填充,您需要使用map.poly()as.polygon=TRUE进行通话,然后使用polygon()border=FALSE进行绘制。

如果您通过在命令行输入map并查看输入来查看map("state","tennessee",fill=T,col="white",names=T,plot=T) coords = map.poly("county",region=c("tennessee,williamson","tennessee,davidson","tennessee,wilson","tennessee,cheatham"), boundary=T, interior=F, fill=F, as.polygon=T) polygon(coords, col='red', border=F) map("county",region=c("tennessee,williamson","tennessee,davidson","tennessee,wilson","tennessee,cheatham"),fill=F,interior=F,add=T) 的代码,就可以看到这一点。

以下是我用来获得你想要的代码:

?map

enter image description here

从阅读map(..., interior=F, fill=T, col='red')开始,我认为简单地执行类似{{1}}的操作会起作用,但这似乎并没有。可能是一个错误,但我没有使用这个包足以确定... ...

答案 1 :(得分:2)

您可能希望阅读R Spatial任务视图,并使用package:maptools来读取和绘制Shapefile。然后你可以使用package:rgeos来解散一个县shapefile的边界,或者获取一个县和一个状态shapefile并分别绘制它们。

旧地图&#39;包裹有点限制。