我在一个小组内的“ 层”面板中有许多层,但我不希望它们显示出来(有很多层,所以看起来很不整洁)。这些层也连接到其他几个层。
是否可以使这些图层对用户不可见(即,在“图层面板”中未显示,这与设置图层的可见性无关),但仍可以与其他图层连接?还是使该小组不可见?
我最近发现的是这篇文章,但希望有更直接的方法:
我在一个小组内的“ 层”面板中有许多层,但我不希望它们显示出来(有很多层,所以看起来很不整洁)。这些层也连接到其他几个层。
是否可以使这些图层对用户不可见(即,在“图层面板”中未显示,这与设置图层的可见性无关),但仍可以与其他图层连接?还是使该小组不可见?
我最近发现的是这篇文章,但希望有更直接的方法:
Answers:
我发现使图层/组“不可见”对于避免显示查找表很有用,因为查找表是值关系所必需的,但可能会使“图层面板”看起来有点过载。
为了澄清起见,不可见的图层/组不会出现在“图层面板”中,但仍可以在画布中看到它们,或将其用于与其他图层的连接/关系中。
回答:
使用插件Invisible layer and groups,您可以:
使层不可见(通过代码):
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
注意:您应该注意一个问题。如果将图层设为不可见,然后移动其父组,则该不可见图层将再次变为可见(我不知道为什么!)。因此,我的建议是仅使顶层/组不可见(毕竟,您不能移动根)。