STERNPRODUKT-ATLAS · QGIS-KARTENSATZ GETTING STARTED
atlas/qgis/ 137
EIN KARTENSATZ, ZWEI EBENEN

QGIS-Kartensatz des
Sternprodukt-Atlas

Wie man die Blätter des Atlas in QGIS öffnet, druckt und um eigene Themen erweitert. Für Leute, die QGIS können und den Kartensatz zum ersten Mal sehen.

Was im Paket liegt

Der Satz ist bewusst in zwei Ebenen geteilt. basis/ sagt nichts über Rumänien und nichts über Bären — dort liegen Signaturen, Farben und Stilgerüste, die jedes Blatt erbt. themen/ enthält je einen Ordner pro Kartenblatt: Daten und die auf die echten Feldnamen gezogenen Stile.

atlas/qgis/
  README.md
  basis/
    svg/          10 Signaturen, parametrisierbar (fill, outline, outline-width)
    symbole/      sternprodukt_atlas.xml — 27 Symbole für die Stilverwaltung
    stile/        7 Layerstile als Gerüst: Felder wert, status, art, rang, branche
    layout/       layout_a4_quer_thema.qpt — Druckzusammenstellung
    paletten/     sternprodukt-atlas.gpl — 22 Farben aus atlas/farben.js (atlas/farben-paletten.rb), auch für GIMP
    skripte/      atlas.py — drei Helfer für die Python-Konsole
    qfield/       beobachtung.qml + README.md — Erfassung im Feld
  themen/
    rumaenien-baer/
      daten/      5 GeoJSON, EPSG:4326
      stile/      7 Stile, auf die echten Feldnamen gezogen
      FELDER.md   Feldvertrag — welcher Stil welches Feld erwartet

Die Trennung hat einen praktischen Grund: Wer in basis/ die Umrissstärke ändert, ändert sie für alle Blätter. Wer in einem Thema herumschraubt, kann nichts kaputt machen, was andere Blätter brauchen.

Einrichtung, einmalig

QGIS ab 3.28. Vier Handgriffe, danach nie wieder:

01
Schriften installieren. Gentium Plus und Noto Sans Mono müssen als Systemschriften vorliegen — QGIS liest keine Webfonts. Debian/Ubuntu: apt install fonts-sil-gentiumplus fonts-noto-mono
02
SVG-Pfad eintragen. Einstellungen → Optionen → System → SVG-Pfade → atlas/qgis/basis/svg hinzufügen. Ohne diesen Schritt zeigen alle Stile ein Fragezeichen statt der Signatur, weil die .qml die Dateien beim bloßen Namen nennen.
03
Palette importieren. Einstellungen → Optionen → Farben → Importieren → basis/paletten/sternprodukt-atlas.gpl. Dort auch die Auswahlfarbe auf #2a7ae2 stellen.
04
Symbolbibliothek laden. Einstellungen → Stilverwaltung → Importieren/Exportieren → Stile importieren → basis/symbole/sternprodukt_atlas.xml. Ergänzt die Marken-Bibliothek des Design-Systems, ersetzt sie nicht.

Das erste Blatt in sechs Schritten

Am Beispiel Rumänien · Braunbär. Wer ein anderes Thema hat, tauscht nur die Pfade.

01
Neues Projekt, Projekt-CRS auf EPSG:3844 stellen. Warum gerade das: siehe nächster Abschnitt.
02
Die fünf GeoJSON aus themen/rumaenien-baer/daten/ per Drag-and-drop laden. Sie liegen in EPSG:4326; QGIS projiziert beim Zeichnen.
03
Reihenfolge von unten nach oben: Kreise, Schutzgebiete, Schwerpunkte, Begegnungen, Städte.
04
Je Layer: Eigenschaften → Stil → Stil laden → die gleichnamige .qml aus themen/rumaenien-baer/stile/. Für die Kreise gibt es zwei: kreise_dichte (Kolorit) oder kreise_grund (neutral, wenn die Bärensignaturen die Aussage tragen).
05
Layout: Layout-Verwaltung → Vorlage → Aus Datei → basis/layout/layout_a4_quer_thema.qpt. Titel, Untertitel und Fußzeile sind Textelemente — überschreiben, nicht neu bauen. Legende und Maßstabsbalken hängen bereits am Kartenfenster „karte".
06
Export als PDF, 300 dpi, Vektor. Rastern nur, wenn Mischmodi im Spiel sind — im Kartensatz sind sie es nicht.

Die CRS-Frage

ACHTUNG, VERWECHSLUNG
EPSG:3380 ist nicht Rumänien. Der Code steht für Timbalai 1948 / RSO Borneo (ch) — Malaysia und Brunei. Wer damit arbeitet, bekommt keine Fehlermeldung, sondern eine Karte, die stillschweigend um Tausende Kilometer daneben liegt oder gar nicht erst erscheint. Gemeint ist fast immer EPSG:3844.

Vier Systeme kommen in Frage, je nachdem was die Karte tun soll:

