AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Algorithmus Parallele Linie

Ein Thema von brechi · begonnen am 2. Sep 2018 · letzter Beitrag vom 2. Sep 2018
Antwort Antwort
brechi

Registriert seit: 30. Jan 2004
823 Beiträge
 
#1

Algorithmus Parallele Linie

  Alt 2. Sep 2018, 11:26
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.
Miniaturansicht angehängter Grafiken
bild_qgis.png   bild_prog.jpg  
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.009 Beiträge
 
Delphi 12 Athens
 
#2

AW: Algorithmus Parallele Linie

  Alt 2. Sep 2018, 12:13
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.

Bei Google suchenoffset polyline algorithm
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
brechi

Registriert seit: 30. Jan 2004
823 Beiträge
 
#3

AW: Algorithmus Parallele Linie

  Alt 2. Sep 2018, 12:32
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?
  Mit Zitat antworten Zitat
Fritzew

Registriert seit: 18. Nov 2015
Ort: Kehl
678 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Algorithmus Parallele Linie

  Alt 2. Sep 2018, 13:25
Schaue Dir das mal an:
http://www.angusj.com/delphi/clipper.php
Fritz Westermann
  Mit Zitat antworten Zitat
brechi

Registriert seit: 30. Jan 2004
823 Beiträge
 
#5

AW: Algorithmus Parallele Linie

  Alt 2. Sep 2018, 15:26
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...

https://github.com/eppz/Clipper/blob...hi/clipper.pas
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:48 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz