![]() |
Algorithmus Parallele Linie
Liste der Anhänge anzeigen (Anzahl: 2)
Hallo,
ich habe mehrere Polylinien und möchte jeweils eine parallele Polylinie erstellen. In QGIS geht das z.B. über den Versatz, bei Postgis über ST_OffsetCurve. Anbei sind zwei Screenshots: 1) GIS mit der Ausgangslinie (Schwarz) und drei farbige Linien mit unterschiedlichem Versatz. 2) Ein Bild von meinem Algorithmus, rot ist die Ausgangslinie und blau sind die Linien mit Versatz. Das ganze gefällt mir noch nicht, weil es in einigen Fällen einfach nicht passt. Kenn jemand einen passenden Algorithmus? Durch die Sourcen von PostGIS etc. bin ich nicht durchgestiegen. |
AW: Algorithmus Parallele Linie
Die Berechnung einer sauberen Parallelkurve für alle möglichen Ausgangskurven ist eines der anspruchsvolleren Probleme der zweidimensionalen Darstellung. Ich kenne viele Programme, die bei dieser Aufgabe unter bestimmten Bedingungen scheitern.
Das Verschieben der einzelnen Segmente ist da noch recht einfach, aber das Berechnen der neuen Schnittpunkte und die Analyse, welche Segmente dabei wegfallen , ist alles andere als trivial (insbesondere wenn auch Bögen vorkommen). Ein solcher Algorithmus ist deswegen auch entsprechend komplex und nicht in ein paar Sätzen hier eingetippt. ![]() |
AW: Algorithmus Parallele Linie
Dank dir erstmal. Ich schreib hier auch rein, weil es eben nicht trivial ist. Sonst hätte ich das Problem auch schon gelöst ;)
Kennst du eine freie Bibliothek die man nutzen kann? |
AW: Algorithmus Parallele Linie
|
AW: Algorithmus Parallele Linie
Danke die habe ich auch gefunden und versucht zu implementieren.
Leider ist etSingle noch nicht implementiert, d.h. es wird ein Polygon erstellt und nicht nur eine Polylinie auf einer Seite. Und so einfach scheint es wieder nicht implementierbar zu sein... ![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:28 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz