金子邦彦研究室3次元,地図地図情報システムとデータベースosmar を使ってみる

osmar を使ってみる

前準備

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)

[image]

描画

plot() 関数を用いて描画

library("osmar")
src <- osmsource_api()
bb <- center_bbox(130.21688103675842, 33.59656025053064, 500, 500)
ua <- get_osm(bb, source = src)
plot(ua)

[image]

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

[image]

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

[image]
  • 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"))
    

    [image]

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

    [image]

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

    [image]