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

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

Cdf45605a1adfab81061bc1c4444847a?s=128

K.Sakanoshita

August 29, 2020
Tweet

Transcript

  1. © OpenStreetMap contributors 地図じゃないOpenStreetMap OpenStreetMap Foundation Japan 坂ノ下 勝幸 Facebook:

    K.Sakanoshita Twitter: @K_Sakanoshita
  2. © OpenStreetMap contributors 自己紹介 - 坂ノ下 勝幸  主な所属コミュニティ・団体 

    諸国・浪漫  OpenStreetMap Foundation Japan  Code for OSAKA/Kusatsu/Harima  主な活動内容  オープンデータソンの開催および協力  マッピングパーティの開催および協力  ウィキペディアタウンの開催および協力  オープンソース/データの活用(アプリ開発など)  目指していること 地元の情報は、自分たちで発信する文化を作る 現場こそ最強のツールとデータが使えるように 地元の情報は、自分たちで発信する文化を作る 現場こそ最強のツールとデータが使えるように P.2
  3. © OpenStreetMap contributors OpenStreetMapの超簡単な説明 P.3

  4. © OpenStreetMap contributors OpenStreetMap(OSM)とは  みんなで自由な地図(地理情報)を作る活動  2004年から、英国のSteve Coast氏が初めた 国際プロジェクト(日本は2008年頃に伝播)

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

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

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

  8. © OpenStreetMap contributors 大阪梅田駅周辺(2D) OpenStreetMap contributors © P.8

  9. © OpenStreetMap contributors 大阪梅田駅周辺(3D) F4map F4Map data OpenStreetMap contributors ©

    © P.9
  10. © OpenStreetMap contributors 地図はデータ表現の一部に過ぎない https://japanese.engadget.com/microsoft-flight-simulator-melbourne-glitch-citadel-020605033.html P.10

  11. © 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
  12. © OpenStreetMap contributors Web APIでテイクアウトMAPも簡単 店舗リストを OpenStreetMapの APIで抽出&一覧表示 店舗リストを OpenStreetMapの

    APIで抽出&一覧表示 APIで取得した OpenStreetMapの 店舗情報を表示 APIで取得した OpenStreetMapの 店舗情報を表示 OpenStreetMap 以外の背景地図でも 特に問題は無い OpenStreetMap 以外の背景地図でも 特に問題は無い P.12
  13. © OpenStreetMap contributors OpenStreetMapのサーバーについて P.13

  14. © 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
  15. © OpenStreetMap contributors 256px X 256px OpenStreetMap Tile Servers https://wiki.openstreetmap.org/wiki/Servers

    タイルサーバー(地図画像の配信)と利用地域 日本は台湾にあるサーバーを利用している 256px x 256px 256px x 256px ズームレベル:0 ズームレベル:1 256px x 256px 256px x 256px タイル画像とズーム 15 15 P.15
  16. © OpenStreetMap contributors データは自由。タイルサーバーは違う タイル画像が膨大(ズームレベル18で680億枚) 世界中からアクセスがあるのため高負荷は禁物 https://wiki.openstreetmap.org/wiki/JA:タイル利用規約 個人&小規模はOK。ビジネスなどで大量アクセスするなら MapTilerやMapbox社の商用タイルサーバーを契約しよう P.16

  17. © OpenStreetMap contributors 自分用のサーバーを立てる手もある • Planet OSMで全データをダウンロード可能 https://planet.openstreetmap.org/ P.17 オープンソースでサーバーソフトウェアは公開されている

    日本語ドキュメントは少ないが腕に自信がある方はどうぞ
  18. © OpenStreetMap contributors OpenStreetMapをAPIで活用する P.18

  19. © OpenStreetMap contributors 背景地図として使うのも良いんだけど  よくあるアプリの「背景地図」 背景地図がOpenStreetMap アイコンを地図上に追加 P.19

  20. © 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.20 HTMLとJavaScriptだけでも、かなり遊ぶ事ができる Overpassで遊べるサイト「overpass turbo」が楽しい https://overpass-turbo.eu/
  21. © 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.21
  22. © OpenStreetMap contributors overpass turboのデモ https://overpass-turbo.eu/ みんなでテイクアウトMAPのデモ https://yodogawa3.github.io/takeaway/ まち歩きマップメーカーのデモ https://k-sakanoshita.github.io/mapmaker/

    P.22
  23. © OpenStreetMap contributors (バッド?)ノウハウはネットで公開中 • みんなでテイクアウトMAP まち歩きマップメーカー – 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.23
  24. © OpenStreetMap contributors 最後に伝えたいこと P.24

  25. © OpenStreetMap contributors OpenStreetMapとは • 「単に地図を作る」プロジェクトでは無い • 組織や個人がバラバラに持っているデータを 「オープンデータ化し、OpenStreetMapで 共有しませんか?」の提案活動とも言える

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