3.2. Lesson: ラベル

オブジェクトに関する情報を表示するためにラベルを地図に追加することができます。ベクタレイヤはそれに関連するラベルを持つことができます。ラベルの内容はレイヤの属性データに依存します。

このレッスンの目標: 役に立ち見栄えの良いラベルをレイヤに適用します。

3.2.1. basic Follow Along: ラベルを使用する

まず、 labelingSingle ボタンがGUIに表示されていることを確認します:

  1. ビュー ► ツールバー メニューに進みます

  2. ラベルツールバー にチェックマークが付いていることを確認します。チェックマークがない場合は、 ラベルツールバー をクリックし、アクティブにします。

  3. レイヤ パネルの places レイヤをクリックし、ハイライト表示させます。

  4. labelingSingle ツールバーボタンをクリックして、 レイヤスタイル パネルの ラベル タブを開きます。

  5. ラベルなし から labelingSingle 単一定義 に切り替えます

    属性のどのフィールドをラベルに使用するかを選択する必要があります。前のレッスンで、あなたは name フィールドがこの目的に最も適していると判断しました。

  6. 値リストから name を選択します。

    ../../../_images/select_label_with.png
  7. 適用 をクリックします。

今、地図にはこのようなラベルが表示されるはずです:

../../../_images/first_place_names.png

3.2.2. basic Follow Along: ラベルオプションを変更する

以前のレッスンで地図に選んだスタイルによっては、ラベルが適切にフォーマットされておらず、ポイントマーカーと重なっていたり、遠すぎたりしたのにお気づきかもしれません。

注釈

上記では、 ラベルツールバーlabelingSingle ボタンを使って、 レイヤスタイル パネルを開きました。 シンボロジ と同じように、 レイヤスタイル パネルと レイヤプロパティ ダイアログの両方で同じラベルオプションが利用できます。ここでは、 レイヤプロパティ ダイアログを使用します。

  1. places レイヤをダブルクリックし、 レイヤプロパティ ダイアログを開きます

  2. ラベル タブを選びます

  3. 左側のオプションリストで テキスト が選択されていることを確認し、ここに示されているものと同じになるようにテキスト書式設定を更新します:

    ../../../_images/label_formatting_options.png
  4. 適用 をクリックします。

    そのフォントは、ユーザーにとってより大きく、より馴染みやすいかもしれませんが、その読みやすさは、その下にレンダリングされるレイヤーに依存していることに変わりはありません。これを解決するために バッファ オプションを見てみましょう。

  5. 左側のオプションリストから バッファ を選びます

  6. テキストバッファを描画 の隣のチェックボックスをチェックし、ここに示されているものと同じになるようにオプションを選びます:

    ../../../_images/buffer_options.png
  7. 適用 をクリックします。

    着色されたバッファまたは境界線が場所ラベルに追加されて地図上で見分けやすくなりました:

    ../../../_images/buffer_results.png

    ポイントマーカーに相対的なラベルの配置に取りかかります。

  8. 左側のオプションリストから 配置 を選びます

  9. ポイントの周り を選び、 距離 の値を 2.0 ミリメートルに変更します:

    ../../../_images/offset_placement_settings.png
  10. 適用 をクリックします。

    ラベルはもはやポイントマーカーに重なっていません。

3.2.3. moderate Follow Along: レイヤシンボロジの代わりにラベルを使用する

多くの場合、ポイントの位置はそれほど特定する必要はありません。例えば、 places レイヤのポイントのほとんどは、町全体や郊外を指しており、そのような地物に関連する特定のポイントは、大きな縮尺ではそれほど特定的ではありません。実際、あまりに具体的なポイントを与えると、地図を読んでいる人がしばしば混乱します。

例を挙げると: 例えば、世界地図上では欧州連合のために与えられた点はポーランドのどこかにあります。 European Union のラベルの付いたポイントがポーランドにあるので、地図を読んでいる人には欧州連合の首都はポーランドにあるように見える場合があります。

ですから、この種の誤解を防ぐためにポイントシンボルを非アクティブ化してラベルに完全に置き換えるのがよい場合があります。

QGISではラベルが参照するポイントの直上にラベルの位置を変更することによってこれを行うことができます。

  1. places レイヤの レイヤプロパティ ダイアログの labelingSingle ラベル タブを開きます

  2. オプションリストから 配置 オプションを選びます

  3. 点からのオフセット ボタンをクリックします

    ポイントマーカーとの相対位置でラベルの位置を設定することのできる 象限 オプションが現れます。この場合、ラベルは点を中心に配置したいので中央の象限を選択します:

    ../../../_images/quadrant_offset_options.png
  4. 通常通りレイヤの シンボロジ を編集し、 マーカー の大きさを0.0にしてポイントシンボルを隠します:

    ../../../_images/hide_point_marker.png
  5. 適用 をクリックすると、このような結果が表示されます:

    ../../../_images/hide_point_marker_results.png

地図を縮小すると、大きな縮尺では重なりを避けるためにいくつかのラベルが消えているのがわかるでしょう。多くの点を持つデータセットを扱う場合、これが望ましい場合もありますが、この方法では有用な情報が失われてしまう場合もあります。このような場合を扱うもう一つの可能性があり、このレッスンの後の練習で取り上げます。とりあえず縮小して、ツールバーにある showUnplacedLabel ボタンをクリックし、何が起こるか見てみましょう。

3.2.4. moderate Try Yourself ラベルのカスタマイズ

  • ラベルとシンボルの設定をリセットして、ポイントマーカーとラベルオフセットを 2.0 ミリメートルにします。

  • 地図の縮尺を 1:100000 に設定します。これは、 ステータスバー縮尺 ボックスに入力することで行うことができます。この縮尺で見るのに適したラベルに変更します。

