Druckbereich und Layoutkarte im KBS des Verfahrensgebiets (#99)
Bei anderem Projekt-KBS als dem des Verfahrensgebiets entstand das Drucklayout mit leerer Karte und falschen Koordinaten: die Ausdehnung kam im Layer-KBS, die Layoutkarte rechnete im Projekt-KBS. Die Hauptkarte bekommt jetzt das KBS des Verfahrensgebiet-Layers, alle Druckbereiche werden dorthin umgerechnet, ebenso das gezeichnete Druckrechteck. Neue Wrapper-Funktionen transformiere_rechteck und zoom_auf_layer. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -982,6 +982,7 @@ class PrintLayout:
|
||||
thema: str = "",
|
||||
fit_extent_to_map: bool = True,
|
||||
basemap_legende: bool = False,
|
||||
crs: Any = None,
|
||||
) -> Any:
|
||||
layout_manager = self.project.layoutManager()
|
||||
existing_layout = layout_manager.layoutByName(name)
|
||||
@@ -1011,6 +1012,15 @@ class PrintLayout:
|
||||
map_height_mm,
|
||||
)
|
||||
|
||||
if crs is not None:
|
||||
# Vor setExtent: die Ausdehnung steht im Druck-KBS, nicht im Projekt-KBS (Basis #99)
|
||||
set_crs = getattr(hauptkarte, "setCrs", None)
|
||||
if callable(set_crs):
|
||||
try:
|
||||
set_crs(crs)
|
||||
except Exception:
|
||||
pass
|
||||
|
||||
fitted_extent = extent
|
||||
if fit_extent_to_map:
|
||||
fitted_extent = self._fit_extent_to_map_item(extent, map_width_mm, map_height_mm)
|
||||
|
||||
Reference in New Issue
Block a user