R地理区域一揽子计划

R地理区域一揽子计划,r,R,有人告诉我一个R包,它定义了一些地区和国家的边界。我正在寻找意大利地区威尼托的边界。包裹的名字是什么?您知道找到该边框的其他方法吗(我不确定包装中是否包含Veneto)??如何: require(raster) veneto = subset(getData('GADM', country='ITA', level=1), NAME_1=="Veneto") plot(veneto) 您还可以使用D3群组中流行的TopoJSON/GeoJSON文件: library(rgdal) libra

有人告诉我一个R包,它定义了一些地区和国家的边界。我正在寻找意大利地区威尼托的边界。包裹的名字是什么?您知道找到该边框的其他方法吗(我不确定包装中是否包含Veneto)??

如何:

require(raster)
veneto =  subset(getData('GADM', country='ITA', level=1), NAME_1=="Veneto")
plot(veneto)

您还可以使用D3群组中流行的TopoJSON/GeoJSON文件:

library(rgdal)
library(RCurl)
library(ggplot2)
library(rgeos)

# for theme_map()
devtools::source_gist("https://gist.github.com/hrbrmstr/33baa3a79c5cfef0f6df")

# location of Italy TopoJSON file
url <- "https://gist.githubusercontent.com/andreaangeli/5b64a102e357198780e9/raw/e076b45eb2fcb8de6a0ec612f863499181bb494b/ita.json"

download.file(url, destfile="ita.json", method="curl")

ogrListLayers("ita.json") # to see that the layer is "reg2011"

ita <- readOGR("ita.json", "reg2011")

veneto <- ita[ita$id == 5,] # region 5 is Veneto

# could just plot(veneto) now, but I like ggplot better

veneto_map <- fortify(veneto, region="id")

gg <- ggplot(data=veneto_map) 
gg <- gg + geom_map(map=veneto_map, aes(map_id=id, group=group, x=long, y=lat), color="black", fill="white")
gg <- gg + coord_map()
gg <- gg + theme_map()
gg

非常感谢!这正是我想要的!你知道一个很好的关于空间多边形框架的参考资料吗?我必须在这方面做大量的工作,我想知道关于这些物体的所有情况。。是一个很好的入门教程谢谢!但是威尼斯怎么样?它已从该地图上切掉。它已被“优化/简化”。许多TopoJSON/GeoJSON文件试图减少多边形的数量,以便图形绘制速度更快(多边形越多,速度越慢)。区域级别的ShapeFile通常也会进行多边形优化(即,它的功能不限于TopoJSON/GeoJSON)。甚至此处的管理级形状文件也已简化。如果您需要详细信息,可以找到其他来源(如内置的Spacedman)。对于许多地图需求来说,边界细节并不重要。我在谷歌搜索了2秒后也发现了一个。还有很多。它也被压扁了,因为它将lat视为平等的合作伙伴。在告诉人们如何制作压扁的地图之前,先整理投影。我的不好。我的意思是做
coord_map()
并最终做了两次
geom\u map()
。很高兴它顺利交付。
download.file("http://biogeo.ucdavis.edu/data/diva/adm/ITA_adm.zip", "ITA_adm.zip")
unzip("ITA_adm.zip", exdir="ITA_adm")

ita <- readOGR("ITA_adm/", "ITA_adm1")

veneto <- ita[ita$NAME_1 == "Veneto",] # this shapefile has region names in it!

veneto_map <- fortify(veneto)

gg <- ggplot(data=veneto_map) 
gg <- gg + geom_map(map=veneto_map, aes(map_id=id, group=group, x=long, y=lat), color="black", fill="white")
gg <- gg + coord_map()
gg <- gg + theme_map()
gg