複数の属性に基づいてQGISでポイントをスタイルする方法


13

地震を表示する便利な方法を見つけようとしているときに、管理がそれほど簡単ではないことに気付きました。

ポイントのスタイルから「マグニチュード」、「日付」、および「深度」を認識できるようにしたいと思います。何かのようなもの:

  • サイズ:大きさに基づく
  • 深度:基本色(例:<15赤、15-30黄色、> 30青)
  • 日付:100%の色から白/ ...への陰影としての色の強度

何十ものルールを定義せずにそうする方法はありますか?

回答:


14

ルールベースのラベルを使用しないのはなぜですか?属性データに基づいて複数のグラデーションにカテゴリを使用すると、タスクを大幅に緩和できます。私の観点からは、ルールベースのラベル付けでカテゴリを使用することは、QGISの長所の利点の1つです。

データについては(構造を知らなくても)次のワークフローをお勧めします。

  • 分類または段階化されたポイントスタイラー(白または灰色のスタイル)を使用して、日付値のルールベースの単純なグラデーションを作成します。
  • 「詳細」および「サイズ変更フィールド」をクリックして、ポイントのサイズを調整します。ここで、ポイントの大きさを選択します。結果のスタイルをSLDスタイルとして保存します!
  • あなたのためのあなたの好みの色のグラデーションでルールベースのラベルに移動し、負荷があなたのSLDをJNし、右クリックカテゴリ(または範囲)ごとに各データ・ポイントのために追加の深さと、各ルールセットに適用します。

このように(カテゴリ内のルールにカテゴリを作成することもできます;-)): ここに画像の説明を入力してください

  • その後、レンダリングの順序を調整し、ポイントのサイズを制御することを忘れないでください。

このソリューションはサイトでの何らかの努力(マウスクリック)に依存することを理解していますが、最終的には美しい地図は常に努力する価値があります。



4

QGIS 2.8用に更新

次のようなデータを想定:

id | magnitude | date | depth
 1 |     4     | 1912 |  100
 2 |     3     | 1932 |   85

データ定義のスタイルを使用して、大きさフィールドで制御されるサイズを設定します。

日付と深さで定義される色には、次の式を使用できます

CASE 
  WHEN depth < 15 
       THEN color_hsl(1, 100, scale_linear(date, 1900, 2015, 100, 50)
  WHEN depth >= 15 AND depth < 30 
       THEN color_hsl(60, 100, scale_linear(date, 1900, 2015, 100, 50)
  WHEN depth >= 30 
       THEN color_hsl(240, 100, scale_linear(date, 1900, 2015, 100, 50)
END

1900年以降の「古い」ポイントは白いhsl(x、x、100)になりますが、新しいポイントはhsl(x、x、50)まではよりカラフルになります。


3

もう1つのオプションは、各データレイヤースタイルで使用可能なサイズアシスタントを使用することです。特定の属性を使用して、色に基づいてポイントデータを分類したとします。各カテゴリを右クリックして、[サイズの変更]を選択します。サイズダイアログボックスが表示されます。次に、式フィルターをクリックし、[サイズアシスタント]を選択します。

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

サイズアシスタントダイアログボックスには、サイズを変更する列を選択するオプションがあります。シンボルをスケールするスケール方法を選択し、サイズの範囲とデータ値の対応する範囲を指定することもできます。 ここに画像の説明を入力してください データのカテゴリごとにこれを行う必要があることに注意してください。


私はこの答えがこれ以上投票されない理由がわかりません-これが私が望んだものであり、それははるかに速いです
スコット・スタニエヴィッツ

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