レイヤーパネルでレイヤーまたはグループを非表示にする方法


13

グループ内のレイヤーパネルには多数のレイヤーがありますが、それらを表示したくありません(かなりたくさんあるので、乱雑に見えます)。これらの層は、他のいくつかの層とも結合されています。

これらのレイヤーをユーザーから見えないようにすることは可能ですか(つまり、レイヤーパネルには表示されません。レイヤーの可視性を設定することではありません)または、おそらくグループを非表示にしますか?

私が見つけた最も近いものはこの投稿でしたが、より直接的なアプローチがあることを期待しています:

QGIS凡例にいくつかのレイヤーのみを表示しますか?

回答:


15

レイヤー/グループを「非表示」にすることは、値の関係に必要なルックアップテーブルを表示しないようにするのに役立ちますが、レイヤーパネルが少し過負荷に見える場合があります。

明確にするために、非表示のレイヤー/グループはレイヤーパネルに表示されませんが、キャンバスに表示したり、他のレイヤーとの結合/関係で使用したりできます。


回答:

プラグインの非表示のレイヤーとグループを使用すると、次のことができます。

  • 選択したレイヤー/グループを非表示にします(プラグインボタン)。
  • レイヤー/グループ(非表示)を再び表示します(プラグインボタン)。
  • QGISプロジェクトにレイヤー/グループの可視性を保存します。
  • QGISプロジェクトを開くときにレイヤー/グループの可視性を再作成します。
  • 特定のレイヤーを非表示にします(コードにより)。
  • 特定のグループを非表示にします(コードにより)。

レイヤーを非表示にする(コードによる):

if 'InvisibleLayersAndGroups' in qgis.utils.plugins:
    ilg = qgis.utils.plugins['InvisibleLayersAndGroups']
    ilg.hideLayer( layer )    # layer is a QgsMapLayer

(コードで)グループを非表示にする:

if 'InvisibleLayersAndGroups' in qgis.utils.plugins:
    ilg = qgis.utils.plugins['InvisibleLayersAndGroups']
    ilg.hideGroup( group )    # group is a QgsLayerTreeGroup
    ilg.hideGroup( 'group2' ) # You can also pass a group name

注:注意すべき問題があります。レイヤーを非表示にしてからその親グループを移動すると、非表示のレイヤーが再び表示されます(理由はわかりません!)。したがって、最上位のレイヤー/グループのみを非表示にすることをお勧めします(結局、ルートを移動することはできません)。


まさに私が探していたもの、これに感謝します!実際、計算に使用されるいくつかのレイヤー(すべてが別のレイヤーに結合されている)があるため、ユーザーがこれらのレイヤーを表示または編集することは望ましくありません。あなたのソリューションはこれを大いに解決します。質問の1つは、これを最近プラグインとして実装しただけですか?
ジョセフ

そう、数日前に公開されました。以前はレイヤーを非表示にする方法を考えていましたが、この質問の後のみタスクを引き受けました(遅かれ早かれ仕事でこれが必要になります)。コードスニペットで答えることを考えましたが、答えは複雑になるほど長かったので、プラグインにカプセル化することを好みました。プラグインははるかに使いやすいです。
ゲルマンカリージョ

まあそれは素晴らしいプラグインなので投票しました:)
ジョセフ

+1非常に便利なプラグイン。特に私の仕事では、Tough Book + QGISを使用してフィールド内のデータをマッピングし、レイヤーパネルの過負荷を回避します(フィールドでのスクロールには時間がかかります)。私は提案があります(おそらくあなたのプラグインを改善する(またはしない)):プラグインが一度マークしたレイヤーを記憶し、プラグインボタン(非表示にする)が再び押されたときに再び非表示にすることを実装できますか?別の選択(レイヤー/グループ)を非表示に設定するには、それらを新たに選択する必要があります。
ステファン

プラグインが便利だと思います!ご提案いただきありがとうございます。GitHubに新しい機能リクエスト(問題)を追加していただけますか?
ゲルマンカリージョ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.