3. Das Plugin im Überblick
3.1 Starten des Plugins
Durch einen Doppelklick auf den Eintrag SPW2 Print -> Straßenverzeichnis erstellen im Bedienfeld Verarbeitungswerkzeuge wird das Plugin geöffnet.
3.2 Die Nutzeroberfläche
Die Nutzeroberfläche des Plugins ist folgendermaßen aufgebaut:
- Räumliche Ausdehnung des Printbereichs:
Hier wird der Layer ausgewählt, anhand dessen räumlicher Ausdehnung die Größe des zu erzeugenden Gitters bestimmt wird. Der ausgewählte Layer muss bestimmte Eigenschaften aufweisen, mehr dazu in Kapitel 4.2.
- Straßendaten-Layer:
Hier wird der Layer strassennamenverzeichnis ausgewählt, welcher die geeigneten Straßendaten als Liniengeometrie enthält. Alternativ ist es möglich, eine andere Datenquelle zu verwenden - mehr dazu in Kapitel 2.2.
- Straßennamen-Feld:
Hier wird das Feld ausgewählt, das den Namen der Straßen im Straßendaten-Layer enthält (Vorgabe: name).
- Gemeindenamen-Feld:
Hier wird das Feld ausgewählt, das den Gemeindenamen im Straßendaten-Layer enthält (Vorgabe: gemeindename).
- Index-Gitter-Ausgabe:
Die Ausgabe des Index-Gitters kann entweder als temporärer Layer erfolgen oder an einen Speicherort nach Wahl. In der Standardeinstellung wird ein Temporärlayer erzeugt.
- Textdatei-Ausgabe:
Die Ausgabe des Straßenverzeichnisses erfolgt als html- und als csv-Datei. Für jede im Printbereich enthaltene Gemeinde werden eigene Dateien angelegt. Dazu ist es notwendig, einen Ausgabeordner auszuwählen. Das Speichern in einen temporären Ordner wird nicht unterstützt und führt zu einem Fehler bei der Ausführung des Plugins.
3.3 Fortgeschrittene Parameter
- Zusätzliche Felder exportieren [optional]:
In der Standardkonfiguration enthält die ausgegebene csv-Datei nur die Felder name (festgelegt im Menüpunkt Straßennamen-Feld) und den durch das erzeugte Gitter festgelegten Index. Es ist an dieser Stelle möglich, weitere Felder des Straßendaten-Layers mit auszugeben. Dazu wird der Name des gewünschten Feldes in das Textfeld eingetragen, mehrere Felder werden durch ein Semikolon getrennt (Beispiel: type;gemeindename;id). Dabei sollte auf die korrekte Schreibweise geachtet werden.
Bei einer gültigen Eingabe wird eine weitere csv-Datei erzeugt, die neben den beiden Standardfeldern auch die gewünschten weiteren Felder als Export enthält. Diese hat den Namen gemeindename_added_fields.csv.
Zum technischen Hintergrund:
Im Straßendaten-Layer besteht eine Straße nicht zwangsläufig nur aus einem Objekt. Das kann daran liegen, dass die Abschnitte einer Straße verschiedenen Straßenklassen angehören oder eine Straße innerhalb einer Stadt durch verschiedene Stadtteile oder -bezirke läuft und dies attributiv festgehalten ist. Daher ist es nötig, die Straßendaten zu aggregieren - also zusammenzufassen - da am Ende im Straßenverzeichnis jede Straße nur einmal vorhanden sein soll. Es werden also alle Objekte mit dem gleichen Straßennamen-Wert zusammengefasst und die Werte der jeweils zu exportierenden Felder gesammelt. Anschließend werden jedem Feld nur die einzigartigen Werte zugeordnet.
Beispiel:
Die Beethovenstraße besteht im Straßendatenlayer aus insgesamt vier Abschnitten.name
type
postleitzahl
Beethovenstraße
primary
11111
Beethovenstraße
residential
11111
Beethovenstraße
primary
11112
Beethovenstraße
primary
11113
Das Feld postleitzahl wird exportiert. Da der Wert „11111“ doppelt vorkommt, wird dieser in der Ausgabedatei nur einmal angegeben. Die konkrete Ausgabe würde lauten „Beethovenstraße;Index;11111, 11112, 11113“.
- Straßenklasse footway nicht ausgeben:
Alle Objekte im Layer Straßennamen, die im Attribut type den Wert footway haben, werden bei der Erzeugung des Verzeichnisses ignoriert und nicht mit in die Ausgabedateien aufgenommen.
- Straßenklasse path nicht ausgeben:
Alle Objekte im Layer Straßennamen, die im Attribut type den Wert path haben, werden bei der Erzeugung des Verzeichnisses ignoriert und nicht mit in die Ausgabedateien aufgenommen.
- Buchstaben ausschließen [optional]:
Das Gitter wird in horizontaler Richtung mit den Buchstaben von A – Z indiziert. Sind mehr Zellen in horizontaler Richtung nötig, als Buchstaben im Alphabet vorhanden sind, wird mit AA, AB, AC, …, AZ, BA, BB usw. fortgefahren.
Ist/sind ein oder mehrere Buchstabe/n hier nicht erwünscht, kann dies über einen Eintrag in diesem Feld gesteuert werden.
Beispiele (ohne Anführungszeichen eintragen):
Buchstabe J unerwünscht: „J“
Buchstaben I und Q unerwünscht: „I,Q“
Buchstaben A, B und C unerwünscht: „A,B,C“
3.4 Funktionsweise des Plugins
Das Plugin funktioniert folgendermaßen:
- Räumliche Ausdehnung festlegen:
Über einen im Vorfeld zu erzeugenden Layer wird die räumliche Ausdehnung des zu erfassenden Gebiets definiert.
- Gitter erzeugen:
Über dem definierten Gebiet wird ein Gitter mit 1km x 1km großen Kacheln erzeugt. Die Kacheln werden, ähnlich wie bei einem Schachbrett, indiziert, sodass später eine Zuordnung der Straßen zu den Gitterzellen möglich ist. Das Gitter beginnt in der oberen linken Ecke mit A1. In horizontaler Richtung werden Buchstaben, in vertikaler Richtung Zahlen inkrementiert.
Hinweis
Die einzelnen Gitterzellen werden so angelegt, dass diese den Kilometerquadraten des UTM-Gitters entsprechen. Weitere Details zum erzeugten Gitter unter Kapitel 4.4 bzw. Kapitel 6.2.
- Straßen aggregieren:
Die Straßenobjekte werden anhand des Straßen- und Gemeindenamens zusammengefasst. und die Indizes der Gitterzellen entsprechend aggregiert.
- Straßen mit Gitter verschneiden:
Die aggregierten Straßen werden mit dem Gitter verschnitten und die Indizes gesammelt und alphanumerisch sortiert. Bei mehr als zwei Indizes werden der erste und der letzte Listeneintrag ausgegeben.
- Textdateien ausgeben:
Der zusammengefasste Datensatz wird jeweils nach Gemeinde differenziert als csv- und html-Datei an den gewählten Speicherort exportiert. Ist im Textfeld Zusätzliche Felder exportieren eine gültige Eingabe vorhanden, wird zusätzliche eine weitere csv-Datei pro Gemeinde erzeugt.
- Gitter ausgeben:
Das Gitter wird am gewählten Ort als Shapefile gespeichert.
3.5 Ausgabe des Plugins
Bei jedem Ausführen des Plugins werden sowohl das Gitter als Shapedatei sowie mehrere Textdateien für jede vom Printbereich bzw. Gitter abgedeckte Gemeinde erzeugt. Für konkrete Beispiele siehe Kapitel 4.