[FOSSGIS-Talk] QGIS - Reihenfolge der Kilometrierung fehlerhaft

Bernd Marcus bmarcus at giswana.de
Do Mär 25 18:55:36 CET 2021


Hallo in die Runde,

da ich letztens selbst mit der Stationierung von einem Straßennetz betraut war und die 
„Qchainage“ Erweiterung nicht kannte, musste ich diese gestern mal ausprobieren. 
Christoph liegt mit seiner Vermutung richtig, dass in einem MULTILINESTRING die 
Berechnung für jeden Linienabschnitt einzeln durchgeführt wird. 

Das vorgeschlagene Mergen birgt jedoch eine entscheidende Unsicherheit bei der 
Neuzusammenstellung der Linien. Es bleibt dem Algorithmus vorbehalten, wie die 
Ausrichtung der zusammengeführten Linien ausfällt, wenn gegenläufige Linienabschnitte 
vorhanden sind. 

Schnell mal ein Beispiel, bei dem das Paar der ersten beiden und das Paar der letzten 
beiden Linien deckungsgleich ist:

wkt von MULTI-Linen
MULTILINESTRING((0 0, 1 0), (0 0, 0 1)) ← gegenläufig
MULTILINESTRING((1 0, 0 0), (0 1, 0 0)) ← gegenläufig
MULTILINESTRING((1 -1, 1 0), (1 0, 0 0)) ← gleichlaufend
MULTILINESTRING((1 -1, 1 0), (0 0, 1 0)) ← gegenläufig

wkt von zusammengeführten Linien
LINESTRING(0 1, 0 0, 1 0)
LINESTRING(0 1, 0 0, 1 0)
LINESTRING(1 -1, 1 0, 0 0)
LINESTRING(0 0, 1 0, 1 -1)


Straßen, genauer deren Abschnitte und Anschlüsse, sind über ein Netz von 
Knotenpunkten definiert und bilden die Start- bzw. Endpunkte der Straßenabschnitte, wie 
folgende Abbildung zeigt.



Um einen topologisch sauberen Straßengraphen zu erhalten, bietet es sich an, alle Linien 
nach ihrer Abschnittskennung zu dissolven (aufzulösen). Hierdurch wird die Geometrie, 
ähnlich dem Mergen, neu aufgebaut und man erhält pro Abschnitt einen LINESTRING. 
Die richtige Richtung der Linien erhält man über die räumlichen Beziehungen von 
Linienstartpunkt zu „von Knoten“ und -endpunkt zu „zu Knoten“. Diese Attribute sollten 
selbstverständlich für jeden Abschnitt vorliegen.
Entspricht der Startpunkt nicht dem „von Knoten“ Punkt, bzw. der Endpunkt nicht dem „zu 
Knoten“ Punkt, so liegt eine gekehrte Richtung vor und die Linie muss gedreht werden. 

Ich selbst nutze für den Aufbau von Straßengraphen und die Linienorientierung SQL, so 
dass ich keine reine QGIS Vorgehensweise vorschlagen kann. Besonders im Hinblick auf 
die automatisierte Drehung sehe ich unter QGIS Schwierigkeiten, da räumliche Relationen 
im Feldrechner nur sehr spärlich im Vergleich zu SQL unterstützt werden. 

Durch beschriebene Vorgehensweise hat man die Gewähr, dass alle Abschnitte richtig 
orientiert sind und ein für die Stationierung gültiges Straßennetz vorliegt. Und ob man 
für die (Kilo-)Metrierung unter QGIS nun „create points along lines“ oder „Qchainage“ 
verwendet scheint Geschmackssache. „Qchainage“ hat m.E. den Vorteil, dass auch der 
Endpunkt einer Linie mit aufgenommen werden kann. Für n Segmente werden dann n+1 
Punkte ausgegeben. 

Zu Anschauungszwecken noch ein Bild einer Stationierung mit Metrierung von 50m und 
1m Skalierung zum Abgreifen von Streckenlängen. Die Streckenmessungen werden 
hierbei übrigens über eine serielle Routenplanung realisiert.



Die Probleme, die du schilderst, Maik, lassen vermuten, dass von vornherein die in die 
Stationierung eingeflossenen Linien nicht ordnungsgemäß ausgerichtet waren und die 
Behebungsversuche die Sache nur auf eine andere Ebene der Verschlimmbesserung 
hievten. Nach meinen Tests mit „Qchainage“ konnte ich keine Fehler bei der Metrierung 
von Straßenabschnitten feststellen.


Da der Post schon ein paar Tage alt ist, hoffe ich, dass du deine Straßen inzwischen 
ausrichten konntest (ich hoffe zudem nicht rein händisch). Falls du aktuell oder bei 
zukünftigen Stationierungen noch Unterstützung benötigst, bist du eingeladen mich auch 
persönlich zu kontaktieren.


Grüße (von einem anderen)


Bernd 
-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname   : 01_strassengraph.png
Dateityp    : image/png
Dateigröße  : 436865 bytes
Beschreibung: nicht verfügbar
URL         : <http://lists.fossgis.de/pipermail/fossgis-talk-liste/attachments/20210325/7b9b45dd/attachment.png>
-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname   : 02_stationierung_mit_streckenmessung.png
Dateityp    : image/png
Dateigröße  : 314684 bytes
Beschreibung: nicht verfügbar
URL         : <http://lists.fossgis.de/pipermail/fossgis-talk-liste/attachments/20210325/7b9b45dd/attachment-0001.png>


Mehr Informationen über die Mailingliste FOSSGIS-Talk-Liste