背景
地図情報表示ソフトQGISで表示する地図に各領域が持っている情報を表示させたい場面があり、調査と試行錯誤の末にラベル機能を使って実現できました。備忘録として操作内容を記事に残します。
使ったもの
QGIS
地図情報表示ソフトです。下記ページからダウンロードできます。
https://qgis.org/download/
この記事ではubuntu22.04でaptコマンドでインストールできる 3.40.9 を利用しました。
市町村の地図データ
今回は愛媛県西予市のデータをG空間情報センター(行政の地図情報を統一したファイル様式で公開してくれる社団法人が管理しているサイト)の下記リンクからダウンロードしました。法務省登記所備付地図データ変換済 愛媛県-西予市
今回はgeojsonのファイル 38214__4_r_2025.geojson を利用しました。
地図データをQGISで表示
QGISを扱い始めの時に情報の表示方法が分からず戸惑ったので、軽く説明します。レイヤ -> レイヤを追加 -> ベクタレイヤを追加 を選びます。
開いた画面の「ベクタデータセット」の右側にあるボタンを押します。
開きたいファイルを選んでOpenを押します。
追加ボタンを押すと情報が描画されます。
処理が重いので、1度押して処理が動いてそうなら待つのが良いです。
描画後もこの画面は開いたままなのでcloseボタンを押して閉じます。
描画されました。
QGISを表示しているパソコンがインターネットに繋がっているなら、OpenStreetMapを描画して描画領域外との位置関係を把握できます。
サイドバーの「ブラウザ」の「XYZ Tiles」を開き「OpenStreetMap」を「レイヤ」にドラッグします。
後から追加されたレイヤが上に来るのですが、OpenStreetMapの上に所望の地図情報を表示したいので、「レイヤ」の「OpenStreetMap」をドラッグして下にずらします。
OpenStreetMapの上にダウンロードした地図情報を描画できました。
ラベルで情報表示
QGISのラベル機能を使います。情報を表示したい地図情報を「レイヤ」で右クリックして「プロパティ」を選びます。
「ラベル」タブを選び、「なし」になっているラベル形式を必要なものに切り替えます。
区画が持つ要素の一つの描画で良い場合は「単一定義」で良いです。
今回は「地番」を表示します。
設定できたら「OK」を押します。
西予市役所の地図を見てみると「434-1」と表示されており、市役所の住所「愛媛県西予市宇和町卯之町三丁目434番地1」の地番が表示されました。
更に詳しく表示したい場合は独自の表示内容を定義します。
「値」の行の右側にある式ボタンを押します。
式ダイアログの中央の「フィールドと値」で地図が持つ値の要素を把握できるので、それを参考にしながら左側の枠に表示したい文字列を組み立てます。
今回は「"市区町村名"+"大字名"+"丁目名"+"地番"」にしました。
OKを押して適用すると、期待医通りの住所の文字列を表示できました。
シングルクオートで改行文字列を追加('\n')すれば、表示内容を改行可能です。
「"市区町村名"+'\n'+"大字名"+"丁目名"+'\n'+"地番"」
改行した場合表示された情報は読みやすくなりますが、QGISが他の情報との表示重複を許容しない設定になっているためか、混んでいる区画では文字情報が表示されない領域が多くなってしまいました。
おわり
QGISのラベル機能を利用して、領域が持つ情報を地図上に表示できました。参考
QGISのラベルの使い方説明ページです。3.2. Lesson: Labels
市町村のデータをダウンロードしたページです。
データセット - G空間情報センター
0 件のコメント :
コメントを投稿