Я считаю, что делать слои / группы «невидимыми» полезно, чтобы не показывать таблицы поиска, которые необходимы для отношений значений, но могут сделать панель слоев немного перегруженной.
Просто для пояснения, невидимые слои / группы не будут отображаться на панели слоев, но их все равно можно увидеть на холсте или использовать в соединениях / отношениях с другими слоями.
ОТВЕТ:
Используйте плагин Невидимые слои и группы , который позволяет:
- Сделать выбранные слои / группы невидимыми (кнопка плагина).
- Сделайте слои / группы (которые невидимы) снова видимыми (кнопка плагина).
- Храните слои / группы видимости в вашем проекте 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
Примечание. Существует проблема, о которой вам следует знать. Если вы сделаете слой невидимым, а затем переместите его родительскую группу, невидимый слой снова станет видимым (я не знаю почему!). Поэтому я рекомендую сделать невидимыми только верхние слои / группы (в конце концов, вы не можете перемещать корень).