|
1 | 1 | import os
|
2 | 2 |
|
3 | 3 | 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 | +) |
5 | 11 | from qgis.PyQt.QtCore import QSize, Qt
|
6 | 12 | from qgis.PyQt.QtGui import QColor
|
7 | 13 | from qgis.PyQt.QtWidgets import QApplication, QFileDialog
|
8 | 14 |
|
9 | 15 | from arho_feature_template.project.layers.plan_layers import (
|
10 |
| - LandUseAreaLayer, |
11 |
| - LandUsePointLayer, |
12 |
| - LineLayer, |
13 |
| - OtherAreaLayer, |
14 |
| - OtherPointLayer, |
15 | 16 | PlanLayer,
|
16 | 17 | )
|
17 | 18 | from arho_feature_template.utils.misc_utils import get_active_plan_id, iface
|
@@ -60,16 +61,13 @@ def create_geotiff(self, geotiff_path):
|
60 | 61 |
|
61 | 62 | # Rendering settings
|
62 | 63 | settings = QgsMapSettings()
|
63 |
| - settings.setLayers( |
64 |
| - [ |
65 |
| - LandUseAreaLayer.get_from_project(), |
66 |
| - OtherAreaLayer.get_from_project(), |
67 |
| - LandUsePointLayer.get_from_project(), |
68 |
| - LineLayer.get_from_project(), |
69 |
| - OtherPointLayer.get_from_project(), |
70 |
| - PlanLayer.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).isVisible()] |
| 68 | + |
| 69 | + settings.setLayers(layers) |
| 70 | + settings.setDestinationCrs(QgsCoordinateReferenceSystem("EPSG:3067")) |
73 | 71 | settings.setBackgroundColor(QColor(255, 255, 255))
|
74 | 72 | width = int(buffered_bbox.width() / self.desired_pixel_size) * self.desired_pixel_size
|
75 | 73 | height = int(buffered_bbox.height() / self.desired_pixel_size) * self.desired_pixel_size
|
|
0 commit comments