2012-01-23 8 views
2

私は、関連性のある方法と地区の境界線を追加したいと思います。 私は次のことを試みたが、アップ捕まってしまった:get_osm {osmar}でRでオープンストリートマップを使用する

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

どうやらそこに欠けてバウンディングボックスのだが、私は、オブジェクトのこの種に割り当てる方法がわからない..私はこの問題が解決されたら、私はしたいのですが1つのポリゴンを線からはずします。

答えて

2

パッケージの作成者は、現在のドキュメントが欠けていた情報を提供するのにとても親切でした: 引数get_osm(..、all = T)は単に欠落していました... all = Tのすべての関連要素が取得されました。

私の希望地区の境界を取得するには、次のコードが適用されます。

District_Boundary <- get_osm(relation(85647), all = T) 
関連する問題