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 を使用してデータをダウンロードする.以下の関数を利用できる.

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")
  • sp オブジェクトへの変換と描画

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