OPA – Remix

Unter https://www.team122.at/projekte/opa-ortsplan-adressen/ gibt es ein Projekt welches Adressdaten und Kartenkacheln für Gemeinden aus Salzburg anbietet. Für die Steiermark ist mir leider nichts dergleichen bekannt. Dies ist der Versuch etwas Vergleichbares zu implementieren.

Datenquellen und Ressourcen

  • Grundkarte: https://basemap.at
  • Verwaltungsgrenzen: AT-INSPIRE_AU_Administrative_Units_SHP 01.04.2021.zip via https://bev.gv.at
  • Adressen: Adresse-Relationale_Tabellen_Stichtagsdaten_01102022.zip via https://bev.gv.at
  • Atlas-Erstellung: Claas Leiner “Tricks und Kniffe rund um den QGIS-Atlas”, https://media.ccc.de/v/fossgis2021-9004-tricks-und-kniffe-rund-um-den-qgis-atlas

Ziele

  • Regelmäßiger Blattschnitt
  • Übersichtsseite mit Blattschnitt
  • Sinnvoller Maßstab für die Blätter (OPA verwendet 1:3500)
  • Liste von Adressen in der Gemeinde mit
    • Blattnummer
    • Koordinaten die geeignet sind innerhalb eines Blattes die Adresse zu identifizieren
  • Hausnummern in größerer Schrift der basemap überlagert
  • Projektion in EPSG:31256 (ETRS89, passend zur basemap und den Adressen in meinem Heimatort)
  • Raster in EPSG:4326 (WGS84, passend zu GPS-Koordinaten in lat/lon decimal degrees wie in osm.org/maps.google.com etc)
  • Raster in EPSG:4326 aber dargestellt in degrees, decimal minutes (wie die Funkgeräte in der Feuerwehr)

Prozess

Basemap High DPI und AU_AdministrativeUnit als Layer hinzufügen. Projekt-CRS auf EPSG:31256 festlegen. AU-Layer filtern auf die entsprechende Gemeinde (“inspireId” LIKE ‘%.PG.61761%’) wobei die Gemeindekennzahl entsprechend zu wählen ist. Die Gemeindekennzahl findet man bei Bedarf in der Datei GEMEINDE.csv der Adressdaten.

Blattschnittgitter erzeugen

Mit “Create grid” aus der Processing Toolbox ein Gitter erzeugen. Als type “Rectangle”, extent den (gefilterten) AU-Layer, Horizontal spacing von 560, Vertical spacing 850, overlay 0 und als CRS EPSG:31256 auswählen. Die gewählte Größe ergibt im gewählten Atlas-Layout bei einem Maßstab von 1:3500 passend viel Rand um auf die Nachbarblätter zu verweisen.

Da das erzeugte Grid deckt einen rechteckigen Bereich um die Gemeinde ab, nicht alle erzeugten Felder liegen aber auch innerhalb der Gemeinde. Das kann man manuell korrigieren, oder mit “Extract by location” das erzeugte Gitter mit den Gemeindegrenzen via “intersect” verschneiden.

Dieser Vorgang wurde mit dem “Model Designer” umgesetzt und der erzeugte Layer manuell als GeoPackage gespeichert.

Blattschnittgitter stylen

Für einen gefälligen Atlas wurde der Ansatz aus dem referenzierten Vortrag von Claas Leiner verfolgt. Mit einer rule-based symbology sowie label und der Regel “id” = @atlas_pagename wird das zentrale Element der Atlas-Seite neutral gestaltet, d.h. ohne Füllung, Rahmen und Text während die übrigen Elemente (ELSE) eine zu 50% deckende weiße Füllung und eine Beschriftung erhalten.

Layout erstellen

Das A4-Hochformat Layout erhält eine Karte “Controlled by Atlas” mit einer “Fixed scale”. Die Karte erhält auch zwei Grids aus dem EPSG:4326. Eines mit Koordinaten im Format “Degree, Minute” und einem Interval von 1/60/10. Ein Zweites mit Koordinaten im Format “Degree” und einem Interval von 1/1000. Um die Beiden unterscheidbar zu halten sind die Koordinaten einmal innerhalb des Rahmens, einmal außerhalb sowie mit einem “Solid” Grid bzw. “Cross” ausgeführt.

Zwei Scalebar-Elemente (eines vom Stil “Single Box”, eines “Numeric”) helfen beim Abschätzen von Entfernungen in der Karte.

Ein Label mit dem Inhalt “Blatt [% @atlas_pagename %]” sorgt für die Identifizierung des Blattes.

Ein weiteres Label mit Lizenzhinweisen rundet das Blatt ab.

Ergebnis

Ein Blatt des erstellten Atlas

TODO

  • Adressen importieren und darstellen
  • Adressen mit Blattschnitt verschneiden und Liste erzeugen
  • Übersichtskarte (Blattschnitt) erstellen