QGISでラベル付けする輪郭線を1つだけ選択しますか?


12

ラベル付けのために等高線を1つだけ選択することは可能ですか?

私は、各ラインのための多数のラベルを持っていると私のような唯一の主なものを、ラベル付けすることを好むだろう1000 m1500 m


これが重複しているかどうかはわかりませんが、gis.stackexchange.com / q / 89501/1297gis.stackexchange.com/q/59778/1297を見て、自分が自分のものに近づいているかどうかを確認できますか探している?そして、あなたが何を試みたのか、おそらくどこが間違っているのかについての詳細を提供していただければ、あなたの質問に役立つと思います。
スードン14年

回答:


13

QGIS 2.6では(おそらく以前のバージョンでもわかりませんが)、レイヤーのプロパティ、Labelsタブ、Renderingセクションでこれを行うことができます。レンダリングオプションのリストの中ほどにあるボタンは、実際にラベル付けされる機能のリストを定義する式を作成できるボタンです。あなたの表現は次のようになり"Elevation" IN (1000, 1500)ます。ボタン(黄色)は次のとおりです。標高値が32の輪郭のみにラベルを付けるように設定しています。

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


11

1つの方法は、等高線レイヤーを読み込んでスタイルを設定することです。次に、同じレイヤーを再度ロードし、フィルターを適用します(レイヤーを右クリックして、「フィルター..」に移動します)写真に示すようなフィルター式を使用します。私の場合、50メートルの垂直間隔で大きな輪郭が必要で、標高値を含むフィールドは「prop_value」と呼ばれていました。

主要な等高線を表示するフィルターレイヤーが読み込まれたら、等高線ラベルを適用し、(必要に応じて)図示のように線のスタイルを強化します。

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

フィルター式:

("prop_value" % 50) = 0

また、50メートルの垂直間隔で輪郭を選択します。Spatialiteデータベースで動作しますが、シェープファイルについてはわかりません。


6

私はこのアプローチを使用して、条件ごとの等高線のラベル付けと表示を非常に簡単にしています。

式(スクリーンショット1を参照)でラインシンボルの幅と等高線の色の「データ定義プロパティ」を使用します。これにより、カスタム条件とラベル付けのための同様の式に基づいて異なるライン幅を適用できます(スクリーンショット2を参照)。

式に必要な値を入力するだけです。

つまり、500 m以外の等高線を非表示にする場合は、ラインシンボルのデータ定義プロパティに次の式を使用できます。

CASE WHEN Elevation / 500 - floor(Elevation / 500) =  0 then 
   color_rgba(255,255,255,100) 
else 
    color_rgba(255,255,255,0) 
end

すなわち、500m間隔のみにラベルを付けるには、次の式を使用します。

CASE WHEN Elevation /500 - floor(Elevation / 500) = 0 THEN Elevation || ' m' END

つまり、異なる線幅を適用するには、データ定義されたプロパティに対して次のような式を使用します。

CASE WHEN Elevation / 100 - floor(Elevation / 100) = 0 THEN 
    0.25 
WHEN Elevation / 50 - floor(Elevation / 50) = 0 THEN 
    0.15 
ELSE 
    0.1 
END

スクリーンショット1 スクリーンショット2


@catindri、心は答えをチェックする...
ケイ

3

別の便利な表現は"ELEV" LIKE '%00'(ステップ100m)または"ELEV" LIKE '%00' OR "ELEV" LIKE '%50'(ステップ50m)または"ELEV" LIKE '%0'(ステップ10m)などです。ここで、「ELEV」は私のデータ標高フィールドです。2番目のオプションは、50が間隔の倍数(10mまたは5m ...)の場合にのみ機能します。

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