Hallo,
Ich arbeite zur Zeit mit Python um Mittellinien eines Straßenpolygons zu berechnen. Ich würde nun gern wissen, ob es in Python einen Weg gibt, weitere Punkte auf der Außenlinie des Polygons zu erstellen? Zur Zeit erhalte ich nämlich leider nur solche Resultate:
http://imgur.com/rBt05e4
Ich denke, wenn ich die Punkte verdichte erhalte ich eine bessere Annäherung zur Mittellinie.
Im Moment kenne ich nur interp1d() und hier werden die Punkte nicht gleichmäßig verdichtet.
Koordinaten auf der Außenlinie eines Polygons verdichten
Hallo,
ich verstehe nicht so ganz:
1.) waren bei mir im Studium Straßen immer über ihre Achsen (=Mittellinien?) definiert, und damit haben wir Ränder, usw. berechnet. Bist du dir sicher, dass dir nicht direkt die Straßenachse zur Verfügung steht?
2.) Dein Bild interpretiere ich so:
dunkelblau dick - dein Polygon
dunkelblau dünn - ? Linien rechtwinklig zu den Polygonkannten?
tyrkis - ?
rot - deine ermittelte Mittellinie
Dein Polygon scheint in geraden Straßenabschnitten aus parallelen Linien zu bestehen und bei "Kurven" aus Kreisen und gegenüberliegend aus Punkten.
Wenn in geraden Abschnitten die Ränder der Straße parallel sind, dann ist die Mittellinie doch einfach eine Linie deren Abstand zu beiden parallelen Linien gleich ist. Das lässt sich doch sehr leicht exakt berechnen, ohne die Anzahl der Punkte zu erhöhen?!
Achtung: "echte" Straßen bestehen geometrisch nicht ausschließlich aus Kreisen und Geraden, sondern typischerweise zusätzlich aus Klothoiden.
Grüße, Ulrich
ich verstehe nicht so ganz:
1.) waren bei mir im Studium Straßen immer über ihre Achsen (=Mittellinien?) definiert, und damit haben wir Ränder, usw. berechnet. Bist du dir sicher, dass dir nicht direkt die Straßenachse zur Verfügung steht?
2.) Dein Bild interpretiere ich so:
dunkelblau dick - dein Polygon
dunkelblau dünn - ? Linien rechtwinklig zu den Polygonkannten?
tyrkis - ?
rot - deine ermittelte Mittellinie
Dein Polygon scheint in geraden Straßenabschnitten aus parallelen Linien zu bestehen und bei "Kurven" aus Kreisen und gegenüberliegend aus Punkten.
Wenn in geraden Abschnitten die Ränder der Straße parallel sind, dann ist die Mittellinie doch einfach eine Linie deren Abstand zu beiden parallelen Linien gleich ist. Das lässt sich doch sehr leicht exakt berechnen, ohne die Anzahl der Punkte zu erhöhen?!
Achtung: "echte" Straßen bestehen geometrisch nicht ausschließlich aus Kreisen und Geraden, sondern typischerweise zusätzlich aus Klothoiden.
Was hältst du von Interpolieren?Ich würde nun gern wissen, ob es in Python einen Weg gibt, weitere Punkte auf der Außenlinie des Polygons zu erstellen?
Grüße, Ulrich