「OpenStreetMapデータからレイヤーを作成する」の版間の差分
 (→参考情報)  | 
				 (→参考情報)  | 
				||
| 18行目: | 18行目: | ||
* OSMで地物にどのようなタグが振られているかを地図上でインタラクティブに確認:  | * OSMで地物にどのようなタグが振られているかを地図上でインタラクティブに確認:  | ||
** ( https://www.openstreetmap.org/ )にアクセス  | ** ( https://www.openstreetmap.org/ )にアクセス  | ||
| − | ** 画面右隅中の[↑?]ボタンでオブジェクト近傍をクリック  | + | ** 画面右隅中の[↑? 地物を検索]ボタンでオブジェクト近傍をクリック  | 
** 候補が左に列挙されるので、知りたい地物を選択するとタグが表示される  | ** 候補が左に列挙されるので、知りたい地物を選択するとタグが表示される  | ||
2025年4月18日 (金) 01:11時点における版
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]
 - OSMで地物にどのようなタグが振られているかを地図上でインタラクティブに確認:
- ( https://www.openstreetmap.org/ )にアクセス
 - 画面右隅中の[↑? 地物を検索]ボタンでオブジェクト近傍をクリック
 - 候補が左に列挙されるので、知りたい地物を選択するとタグが表示される
 
 
練習
ポイントのデータのレイヤをつくる
linux(Ubuntu: windowsの場合もWSLで)
- OSMのpbfデータをローカルに準備(DL)する ( https://download.geofabrik.de/ )
- たとえば日本全体のデータ(2GB程度)をDLする
 
 
- ほしい属性の地物を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を使って可視化する