QGISにラベルが表示されているときにポイントマーカーのみを表示しますか?


8

ラベルが表示されているときにポイントマーカーのみを表示するQGISスタイルルールを定義する機会はありますか?

私の目的は、ラベル間の衝突のためにラベル付けされていないすべてのポイントを除外することです。

例:

ラベルが折りたたまれているときに非表示になっているポイントを切り替える方法


属性テーブルのスクリーンショットと、マップに表示されている現在のポイントを提供できますか?
whyzar

@whyzar例の画像がアップロードされます
Jakob

2
また、[レンダリング]タブで[ラベルを覆い隠す機能]オプションを設定すると、衝突が軽減される場合があります。
MAP

これはできるとは思いません。ラベルが表示されているかどうかを確認するAPIには何もありません:qgis.org/api/classQgsLabel.html
HeikkiVesanto

ラベルが付けられている機能かそうでないかを検出する必要性/要望をカバーする別の質問が尋ねられました。それに対する有用な答えがあれば、誰かにこれにアプローチするための新しい角度を与えるでしょう。
Phil G

回答:


3

これは理想的ではありませんが、ラベルが常にマーカーに表示されても問題ない場合は、回避策としてラベルの背景を使用できます。

  1. レイヤープロパティに移動し、[スタイル]で[記号なし]を選択します(はい、そのとおりです)。
  2. [ラベル]で、サブメニューから[背景]を選択します(州間高速道路のシンボルのように見えます)。私は通常SVGを使用しますが、円はあなたが望むもののためにうまく働くかもしれません。
  3. [背景]サブメニューで、サイズタイプを[バッファ]または[固定]に決定します。バッファを使用すると、すべてのテキストを囲むのに十分な大きさになるまでシンボルが拡大するため、修正する必要があると思います。以下の例ではバッファを使用しています。
  4. [ラベル]セクションの上部で、ラベルを付けるフィールドを選択するか、式を入力します。
  5. 配置がオフセットされていないことを確認してください。

欠点:

  1. Print Composerの凡例にシンボルを表示することを複雑にします(レイヤーをオフにしてロックする前に、別のレイヤーを作成し、それをコンテンツウィンドウで参照することで回避策があります)
  2. テキストはシンボルの中央に配置されます。ラベルの前にスペースを連結して右に移動できますが、他のラベルは不明瞭になり、表示されません。競合を最小限に抑えるために、ラベルをポイントの周りに移動するオプションはありません。
  3. カラースケールなど、記号の書式設定で多くの機能が失われます。
  4. ラベルを非表示にするには、ラベルの競合をより厳しくする必要があるようです。これは、バッファサイズタイプを使用した結果である可能性があります。

「field_1」からファイル名を取得し、.jpg拡張子を削除して、写真の場所のラベルテキストを形成する例:

設定

結果:

ズームイン:ズームイン ズームアウト: ズームアウト

(注-svgアイコンが指す方向は、テーブル内の別のフィールドを参照する式によって設定されました)



-2

クエリを使用してラベルを持つすべての値を選択し、新しく作成されたレイヤーを使用するのではなく、新しいレイヤーにエクスポートします。


現在ラベルを表示している値を選択するための短いクエリ例を教えていただけますか?
Jakob

作業している属性テーブルのスクリーンショットと、必要なラベルが含まれているフィールドを確認してください。
NULL。デュード

これは主にArcGISで作業するQGISの場合だと気づきましたが、理論的にはプロセスは同じで、ラベルのある値に関連付けられたすべてのデータを選択し、選択した値で新しいレイヤーを作成します。
NULL。デュード、

-3

シンボルにルール(ルールベースのスタイル)を設定します。

"label" IS NOT NULL

(ラベルのフィールドの名前は「label」と想定)

ラベルのフィールドがあれば今のシンボルは、表示されますではありません空。


2
それはOPが求めていることではないと思います。labelの値はnullになりません。他のラベルと重複するため、表示されません。
HeikkiVesanto

@Vesantoはい、値はNULLではありません。
Jakob
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.