Upgrade to Pro — share decks privately, control downloads, hide ads and more …

地図じゃないOpenStreetMap / Not a map OpenStreetMap

地図じゃないOpenStreetMap / Not a map OpenStreetMap

2020/08/29掲載 OSC KYOTO/ONLINE
https://event.ospn.jp/osc2020-online-kyoto/session/169727

2024/09/04更新 #ヒーローズリーグ 2024 開発素材LT vol.1
https://mashupawards.connpass.com/event/326054/

K.Sakanoshita

August 29, 2020
Tweet

More Decks by K.Sakanoshita

Other Decks in Programming

Transcript

  1. © OpenStreetMap contributors 自己紹介 - 坂ノ下 勝幸  主な所属コミュニティ・団体 

    諸国・浪漫  OpenStreetMap Foundation Japan  Code for OSAKA/Kusatsu/Harima  主な活動内容  オープンデータソンの開催および協力  マッピングパーティの開催および協力  ウィキペディアタウンの開催および協力  オープンソース/データの活用(アプリ開発など)  目指していること 地元の情報は、自分たちで発信する文化を作る 現場こそ最強のツールとデータが使えるように 地元の情報は、自分たちで発信する文化を作る 現場こそ最強のツールとデータが使えるように P.2
  2. © OpenStreetMap contributors OpenStreetMap(OSM)とは  みんなで自由な地図(地理情報)を作る活動  2004年から、英国のSteve Coast氏が初めた 国際プロジェクト(日本は2008年頃に伝播)

     人々が創造的・生産的・革新的に地図を利用すること を目的として、プロジェクトを開始  どんな方達が地図を描いているの?  普通の方達。小学生からお年寄りまで様々  地図を描く方達を「マッパー」と呼びます ◦ 定義は無いので、自分でマッパーと名乗ればOK OpenStreetMapのロゴ画像 “OpenStreetMap”で単語(スペース不要) P.4
  3. © OpenStreetMap contributors あまり知らない地図の著作権  地図は著作物。著作権を守って利用する  大抵の地図は自由に出来る利用規約では無い  自分で描くかデザイナーに依頼する必要がある

    お祭りのご案内 日時:*** / 場所:*** 会場地図 お祭りのご案内 日時:*** / 場所:*** 会場地図 ここ 小学校 OSMはCopyrightを付るだけで自由に使えます ここ OpenStreetMap contributors © OpenStreetMapの Copyright表記 P.5
  4. © OpenStreetMap contributors OpenStreetMapのライセンス  Open Database License(ODbL)  許可されていること(超要約)

    ◦ 共有:データベースを複製、頒布及び利用可能 ◦ 創作:データベースから著作物を製作可能 ◦ 翻案:データベースへの改変、変形及び加工可能  守るべきルール(超要約) ◦ 表示:帰属表示(Copyright)が必要 ◦ 継承:利用したデータベースはODbLで提供 ◦ キープ・オープン: DRM無し版も提供する ※OSMプロジェクトのタイルサーバーが配信する地図画像は  CC BY-SA 2.0(もうじき4.0へ引き上げ予定) ODbLのデータで作った著作物には、独自ライセンスを 付与することが可能(ODbLはデータベースだけが対象) P.6
  5. © OpenStreetMap contributors Web APIで任意のデータを取得出来る 例:京都市のトイレ情報を抽出して地図上に表示 JSON形式で取得出来る { "version": 0.6,

    "generator": "Overpass API 0.7.56.7 b85c4387", "osm3s": { "timestamp_osm_base": "2020-08-10T15:55:02Z", "copyright": "The data included in this document is from www.openstreetmap.org. The data is made available under ODbL." }, "elements": [ { "type": "node", "id": 638938218, "lat": 34.9377934, "lon": 135.6464671, "tags": { "access": "yes", "amenity": "toilets", "male": "yes" } }, { "type": "node", "id": 727603019, "lat": 35.0186126, "lon": 135.6815704, "tags": { "access": "yes", "amenity": "toilets", "fee": "no", "female": "yes", "male": "yes", "name": "JR嵯峨嵐山駅前公衆トイレ", "unisex": "yes", "wheelchair": "yes" } } https://overpass-turbo.eu/ P.11
  6. © OpenStreetMap contributors Web APIでテイクアウトMAPも簡単 店舗リストを OpenStreetMapの APIで抽出&一覧表示 店舗リストを OpenStreetMapの

    APIで抽出&一覧表示 APIで取得した OpenStreetMapの 店舗情報を表示 APIで取得した OpenStreetMapの 店舗情報を表示 OpenStreetMap 以外の背景地図でも 特に問題は無い OpenStreetMap 以外の背景地図でも 特に問題は無い P.12
  7. © OpenStreetMap contributors 一般公開されている主なサーバー • タイルサーバー(地図画像の配信) • Overpass APIサーバー(データーの抽出) {

    "type": "node", "id": 638938218, "lat": 34.9377934, "lon": 135.6464671, "tags": { "access": "yes", "amenity": "toilets", "male": "yes" } }, { "type": "node", "id": 727603019, "lat": 35.0186126, "lon": 135.6815704, "tags": { "access": "yes", "amenity": "toilets", "female": "yes", "male": "yes", "name": "JR嵯峨嵐山駅前公衆トイレ", "unisex": "yes", "wheelchair": "yes" } } P.14
  8. © OpenStreetMap contributors 256px X 256px OpenStreetMap Tile Servers https://wiki.openstreetmap.org/wiki/

    タイルサーバー(地図画像の配信)と利用地域 日本は台湾にあるサーバーを利用している 256px x 256px 256px x 256px ズームレベル:0 ズームレベル:1 256px x 256px 256px x 256px タイル画像とズーム 15 15 P.15
  9. © OpenStreetMap contributors 自分用のサーバーを立てる手もある • Planet OSMで全データをダウンロード可能 https:// planet.openstreetmap.org/ P.17

    オープンソースでサーバーソフトウェアは公開されている 日本語ドキュメントは少ないが腕に自信がある方はどうぞ
  10. © OpenStreetMap contributors Overpass APIを使ってみよう • APIで必要なデータを検索・抽出して利用する – https://wiki.openstreetmap.org/wiki/JA:Overpass_API –

    Overpass APIサーバーは公式の他にもいくつかある • Overpassクエリサンプル – [out:json][timeout:25]; (node["amenity"="toilets"] ({{bbox}});); out body;>;out skel qt; – bbox(画面表示)範囲の トイレを抽出するクエリ P.22 HTMLとJavaScriptだけでも、かなり遊ぶ事ができる Overpassで遊べるサイト「overpass turbo」が楽しい https://overpass-turbo.eu/
  11. © OpenStreetMap contributors { "type": "node", ←POI(点)である "id": 727603019, ←OpenStreetMapのユニークID

    "lat": 35.0186126, "lon": 135.6815704, ←トイレの緯度経度 "tags": { "access": "yes", ←一般利用が可能 "amenity": "toilets", ←トイレを意味 "female": "yes", ←女性用のトイレあり "male": "yes", ←男性用のトイレあり "name": "JR嵯峨嵐山駅前公衆トイレ", ←トイレの名前 "unisex": "yes", ← ジェンダーニュートラル or すべての人に利用可能 "wheelchair": "yes" ←車椅子に対応 } } Overpass APIの返り値について Web APIにクエリをURLエンコードしてgetすると返答される JSON形式で返すようにパラメータを指定すると以下のような データ抽出結果が表示される(key=value形式) 各種施設の他、道路や建物、池や川の「形状」も抽出が可能 アイデア次第で、様々な情報を抽出、アプリでの利用が可能 P.23
  12. © OpenStreetMap contributors (バッド?)ノウハウはネットで公開中 • まち歩きマップメーカー – GitHubにオープンソースで公開中! – https://github.com/K-Sakanoshita

    • OpenStreetMap Wiki – Overpass APIの言語ガイドが有り – https://wiki.openstreetmap.org/wiki/ JA:Overpass_API/%E8%A8%80%E8%AA%9E %E3%82%AC%E3%82%A4%E3%83%89 P.25
  13. © OpenStreetMap contributors OpenStreetMapとは • 「単に地図を作る」プロジェクトでは無い • 組織や個人がバラバラに持っているデータを 「オープンデータ化し、OpenStreetMapで 共有しませんか?」の提案活動とも言える

    • オープンデータライセンスでも、様々な所に 分散保管されると活用が難しくなる – 例えば自治体が把握しているAED設置場所の情報は 各自治体のサイトにバラバラのフォーマットで保管 されており、全国版を作るのは難しい状況 APIがあってもデータが無いと嘆くより、全世界でデータを 共有できるデータベース(入れ物)と考えると面白いかも?