osmar を使ってみる
前準備
Ubuntu の場合
Ubuntu で次のように操作
sudo apt -y update
sudo apt -y install libxml2-dev
sudo apt -y install libcurl3-dev
ダウンロード
OSM プロジェクト https://api.openstreetmap.org/api/0.6/ から HTTP-API を使用してデータをダウンロードする.以下の関数を利用できる.
- corner_bbod(): left, bottom, right, top の緯度経度を指定
- center_bbox(): 中心点(緯度経度)と幅と高さ(メートル)を指定
library("osmar")
src <- osmsource_api()
bb <- center_bbox(130.21688103675842, 33.59656025053064, 500, 500)
ua <- get_osm(bb, source = src)

描画
plot() 関数を使用してデータを視覚化する.
library("osmar")
src <- osmsource_api()
bb <- center_bbox(130.21688103675842, 33.59656025053064, 500, 500)
ua <- get_osm(bb, source = src)
plot(ua)

plot_nodes() 関数を使用して,ノード(点)のみを緑色で描画する.
library("osmar")
src <- osmsource_api()
bb <- center_bbox(130.21688103675842, 33.59656025053064, 500, 500)
ua <- get_osm(bb, source = src)
plot_nodes(ua, col="green")

plot_ways() 関数を使用して,ウェイ(線)のみを青色で描画する.
library("osmar")
src <- osmsource_api()
bb <- center_bbox(130.21688103675842, 33.59656025053064, 500, 500)
ua <- get_osm(bb, source = src)
plot_ways(ua, col="blue")

points を選択して空間データとして処理する.
library("osmar")
src <- osmsource_api()
bb <- center_bbox(130.21688103675842, 33.59656025053064, 500, 500)
ua <- get_osm(bb, source = src)
point <- as_sp(ua, "points")
spplot(point, c("id"))

lines を選択して空間データとして処理する.
library("osmar")
src <- osmsource_api()
bb <- center_bbox(130.21688103675842, 33.59656025053064, 500, 500)
ua <- get_osm(bb, source = src)
line <- as_sp(ua, "lines")
spplot(line, c("id"))

polygons を選択して空間データとして処理する.
library("osmar")
src <- osmsource_api()
bb <- center_bbox(130.21688103675842, 33.59656025053064, 500, 500)
ua <- get_osm(bb, source = src)
poly <- as_sp(ua, "polygons")
spplot(poly, c("id"))