EPSG System wofür
3844 Pulkovo 1942(58) / Stereo 70 Das amtliche System Rumäniens. Meter, also rechnen Flächen und Längen direkt. Die Vorgabe für alles Rumänien-Bezogene.
4326 WGS 84, geographisch Das Format der gelieferten Daten. Zum Rechnen ungeeignet (Grad sind keine Meter), zum Austauschen ideal.
3035 ETRS89 / LAEA Europe Flächentreu, europaweit. Wenn das Blatt neben Nachbarländer gestellt wird oder Flächen verglichen werden.
3380 Timbalai 1948 / RSO Borneo Borneo. Nicht verwenden.

Die HTML-Blätter des Atlas benutzen etwas Drittes: Lambert konform konisch mit den Standardparallelen 44° und 48° N. Das ist kein EPSG-Code, sondern eine im Blatt definierte Projektion — konform, damit die Kartenbilder nicht verzerrt aussehen, und auf Rumänien zugeschnitten. Wer die QGIS-Karte deckungsgleich zum HTML-Blatt haben will, legt in QGIS ein benutzerdefiniertes CRS an:

+proj=lcc +lat_1=44 +lat_2=48 +lat_0=46 +lon_0=25.5
+x_0=0 +y_0=0 +datum=WGS84 +units=m +no_defs

Der Feldvertrag

Jeder Stil erwartet bestimmte Felder. Steht ein Feld nicht da oder heißt es anders, rendert QGIS klaglos nichts — das ist die häufigste Ursache für eine leere Karte. Der Kopf jeder .qml nennt ihren Vertrag; hier die Übersicht der Basisstile.

Basisstil Geometrie erwartete Felder
flaeche_koloritFlächewert (Zahl, NULL erlaubt) · status · name
flaeche_grundFlächekeine
punkt_signatur_groessePunktwert — Höhe ∝ √wert
punkt_kategorienPunktart · name
punkt_ortPunktrang (1–5, regelbasiert) · name · name_dt
linie_verkehrLinierang (1–3) · name

Zwei Rezepte

Streusignatur: eine Zeichnung je hundert Tiere

Das Blatt streut Bärensignaturen in die Kreise. In QGIS macht das die Verarbeitung, nicht der Stil:

01
Verarbeitungswerkzeuge → Zufällige Punkte in Polygonen, Eingabe kreise-baeren.
02
Punktzahl als Ausdruck: round("bestand" / 100), Mindestabstand 8 000 Meter.
03
Auf das Ergebnis baeren_streuung.qml laden.

Die Höhengewichtung des HTML-Blattes — Bären sitzen im Bergwald, nicht in der Ebene — hat QGIS nicht eingebaut. Wer sie will, nimmt statt der Verarbeitung die Funktion streuung() aus basis/skripte/atlas.py; sie kennt beides.

Ein neues Thema anlegen

01
themen/<name>/daten/ und themen/<name>/stile/ anlegen.
02
Passende Gerüste aus basis/stile/ hineinkopieren.
03
In der Kopie wert, status, art, rang durch die echten Feldnamen ersetzen — sie stehen im Renderer-Attribut, in den Regelfiltern und in der Beschriftung.
04
Klassengrenzen anpassen. Im Kolorit stehen sie als Regelfilter (5 / 10 / 15 / 20 / 25) — sechs Zeilen, sechs Farben.
05
Eine FELDER.md danebenlegen. Wer das überspringt, sucht in einem halben Jahr, warum die Karte leer bleibt.

Drei Helfer

In basis/skripte/atlas.py liegen drei Funktionen für die QGIS-Python-Konsole. Kein Plugin, keine Abhängigkeiten. Laden mit:

exec(open('…/atlas/qgis/basis/skripte/atlas.py').read())
pruefen()Geht das Projekt durch: CRS (und meckert bei 3380), Feldvertrag je Layer, durchgehend leere Spalten. Der erste Griff, wenn eine Karte leer bleibt.
streuung(layer, feld)Streut eine Signatur je 100 Einheiten ins Polygon, mit Mindestabstand. Mit hoehe='dgm' auch mit der Höhengewichtung des HTML-Blattes.
erfassungslayer(pfad)Legt ein leeres GeoPackage für die Feldbegehung an — Schema passend zum QField-Formular.

Ins Feld: QField

Ein Blatt geht ohne Umbau aufs Telefon. Erfassungslayer anlegen, basis/qfield/beobachtung.qml darauf laden — das gibt Auswahllisten statt Freitext, ein Datum, das sich selbst setzt, und ein Fotofeld — dann mit QFieldSync packen. Zwei Fallen: die Signaturen müssen im Projektordner liegen, nicht nur im SVG-Suchpfad, sonst kommen sie nicht mit; und Gentium gibt es auf Android nicht.

QFieldCloud lohnt erst, wenn mehrere gleichzeitig erfassen. Dann gilt: nur der Erfassungslayer ist gemeinsam bearbeitbar, alles andere bleibt Lesestoff — sonst sind Grenzen und Trassen nach der dritten Begehung verschoben. Ausführlich in basis/qfield/README.md.