3.2.5. moderate Follow Along: ラインにラベルを付ける

これでラベルの作成がどのように動作するかがわかりましたが、まだ別の問題があります。ポイントとポリゴンにラベルを付けるのは簡単ですが、ラインはどうでしょうか? ポイントと同じようにラベルを付ける場合、このようになります:

../../../_images/bad_street_labels.png

roads レイヤのラベルをわかりやすくするために、再フォーマットすることにします。

  1. places レイヤを非表示にして、邪魔にならないようにします

  2. places のラベルと同じように roads レイヤのラベルの labelingSingle 単一定義 をアクティブにします

  3. フォントの 大きさ10 にして、より多くのラベルを表示できるようにします

  4. Swellendam 町域を拡大します。

  5. ラベル タブの 配置 タブで、次の設定を選択します

    ../../../_images/street_label_settings.png

    テキストのスタイリングにデフォルト値が使用されているため、ラベルが非常に読みにくいことが分かると思います。 テキスト を濃い灰色か黒に、 バッファ を薄い黄色に更新してください。

    地図は縮尺に応じてこのように見えます:

    ../../../_images/street_label_formatted.png

    いくつかの道路名が複数回表示されますがいつも必要だとは限りません。これを防ぐには:

  6. レイヤプロパティ ダイアログの ラベル タブで レンダリング オプションを選び、図のように 重複ラベルを除去するために接続する線を結合 を選びます。

    ../../../_images/merge_lines_option.png
  7. OK をクリックします

    もう1つの有用な機能はラベルを付けるには短すぎる地物にラベルが描画されないようにするものです。

  8. 同じ レンダリング パネルで、 これより地物が小さい場合は省略 の値を 5.00 mm に設定し、 適用 をクリックしたときの結果に注意してください。

    別の 配置 の設定も試してみてください。前に見たように、この場合、 水平 オプションは良いアイデアではないので、代わりに 線に沿って湾曲 オプションを試してみましょう。

  9. ラベル タブの 配置 パネルで 線に沿って湾曲 オプションを選びます

これが結果です:

../../../_images/final_street_labels.png

このように、以前は表示されていたいくつかのラベルが非表示になっています。これは、曲がりくねった道路の線に沿わせながら、読みやすくするのが難しいからです。また、他のラベルは、道路と道路の間の空間に浮かんでいるのではなく、道路を追跡するため、より有用になります。どちらのオプションを使うかは、より有用なもの、より見栄えの良いものを選ぶことができます。

3.2.6. hard Follow Along: データ定義による設定

  1. roads レイヤのラベリングを無効にします

  2. places レイヤのラベリングを再び有効にします

  3. openTable ボタンで places の属性テーブルを開きます

    それには各 レコード の都市部のタイプを定義する興味深い places という フィールド があります。このデータを使って、ラベルのスタイルに影響を与えることができます。

  4. places ラベル パネルで テキスト パネルに移動します

  5. スタイル の下の イタリックテキスト ボタンの隣にある dataDefine ボタンをクリックして、 編集... を選び、 式文字列ビルダ を開きます:

    ../../../_images/expression_string_builder.png
  6. フィールドと値 の下にある place をダブルクリックし、 全ユニーク をクリックします。これにより、このレイヤーの place フィールドのすべての固有値が一覧表示されます。テキストエディタで = を追加し、 town をダブルクリックします。

    または、次のようにテキストエディターで "place" = 'town' と直接入力することもできます。

  7. OK を2回クリックします。

    ../../../_images/expression_builder_settings.png

place フィールドが town と一致するすべての場所のラベルがイタリック体で表示されていることに注目してください。

../../../_images/italic_label_result.png

3.2.7. hard Try Yourself データ定義による設定の使用

注釈

私たちはいくつかの高度なラベル付け設定を示すために、ここで少し先にジャンプしています。高度なレベルでは以下のことが何を意味するか知っていることを想定しています。そうでなければこのセクションは跳ばし、必要な題材をカバーしてから戻って来て下さい。

  1. place の属性テーブルを開く

  2. toggleEditing ボタンをクリックして、編集モードにします

  3. newAttribute ボタンを使用して新しい列を追加します

  4. このように構成します:

    ../../../_images/font_size_column.png
  5. これを使用して、異なるタイプの場所( place フィールドの各キー)ごとにカスタムフォントサイズを設定します

3.2.8. hard ラベル付けのさらなる可能性

このコースですべてのオプションを網羅することはできませんが、 ラベル タブには他にも多くの有用な機能があることを知っておいてください。スケールベース・レンダリングの設定、レイヤ内のラベルのレンダリング優先度の変更、レイヤ属性を使ったあらゆるラベルオプションの設定などが可能です。また、ラベルの回転やXY位置などのプロパティを設定し(属性フィールドがある場合)、メインの レイヤーラベルオプション ボタンに隣接するツールでこれらの属性を編集することも可能です:

labelingSingle showPinnedLabels pinLabels showHideLabels moveLabel rotateLabel changeLabelProperties

(これらのツールは必要な属性フィールドが存在して、編集モードの場合にアクティブになります。)

ラベル付けのシステムの可能性をもっと探ってみて下さい。

3.2.9. In Conclusion

動的なラベル作成のためにレイヤの属性を使用する方法を学びました。これによりあなたの地図の情報量を増やし、地図をスタイリッシュにすることができます!

3.2.10. What's Next?

属性によって地図に視覚的な違いを生じさせる方法がわかりました。オブジェクトそれ自体のシンボロジを変更するのに属性を使用することはどうでしょうか? 次のレッスンのトピックです!