OpenStreetMapデータからレイヤーを作成する

提供: svg2wiki
(版間での差分)
移動: 案内, 検索
(ポイントのデータのレイヤをつくる)
(ポイントのデータのレイヤをつくる)
 
(1人の利用者による、間の5版が非表示)
21行: 21行:
 
linux(Ubuntu: windowsの場合もWSLで)
 
linux(Ubuntu: windowsの場合もWSLで)
 
* OSMのpbfデータをローカルに準備(DL)する ( https://download.geofabrik.de/ )
 
* OSMのpbfデータをローカルに準備(DL)する ( https://download.geofabrik.de/ )
** たとえば日本全体のデータ(2GB)をDLする
+
** たとえば日本全体のデータ(2GB程度)をDLする
  
 
* ほしい属性の地物をgeoJSONで抽出
 
* ほしい属性の地物をgeoJSONで抽出
 +
** tags-filter: タグをもとにフィルター(抽出), export: geojsonなどに変換
 
<code><pre>
 
<code><pre>
 
osmium tags-filter jaAllData/japan-20241126.osm.pbf nwr/amenity=restaurant,cafe,fast_food -o eatplace.pbf
 
osmium tags-filter jaAllData/japan-20241126.osm.pbf nwr/amenity=restaurant,cafe,fast_food -o eatplace.pbf
29行: 30行:
 
</pre></code>
 
</pre></code>
  
* 地図上はポイント表示にしたいが、ポリゴンで登録されている同じ地物種もあるのでnwrが好ましい模様。
+
* tags-filter: 地図上はポイント表示にしたいが、ポリゴンで登録されている同じ地物種もあるのでnwrが好ましい模様。
 
** n: node(点・ポイント)
 
** n: node(点・ポイント)
 
** w: way(線及び面(始点終点が一致))
 
** w: way(線及び面(始点終点が一致))
 
** r: relation(接続関係)
 
** r: relation(接続関係)
  
* OSMのgeoJSONのpropertiesは正規化とはちょっと言えない状態なので・・・↑の自由な感じのCSV変換webAppにかけてCSV化しよう
+
* OSMのgeoJSONのpropertiesは正規化とはちょっと言えない状態なので・・・↑のツールの自由な感じのCSV変換webAppにかけてCSV化しよう
  
 
* このCSVをsvgmapのCSVレイヤとか、svgMapToolsを使って可視化する
 
* このCSVをsvgmapのCSVレイヤとか、svgMapToolsを使って可視化する

2025年1月30日 (木) 01:59時点における最新版

OpenStreetMapから静的なSVGMapレイヤーを構築する方法をメモします

目次

[編集] ツール

  • osmium
    • OpenStreetMap(OSM)のソースデータ(pbf(Google Protocol Buffers)形式)からデータを抽出するために使用します
    • (linuxの各種パッケージマネージャでインストール可能なようです: sudo apt install osmium-tool など)
  • OpenStreetMapのかなり自由なGeoJSONデータから、ちょっと雑なポイント型のCSVを生成するwebApp
    • このツールは、どんなFeature TypeでもPoint(すなわち地図上でアイコンとして表示できるもの)に変換する機能を持つ
    • OSMでは同じタグ(地物カテゴリ)でも、ポイント・ポリゴン・ライン どの形でつくられているかは保証されない様子(縮小したら点でも、拡大したらポリゴンというイメージなどがあるのでしょう)
  • svgMapTools : 生成したCSVから静的なSVGMapコンテンツをつくる場合はこれが使えます
  • CSV Layer

[編集] 参考情報

  • タグ一覧 (PDF)
    • OSMのタグとは、地物のカテゴリ(例えばガソリンスタンドなど)を言明する情報。key=valueの組として、一つのフィーチャーに複数設定できる(RDF的)
    • key=valueは、例えばamenity=restaurantといった形で、 keyにも、valueにも地物のタイプに関係するワードが入る。この例ではアメニティ関連のレストラン という地物のカテゴリ を示している模様
  • [1]

[編集] 練習

[編集] ポイントのデータのレイヤをつくる

linux(Ubuntu: windowsの場合もWSLで)

  • ほしい属性の地物をgeoJSONで抽出
    • tags-filter: タグをもとにフィルター(抽出), export: geojsonなどに変換
osmium tags-filter jaAllData/japan-20241126.osm.pbf nwr/amenity=restaurant,cafe,fast_food -o eatplace.pbf
osmium export eatplace.pbf -o eatplace.geojson
  • tags-filter: 地図上はポイント表示にしたいが、ポリゴンで登録されている同じ地物種もあるのでnwrが好ましい模様。
    • n: node(点・ポイント)
    • w: way(線及び面(始点終点が一致))
    • r: relation(接続関係)
  • OSMのgeoJSONのpropertiesは正規化とはちょっと言えない状態なので・・・↑のツールの自由な感じのCSV変換webAppにかけてCSV化しよう
  • このCSVをsvgmapのCSVレイヤとか、svgMapToolsを使って可視化する
個人用ツール
名前空間

変種
操作
案内
ツール
Translate