ラベル機能とは地物の近くに属性情報を表示できる機能です。
ラベルがあると地物だけを表示するよりも情報がわかりやすい地図を作成することができます。
この記事ではQGISでラベル機能を使用するための基本的な設定方法としてラベルを表示する方法、ラベルのサイズやフォントの変更方法、バッファや背景色の設定方法などを解説します。
GISのラベル機能について
ラベル機能とは地物の周囲に文字情報を表示する手段です。
ラベルを表示すると地物だけを表示した場合より情報がわかりやすい地図を作成することができます。
国土数値情報の「郵便局データ」というデータをQGISに読み込むと以下のように地図上に点が表示されます。各点は郵便局の位置を示します。
ラベル機能を使用すると以下のように点の隣に郵便局名を表示することができます。
GISでは地物が持つ属性情報をラベルとして使用することができます。
地物ごとに付加されている文字情報が属性情報です。
国土数値情報の郵便局データの属性情報を開いてみると以下のようになっています。
各行が各地物の属性情報です。
7列あるので地物ごとに7個の異なる属性情報を持っていることがわかります。
国土数値情報の郵便局データ詳細ページを確認すると、各列(フィールド)には公共施設分類区分などを示す区分コード、郵便局の名称や住所などが記録されています。
- P30_001:行政区域コード
- P30_002:公共施設大分類
- P30_003:公共施設小分類
- P30_004:郵便局分類
- P30_005:名称
- P30_006:所在地
- P30_007:管理者コード
これらの属性情報を点の横などに表示する機能がラベル機能です。
今回の記事では「P30_005」フィールドに記録されている郵便局名をラベルとして使用しラベルの設定方法を説明します。
ラベルの設定画面を開く
レイヤパネルでラベルを表示するレイヤの右クリックメニューから「プロパティ」を選択します。
「レイヤプロパティ」ウインドウが表示されるので左側に並んでいる文字列から「ラベル」を選択します。
初期状態では「なし」が選択された選択メニューが一つだけ表示されています。
「なし」から「単一定義」に変更します。 すると、ラベル表示に係る設定項目が表示されます。
ラベルに表示するフィールドを選択する
上部にある「値」と書かれた選択メニューでラベルとして使用するフィールドを選択します。
選択メニューの右側にある▼をクリックするとそのデータのフィールド一覧が表示されるので該当するフィールドを選択します。
今回の例では郵便局名が記録されている「P30_005」フィールドを選択します。
選択したらウインドウの一番下にある「適用」をクリックして地図を確認します。
すると地物の周辺に「郵便局名」が表示されました。
ラベルのフォントサイズを設定する
ラベルの設定画面左側のメニューから「テキスト」を選択し、フォント関連の設定欄を開きます。
中央部にある「大きさ」欄でフォントのサイズを指定します。
初期設定では”10.0″となっているところを”15.0″に変更してみると以下のようにラベルが大きく表示されました。
ラベルのフォントの種類を変更する
ラベルの設定画面左側のメニューから「テキスト」を選択し、フォント関連の設定欄を開きます。
上部にある「フォント」と書かれた選択メニューでラベルに使用するフォントの種類を選択します。
「HGP行書体」というフォントを選択してみると以下のように見た目が変化しました。
ラベルのフォントの色を変更する
ラベルの設定画面左側のメニューから「テキスト」を選択し、フォント関連の設定欄を開きます。
中央部の「色」と書かれた選択メニューでラベルに使用するフォントの色を選択できます。
右端にある「▼」をクリックすると色を指定するためのメニューが表示されます。
メニューの上部にはカラーピッカーがあり、その下には最近使った色や標準色が並んでいます。
最近使った色や標準色から選択するか、カラーピッカーで指定します。
カラーピッカーでは周囲のホイールで色を指定した後、中央の三角で濃さを指定します。
標準色欄で赤色を選択してみると以下のようにラベルの色が赤色に変化しました。
ラベルにバッファ(縁取り)を追加する
ラベルがベース地図に重なって文字が見づらい場合などにはバッファ(縁取り)を付けると読み取りやすくなります。
ラベルの設定画面左側のメニューから「バッファ」を選択し、バッファ(縁取り)関連の設定欄を開きます。
上部にある「テキストバッファを描画」にチェックを入れるとバッファを表示できます。
主な設定項目は以下の通りです。
- 大きさ:バッファの太さ
- 色:バッファの色
- 不透明度:バッファの透明度。数値が小さいほど透明に近くなる
バッファを追加したラベルは以下のようになります。
ラベルに背景を設定する
ラベルの設定画面左側のメニューから「背景」を選択し、背景関連の設定欄を開きます。
上部にある「背景を描画」にチェックを入れると背景を表示できます。
主な設定項目は以下の通りです。
- Shape:背景の形状。四角形や円形等から選択できる
- 塗りつぶし色:背景の色。項目名の記載はないがShape欄の一つ下にあるメニュー
- サイズタイプ:「バッファ」か「一定」を選択する。バッファにすると文字数に応じて背景のサイズが調整される
- サイズX:背景の横幅。サイズタイプで「バッファ」を選択している場合は横方向の余白幅さ
- 縦サイズ:背景の縦幅。サイズタイプで「バッファ」を選択している場合は縦方向の余白幅
- 不透明度:背景の透明度。数値が小さいほど透明に近くなる
背景を追加したラベルは以下のようになります。
ラベルにフレーム(枠線)を設定する
ラベルの背景に輪郭を表示することでフレームを追加することもできます。
ラベルの設定画面左側のメニューから「背景」を選択、「背景を描画」にチェックを入れ背景に関する設定欄を開きます。
塗りつぶし色の右端にある「▼」をクリックし表示されたメニューから「シンボルの設定」をクリックします。
見た目の詳細を設定する「背景シンボル」というウインドウが表示されます。
上部に現在の見た目のスタイルが表示されています。 その中の「シンプル塗りつぶし」という文字列を選択します。 すると塗りつぶしスタイルの詳細設定メニューが表示されます。
フレームに関連する設定項目は以下の通りです。
- ストローク色:輪郭線の色
- ストローク幅:輪郭線の太さ
- ストロークスタイル:輪郭線のスタイル。実線や点線、線無しなどから選択する。初期設定では線無しを意味する「ペンなし」が選択されているため枠線が表示されない。
背景とフレームを追加したラベルは以下のようになります。
なお、QGIS3.16までのバージョンではラベル設定画面の背景欄にストロークの設定項目があるため、シンボルの設定まで入らなくてもフレームの色や太さを設定することができます。
ラベルに影を付ける
ラベルの設定画面左側のメニューから「影」を選択し、ラベルの影関連の設定欄を開きます。
上部にある「影を描画」にチェックを入れると影を表示できます。
- 影の対象:影を付ける対象を変更できる。例えば背景を設定している時に「テキスト」を選択すると背景の影は表示されず、文字列の形状の影のみが表示される。背景やバッファ等を含めたラベル全体に影を付ける場合は「最下位ラベルコンポーネント」を選択する。
- オフセット:影の向き(角度)と影の幅
- ぼかし半径:数値を大きくすると影が薄く広がるように表示される。
- 不透明度:バッファの透明度。数値が小さいほど透明に近くなる
- 色:影の色
影を付けたラベルは以下のようになります。 背景を表示したラベルでテキストのみに影を付けています。
全てのラベルが表示されるようにする
通常の設定では地物が密集しラベルが重なる範囲では一部のラベルが非表示になります。 見た目はスッキリするのですが、必要なラベルが消えてしまうことがあり用途によっては不都合です。
重なっているものを含めて全てのラベルを表示するにはラベルの設定画面左側のメニューから「レンダリング」を選択し、レンダリング関連の設定欄を開きます。
中央部にある「このレイヤのすべてのラベルを表示」にチェックを入れると全てのラベルを表示する設定になります。
以下は設定前後のラベルの様子です。 初期設定では、このように地物が非常に密集している場合に自動的に一部のラベルが非表示にされています。
地物が密集した地図でラベルを表示したい場合は、全てのラベルを表示する設定にしてからラベルの位置を変更する方法で重ならないように調整する必要があります。
参考:ラベルの位置を自由に変更する方法:QGISを使ってみる
ラベルに引き出し線を設定する
地物とラベルの間に引き出し線を表示すると、それらの関係をわかりやすくすることができます。
ラベルの設定画面左側のメニューから「引き出し線付きラベル」を選択し、引き出し線関連の設定欄を開きます。
下の方にある「引き出し線付きラベルを描画」にチェックを入れるとラベルと地物の間に引き出し線を表示できます。
主な設定項目は以下の通りです。
- スタイル:引き出し線のスタイル。直線や曲線などから選択する
- 線のスタイル:線の太さや色
- 最短長:地物とラベルの間隔がここに入力した数値以下になる場合は引き出し線が表示されない
- ラベルからのオフセット:引き出し線の端とラベルの距離
- 地物からのオフセット:引き出し線の端と地物の距離
引き出し線を表示したラベルは以下のようになります。
使用したデータ
- 国土数値情報「郵便局」
- OpenStreetMap