Pergunta

Eu gostaria de acrescentar um conjunto de formas que estão relacionadas e fornecer os limites de um distrito.Eu tentei o seguinte, mas fiquei preso:

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])))

aparentemente está faltando uma caixa delimitadora, mas não sei como atribuí-la a esse tipo de objeto.Se eu resolver esse problema, gostaria de fazer um polígono com as linhas/formas.

Foi útil?

Solução

o autor do pacote teve a gentileza de fornecer informações que faltavam na documentação atual:o argumento get_osm(.., all = T) simplesmente estava faltando...com all = T todos os elementos relacionados são recuperados.

para obter o limite do distrito desejado, o seguinte código se aplica:

District_Boundary <- get_osm(relation(85647), all = T)
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top