我想附加一组相关的方法并给出一个地区的边界。
我尝试了以下但卡住了:
require(osmar)
require(XML)
# a set of open street map ways (lines) related as given by a relation..
# (if connected these ways represent the boundary of a political
# district in Tyrol/Austria)
myxml <- xmlParse("http://api.openstreetmap.org/api/0.6/relation/85647")
# extracting way ids at the according xml-nodes:
els <- getNodeSet(myxml, "//member[@ref]")
ways <- as.numeric(sapply(els, function(el) xmlGetAttr(el, "ref")))
# now I try to get one of those ways as an osmar-obj and plot it,
# which throws an error:
plot_ways(get_osm(way(ways[1])))
显然缺少一个边界框,但我不知道如何将它分配给这种对象..如果我解决了这个问题,我想用线条/方式制作一个多边形。
最佳答案
该软件包的作者非常友好地提供了缺少当前文档的信息:
参数 get_osm(.., all = T) 只是丢失了... all = T 检索所有相关元素。
要获得我想要的地区边界,以下代码适用:
District_Boundary <- get_osm(relation(85647), all = T)
关于r - 在 R 中使用 Openstreetmap 和 get_osm {osmr},我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8979946/