Newer
Older
osmCoverage / doc / osmCoverage.md

osmCoverage

Summary

  1. 位置情報付きのデータとOpenStreetMap上のデータとを比較・評価して、各データのscoreを算出する。

  2. 算出されたデータは、PostGISデータベースに格納される。

Development

  • Used by NetBeans 8.2
  • OpenJDK 8

External library

build

Development environment

MachineStructure

  1. Geofabrikからjapan-latest.osm.pbfを「作業用PC」にダウンロード
  2. 「作業用PC」でゴニョゴニョすると、「統計データ(カバレッジ率)」と「ベクタタイル」が生成される
  3. 生成された「統計データ」と「ベクタタイル」を GitHub に プッシュ(push) する
  4. ついでに、Raspi3にある「公開用のPostGIS」にも「データ」をコピーする

処理

バス停留所データ

  • 国土交通省国土政策局「国土数値情報 バス停留所データ 平成22年」
  • 国土数値情報のバス停位置を中心とする、300m四方以内に存在するOSMのバス停ノードの評価点の合計を数える。また、nameが同一ならば600m四方以内にまでのノードも評価点に加える。
Type tag score,NO_NAME,FIXED,NO_BUS removed
node highway=bus_stop 50,1,1,- false
node amenity=bus_station 50,1,1,- false
area amenity=bus_station 50,1,1,- false
node public_transport=platform 50,1,1,1 false
node disused:highway=bus_stop 50,-,-,- true
node abandoned:highway=bus_stop 50,-,-,- true
node demolished:highway=bus_stop 50,-,-,- true
node no:highway=bus_stop 50,-,-,- true
node disused:public_transport=platform 50,-,-,- true
node abandoned:public_transport=platform 50,-,-,- true
node demolished:public_transport=platform 50,-,-,- true
node no:public_transport=platform 50,-,-,- true

評価点:

  • 基礎点 → 50ポイント
  • nameがない → 1ポイント
  • fixmeがある → 1ポイント
  • bus=yesがない → 1ポイント

燃料給油所データ

  • 国土交通省国土政策局「国土数値情報 燃料給油所データ 平成28年(2016)」
  • 国土数値情報の燃料給油所位置を中心とする、200m四方の矩形領域に存在するOSMのamenity=fuelノードの評価点の合計を数える。
Type tag score,NO_BLAND,FIXED removed
node & area amenity=fuel 50,1,1 false
node & area disused:amenity=fuel 50,-,- true
node & area abandoned:amenity=fuel 50,-,- true
node & area demolished:amenity=fuel 50,-,- true
node & area removed:amenity=fuel 50,-,- true
node & area no:amenity=fuel 50,-,- true

評価点:

  • 基礎点 → 50ポイント
  • blandがない → 1ポイント
  • fixmeがある → 1ポイント

郵便局データ

  • 国土交通省国土政策局「国土数値情報 郵便局データ(平成25年)」
  • 国土数値情報の位置を中心とする、200m四方の矩形領域に存在するOSMの amenity=postoffice ノードの評価点の合計を数える
Type tag score,FIXED removed
node & area amenity=post_office 50,1 false
node & area disused:amenity=post_office 50,- true
node & area abandoned:amenity=post_office 50,- true
node & area demolished:amenity=post_office 50,- true
node & area removed:amenity=post_office 50,- true
node & area no:amenity=post_office 50,- true

評価点:

  • 基礎点 → 50ポイント
  • fixmeがある → 1ポイント

警察署データ

  • 国土交通省国土政策局「国土数値情報 警察署データ(平成24年:2012)」
  • 国土数値情報の警察署位置を中心とする、200m四方の矩形領域に存在するOSMのamenity=policeノードの評価点の合計を数える
Type tag score,FIXED removed
node & area amenity=police 50,1 false
node & area disused:amenity=police 50,- true
node & area abandoned:amenity=police 50,- true
node & area demolished:amenity=police 50,- true
node & area removed:amenity=police 50,- true
node & area no:amenity=police 50,- true

評価点:

  • 基礎点 → 50ポイント
  • fixmeがある → 1ポイント

使い方

database PostGIS

PostGIS(osmdb) データベースを立ち上げる

"PostGIS"を起動する

  • Use by DockerHub kartoza/postgis:9.6-2.4

1) docker pull kartoza/postgis:9.6-2.4

2) WORKAREA=$pwd

3) mkdir $HOME/pg_data

4) docker run --name=osmdb -m 2g -d -e POSTGRES_USER=alex -e POSTGRES_PASS=password -e POSTGRES_DBNAME=osmdb -e ALLOW_IP_RANGE=0.0.0.0/0 -p 5432:5432 -v $HOME/pg_data:/var/lib/postgresql --restart=always kartoza/postgis:9.6-2.4

  • --name=osmdb
  • -m 2g momory 2GB
  • -e POSTGRES_USER=alex
  • -e POSTGRES_PASS=password
  • -e POSTGRES_DBNAME=osmdb
  • -e ALLOW_IP_RANGE=0.0.0.0/0 すべてのIPからの接続を許可する
  • -p 5432:5432
  • -v $HOME/pg_data:/var/lib/postgresql PostgreSQL databade data folder
  • --restart=always
$ docker pull kartoza/postgis:9.6-2.4
$ mkdir 
$ mkdir $HOME/pg_data
$ docker run -m 2g --name=osmdb -d -e POSTGRES_USER=alex -e POSTGRES_PASS=password -e POSTGRES_DBNAME=osmdb -e ALLOW_IP_RANGE=0.0.0.0/0 -p 5432:5432 -v $HOME/pg_data:/var/lib/postgresql --restart=always kartoza/postgis:9.6-2.4
$

"pgAdmin4"で接続を確認する

1) docker pull dpage/pgadmin4

2) docker run --name=pgadmin4 -p 80:80 -e "PGADMIN_DEFAULT_EMAIL=gisuser@domain.com" -e "PGADMIN_DEFAULT_PASSWORD=gisuser" -d dpage/pgadmin4

  • --name=pgadmin4
  • -e "PGADMIN_DEFAULT_EMAIL=gisuser@domain.com"
  • -e "PGADMIN_DEFAULT_PASSWORD=gisuser"

3) pgAdmin4 : Login

  • http://localhost/
  • userid: gisuser@domain.com
  • password: gisuser

4) pgAdmin4 : 接続 / Connection

  • host name: localhost
  • port: 5432
  • database admin: postgres
  • user name: alex
  • password: password

"PostGISへの接続設定ファイル"を準備する

  • postgis osmdb.properties
db_driver=org.postgresql.Driver
db_url=jdbc:postgresql://172.17.0.1:5432/osmdb
db_user=alex
db_passwd=password

""

  1. osm2pgsql

    echo '*:*:*:alex:password' > ~/.pgpass
    chmod 600 ~/.pgpass
  2. stop pgAdmin4 docker stop stupefied_poitras

  3. stop postGIS docker stop postgis