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() 関数を用いて,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() 関数を用いて,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"))