Was die Stile über den Maßstab wissen

Ein Stil, der bei jedem Maßstab dasselbe zeichnet, ist kein Kartenstil, sondern eine Anzeige. Drei Einstellungen tragen die Generalisierung. Sie stehen in jeder .qml und sind kein Beiwerk.

Bezugsmaßstab. Alle Stile führen referencescale="2500000" — den Blattmaßstab des Rumänien-Bogens auf A4. Damit hängen die Millimetermaße von Signatur, Strichstärke und Schrift am Ausgabemaßstab: wer dasselbe Blatt auf 1:1 000 000 druckt, bekommt proportional mitwachsende Zeichen statt eines zerfallenen Kartenbilds. Vorher stand überall -1, und jede Ausgabe sah anders aus als die Vorschau.

Auswahl nach Maßstab. basis/stile/punkt_ort.qml ist deshalb regelbasiert statt kategorisiert: nur Regeln tragen Maßstabsgrenzen je Klasse. Ohne sie zeichnen bei kleinem Maßstab alle fünf Ortsgrößen gleichzeitig, und das Kartenfeld läuft mit Punkten voll. Die Auswahl ist Generalisierung, kein Filter — das Weglassen gehört zur Aussage.

RangOrtsgrößesichtbar bisSchriftgrad
1über 1 Mio.immer9 pt
2500 000 – 1 Mio.1:6 000 0008 pt
3100 000 – 500 0001:3 000 0007,1 pt
425 000 – 100 0001:1 500 0006,5 pt
5unter 25 0001:600 0005,5 pt

Die Grade kommen aus atlas/typenscale.js; 5,5 pt ist die Untergrenze des Atlas — darunter läuft Toner in die Punzen. Eine Auffangregel „ohne Rang" zeichnet NULL und Fremdwerte als gestrichelten Kreis in der Konfliktfarbe, sonst verschwinden fehlerhafte Datensätze stumm.

Beschriftungsrang. Wer verdrängt wen, wenn es eng wird. Die Werte waren vorher willkürlich verteilt — 3, 4, 6, 7, 8 ohne System; jetzt bilden sie eine Leiter. Die beiden obersten Ortsränge sind zusätzlich obstacle-verstärkt: sie verdrängen nicht nur, sie halten auch Platz frei.

RangStilInhalt
10 – 2punkt_ortOrtsnamen, je Ortsgröße gestaffelt
9staedteOrtsnamen des Bärenblatts
7linie_verkehrStraßen- und Bahnnummern
6nationalparksSchutzgebietsnamen
4begegnungen · kreise_schwerpunkte_baerVermerke
3kreise_dichteKreiswerte

Schriftfallback. Jeder beschriftende Stil führt jetzt Gentium Book Plus → Gentium Plus → Noto Serif. Ohne diese Kette substituiert QGIS still, wenn Gentium lokal fehlt, und der Ausdruck kommt in einer fremden Schrift zurück — ohne Warnung, und meist erst auf dem Papier bemerkt.

Was aus Daten kommt und was nicht

Der Kartensatz mischt zwei Sorten Geometrie, und das steht in jedem Themenordner. Aus benannten Quellen kommen: die Kreisgrenzen (Eurostat GISCO, NUTS 2021, Maßstabsstufe 1:3 Mio.), die Verkehrstrassen (OpenStreetMap über die Pipeline in atlas/geodaten/), Küsten und Staaten (Natural Earth), das Gelände (SRTM).

Von Hand gesetzt sind: Ortslagen und Rangstufen, Hafen- und Flughafensymbole, der Umriss des Donaudeltas, die Trasse des Donau–Schwarzmeer-Kanals. Sie sind auf ±1 Kilometer genau und für den Maßstab 1:3,8 Mio. brauchbar — als Nachweis taugen sie nicht.

Welche Aussage auf einem Blatt belegt ist und welche nicht, steht nicht hier, sondern im Quellenregister unter atlas/quellen/ — eine Datei je Blatt, drei Status: belegt, abgeleitet, unbelegt. Die Begriffe der Blätter erklärt atlas/GLOSSAR.md.

Wenn nichts erscheint

Fragezeichen statt SignaturSVG-Pfad fehlt. Schritt 02 der Einrichtung.
Layer geladen, Karte leerFeldname stimmt nicht mit dem Vertrag. Attributtabelle gegen FELDER.md halten.
Beschriftung in falscher SchriftGentium Plus nicht installiert; QGIS ersetzt still.
Summe der Bestände zu hochGruppenwerte wiederholen sich auf allen Mitgliedskreisen. Vor dem Summieren auf signatur = 1 filtern.
Karte liegt in SüdostasienEPSG:3380 statt 3844.
SIGNATUREN, FARBEN UND MASSE NACH DEM STERNPRODUKT-DESIGN-SYSTEM · QGIS ≥ 3.28 · STAND 08/2026
Zimmer 137