ラベル付けのために等高線を1つだけ選択することは可能ですか?
私は、各ラインのための多数のラベルを持っていると私のような唯一の主なものを、ラベル付けすることを好むだろう1000 m
と1500 m
ラベル付けのために等高線を1つだけ選択することは可能ですか?
私は、各ラインのための多数のラベルを持っていると私のような唯一の主なものを、ラベル付けすることを好むだろう1000 m
と1500 m
回答:
1つの方法は、等高線レイヤーを読み込んでスタイルを設定することです。次に、同じレイヤーを再度ロードし、フィルターを適用します(レイヤーを右クリックして、「フィルター..」に移動します)写真に示すようなフィルター式を使用します。私の場合、50メートルの垂直間隔で大きな輪郭が必要で、標高値を含むフィールドは「prop_value」と呼ばれていました。
主要な等高線を表示するフィルターレイヤーが読み込まれたら、等高線ラベルを適用し、(必要に応じて)図示のように線のスタイルを強化します。
フィルター式:
("prop_value" % 50) = 0
また、50メートルの垂直間隔で輪郭を選択します。Spatialiteデータベースで動作しますが、シェープファイルについてはわかりません。
私はこのアプローチを使用して、条件ごとの等高線のラベル付けと表示を非常に簡単にしています。
式(スクリーンショット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