QGISを使ってオープン・ストリート・マップのデータからお手軽に高品質な地図をつくる |
とても手軽ですが、GISのデータではないこと、自分好みの描画にできないことなど軽い不満が残ります。
そこで、元のデータをダウンロードしてQGISなどのGISソフトで編集することとなります。
OSMの「ありもの」画像を使うところから一歩進んで、自分で地図データを加工できるようになると「脱初心者」という感じです。
がんばりましょう。
作業環境は Ubuntu14.04+QGIS2.14です。
大きなデータのダウンロードは「BBB.bike」一択
大きな範囲のデータをダウンロードして加工する場合には「BBB.bike」のサイトからシェープファイルをダウンロードすることになります。
この場合のやり方は、喜多耕一さんが詳しく解説されていますので、「北海道shapeファイル」の「背景地図の材料を作る」 にあるPDFファイルを参考にしてください。
「BBB.bike」を使う場合の困ること
「BBB.bike」は大容量のデータをダウンロードするには必須と言えるのですが、次の2点がちょっとダメです。
(1)直近の変更が反映されない。
(2)ダウンロードできるまで20分〜1時間程度時間がかかる。
そこで、OSMのウェブサイトから直接データをダウンロードして利用します。
なお、この方法はダウンロードするデータが大量になるとダウンロードできません。
市街地図のような5,000分1ぐらいの大縮尺でA4に印刷する程度の場合に使ってください。
オープン・ストリート・マップのデータをダウンロードする
まずはOSMのサイトを開きます。
左上の方にある「Export」をクリックします。
「Manually select a different area」をクリックしてダウンロードする範囲を確定します。
青い「Export」をクリックしてデータをダウンロードします。
「map.osm」というファイルがダウンロードされます。
XMLからトポロジーをインポートする
ここから、QGISをつかって「spatialite」という形式のGISデータに変換していきます。
以下の手順は「LearnOSM」の「QGISでのOSMデータ利用」に手順が掲載されています。
「XML」とか「トポロジー」などの用語が理解できなくても大丈夫です。
メニューから以下のように進みます。
ベクタ → OpenStreetMap → XMLからトポロジーをインポートする
(1)「入力XMLファイル」に先ほどダウンロードした「map.osm」を指定します。
(2)「出力SpatiaLite DBファイル」はお好みの名前を付けてください。
ここではデフォルトの「map」のままにしました。
(3)「インポート後に接続(SpatiaLite)を作成する」のチェックボックスにチェックして適当な名称を入力
ここでは「テスト」にしました。
そうすると、「map.osm.db」というファイルがつくられます。
Spatioalite形式にトポロジをエクスポートする
ベクタ → OpenStreetMap → Spatioalite形式にトポロジをエクスポートする
(1)「入力DBファイル」には先ほど作成した「map.osm.db」を指定します。
(2)エクスポートタイプは「点」、「ライン」、「ポリゴン」がありますが、今回は「ライン」と「ポリゴン」だけを使用します。
(3)「出力されるタグ」の「DBからロードする」をクリックするとタグが表示されます。
(4)「全てを選択する」をクリックします。
(5)「OK」をクリック
(6)同じ作業を「ライン」、「ポリゴン」について行います。
SpatiaLiteレイヤの追加
レイヤ→レイヤの追加→SpatiaLiteレイヤの追加
(1)「接続」をクリックするとテーブルの一覧が表示されます。
(2)先ほどエクスポートした「点」、「ポリゴン」、「ラインストリングス」が一覧表示されます。「ポリゴン」、「ラインストリングス」を選択して「追加」をクリック
追加されたポリゴン、ラインのデータが表示されます。
厚沢部町新町周辺です。
ラインを好みの外観に仕上げる
ここから、地図らしい表示に変えていきます。
レイヤの「map_polylines」を選択してから、レイヤ→プロパティ→スタイル と進みます。
上のプルダウンメニューがデフォルトでは「共通シンボル」になっているので、「ルールに基づいた」に変更します。
道路種別や河川種別ごとに表示を方法を設定します。
「北海道shapeファイル」の「QGISスタイルファイル」のクエリがほとんどそのまま使えます。
「スタイル」→「スタイルのロード」→「ファイルからロード」でスタイルファイルをインポートすると簡単です。
「北海道shapeファイル」の「QGISスタイルファイル」「OSM_道路_maplink風.qml」と「OSM_河川(Waterway).qml」をコピーして使っています。
ポリゴンを好みの外観に仕上げる
レイヤの「map_polygons」を選択してから、レイヤ→プロパティ→スタイル
プルダウンメニューで「共通シンボル」を「ルールに基づいた」に変更します。
地図の完成
細かい線種の設定や色の選択などは今回は記載しませんが、下のリンクにスタイルファイルをおいておきます。
このあたりの設定の仕方は「北海道shapeファイル」の「背景地図の材料を作る」を熟読することが一番の早道です。
polygon用スタイルファイル
polyline用スタイルファイル
もっと簡単にやりたいなら「ogr2ogr」コマンドで一発でshapeファイルに変換
今回はosm形式のデータをspatialite形式に変換しましたが、
(1)GUIでちまちまやるのは面倒
(2)慣れているshapeファイルで作業したい
という場合には以下のコマンドで一発変換できました。
ogr2ogr -f "ESRI Shapefile" 変換後のファイル名 変換前のファイル名
(1)-f というのがファイル変換を行うオプションです。
(2)その後の" "で囲まれたところに変換後のファイル形式が入ります。
(3)変換後のファイル名は拡張子がいらないみたいです。
(4)変換前のファイル名には拡張子を付けます。
今回のデータは以下のコマンドで変換しました。
これ以上ないぐらいシンプル。
ogr2ogr -f "ESRI Shapefile" map map.osm
変換時間は2秒ぐらいでした。
「lines」、「multilinestrings」、「multipolygons」、「points」という4つのshapeファイルができています。
使うのは「lines」と「multipolygons」です。
2つのファイルをQGISで開いてスタイルを設定したところです。
施設名が文字化けしてしまってうまく表示されていませんが、基本的にはspatialiteファイルでおこなったのと同じような表現ができています。
この 記事 は クリエイティブ・コモンズ 表示 4.0 国際 ライセンスの下に提供されています。