与えられた座標でラベルを表示するラベル式をqgisで書くことは可能ですか?


15

データのラベルプロパティにQGIS式ビルダーを使用しています。

マップ上の異なる座標にラベルの異なる部分を配置することは可能ですか?

たとえば、ラインストリングがあり、ラインストリングの先頭に「A」、末尾に「B」を表示したいと思います。

回答:


22

1つの方法は、ルールベースのラベル付けを使用し、「A」と「B」に2つのルールを追加することです。

  1. に移動しLayer Properties > Labelsて、オプションNo labelsをに変更しますRule-based labelling。次に、緑色のプラスアイコンをクリックしてルールを追加します。

    ルールベースのラベル付け

  2. 以下のような示すように、関連するオプションを設定しますLabel with(使用何か'A')とCoordinate X Y。x座標の場合、クリックしてEdit...を使用$x_at(0)して、ラインストリングの先頭にラベルを配置します。y座標にはを使用します$y_at(0)

    ルールオプション

  3. 「B」について手順2を繰り返しますが、xy座標については$x_at(-1)、およびを使用して、$y_at(-1)それぞれラインストリングの終わりを指定します。

  4. [ 適用 ]をクリックすると、次のように表示されるはずです。

    ラベルのある行


1
ソリューションを共有していただきありがとうございます!それを詳しく見ていきます。私はQGISを初めて使い、学習曲線はまだ始まったばかりです。
ベノアイスピノラ

@benoitespinola-応答しないことをおologiesびします(通常はコメントに返信します)!どういたしまして、QGISに非常に早く慣れることができると確信しています:)
ジョセフ

11

ラベルを付けるのではなく、シンボルを使用してこれを行う別の方法があります。

-機能ごとに異なるテキストが必要な場合は、データに2つのフィールドを追加します。1つは終了テキスト用、もう1つは開始テキスト用です。行の最後に「A」と「B」だけが必要な場合、これは必要ありません。

  • ラインレイヤーをシンボル化し、新しいシンボルレイヤーを追加します->これを最初の頂点のマーカーラインに設定します
  • シンボルタイプをフォントマーカーに設定する
  • マーカーを「A」に設定するか、レイヤー属性テーブルの開始フィールドに一致する値を設定します
  • 標準のマーカーと同じように、サイズや回転などを調整します。

最後の「ラベル」を追加するために繰り返します。

ここに画像の説明を入力してください


いいね!あなたの解決策をありがとう!私も試してみます。:)
ベノアイスピノラ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.