回答:
Kadeemの答えは、あなたの機能が表示されないようにしますが、それらはまだ存在します。個々の船の航跡を特定しようとすると、誤って非表示の機能をクリックする可能性があります。あなたがする必要があると思われるのは、それらの機能が存在しないかのようにレイヤーを定義することです。ArcGISでは、これは通常、定義クエリを使用して行われます。QGISでは、同等のコマンドはレイヤーサブセットです。レイヤーの[プロパティ]に移動し、[全般]タブの下部にある[フィーチャサブセット]ボックスの下にあるボタンをクリックして、クエリビルダーを表示します。
クエリビルダーは、SQLクエリを作成して、レイヤー内のどの機能を実際にプロジェクトに表示するかを定義するのに役立ちます。クエリによって返されないフィーチャは、視覚的にだけでなく完全に非表示になります(データから削除されるわけではありません。もちろん、レイヤサブセットクエリを削除するまで存在しないと定義されます)。
VALUE
し'VALUE',
、変換する新しいフィールドを追加してから、INクエリを使用してそのフィールドをコピーしてクエリボックスに貼り付けることができます。
これは、選択とルールベースのシンボル体系のみを使用して可能になりました。
これには、Expression Plusプラグインが必要です(QGIS 2.x. 3.0には機能が組み込まれています)。
次のフィルターを使用して、ルールベースのシンボルを作成します。
QGIS 3.0+(コメントのthequeristから):
is_selected()
QGIS 2.12-2.18:
isselected( @layer_name )
またはQGIS 2.8:
isselected( 'ACTUAL_NAME_OF_LAYER' )
これで、このルールを満たす選択された機能のみが表示されます。
選択されていないすべての機能に対してELSEルールを設定することもできます。
Record and Attributes
の中でExpression String Builder
。また、レイヤー名を入力する必要がなくなり、is
との間のアンダースコアを忘れないでくださいselected
。以下はQGIS 3以上の例ですis_selected()
。
クリスティーナ、私はあなたのテーブルにあなたが単一のトラックを識別できる属性があると思いますか?例えば:
point_id | track_id
------------+------------
1 | 15
2 | 15
5 | 24
6 | 24
7 | 24
属性テーブルを開くと、イプシロンシンボルを見つけることができます(下の図では4番目のシンボル)。
これにより、式を入力できます。例えば:
"track_id" = 24
確認すると、式を満たすすべての行(つまり、track_id
X を持つトラックに属するすべてのポイント)が選択されます。その後、拡大ボタンをクリックすると、QGISはマップキャンバスの選択にズームします。選択した機能(ケースのポイント)が強調表示されます。
できることは、ルールベースのスタイルを適用することです。そのため、特定のシンボルまたはマーカーを使用して個々の船舶航跡を表示し、「非表示」マーカーを指定することで他のすべてのポイントを「表示しない」ことができます。以下のスクリーンショット(レイヤープロパティの一部)は、その仕組みを説明しています。
track_id
track_id
値24を満たさないすべてのポイントに、指定されたマーカー(白い塗りつぶしと白い境界線のある円...)を適用します実際、すべてのポイントはまだそこにあります(それらを白にしてもレンダリングにかかる時間は短くなりません)が、少なくとも目はリラックスできます!