Skip to content

Commit 4e8b770

Browse files
committed
Read layers from project, include only visible layers.
Read layers from project. Include only visible layers when creating GeoTIFF. Added destination crs.
1 parent a8bbca3 commit 4e8b770

File tree

1 file changed

+14
-16
lines changed

1 file changed

+14
-16
lines changed

arho_feature_template/core/geotiff_creator.py

+14-16
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,18 @@
11
import os
22

33
from osgeo import gdal
4-
from qgis.core import QgsMapRendererParallelJob, QgsMapSettings, QgsMapSettingsUtils
4+
from qgis.core import (
5+
QgsCoordinateReferenceSystem,
6+
QgsMapRendererParallelJob,
7+
QgsMapSettings,
8+
QgsMapSettingsUtils,
9+
QgsProject,
10+
)
511
from qgis.PyQt.QtCore import QSize, Qt
612
from qgis.PyQt.QtGui import QColor
713
from qgis.PyQt.QtWidgets import QApplication, QFileDialog
814

915
from arho_feature_template.project.layers.plan_layers import (
10-
LandUseAreaLayer,
11-
LandUsePointLayer,
12-
LineLayer,
13-
OtherAreaLayer,
14-
OtherPointLayer,
1516
PlanLayer,
1617
)
1718
from arho_feature_template.utils.misc_utils import get_active_plan_id, iface
@@ -60,16 +61,13 @@ def create_geotiff(self, geotiff_path):
6061

6162
# Rendering settings
6263
settings = QgsMapSettings()
63-
settings.setLayers(
64-
[
65-
PlanLayer.get_from_project(),
66-
LandUsePointLayer.get_from_project(),
67-
OtherPointLayer.get_from_project(),
68-
LineLayer.get_from_project(),
69-
OtherAreaLayer.get_from_project(),
70-
LandUseAreaLayer.get_from_project(),
71-
]
72-
)
64+
layer_tree = QgsProject.instance().layerTreeRoot()
65+
66+
# Filter only visible layers
67+
layers = [layer for layer in layer_tree.layerOrder() if layer_tree.findLayer(layer.id()).isVisible()]
68+
69+
settings.setLayers(layers)
70+
settings.setDestinationCrs(QgsCoordinateReferenceSystem("EPSG:3067"))
7371
settings.setBackgroundColor(QColor(255, 255, 255))
7472
width = int(buffered_bbox.width() / self.desired_pixel_size) * self.desired_pixel_size
7573
height = int(buffered_bbox.height() / self.desired_pixel_size) * self.desired_pixel_size

0 commit comments

Comments
 (0)