AGB  ·  Datenschutz  ·  Impressum  







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

Algorithmus für Track-Analyse (Roadbook)

Ein Thema von DelphiFan2008 · begonnen am 23. Nov 2013 · letzter Beitrag vom 6. Dez 2013
 
DelphiFan2008

Registriert seit: 4. Dez 2008
84 Beiträge
 
Delphi XE2 Starter
 
#1

Algorithmus für Track-Analyse (Roadbook)

  Alt 23. Nov 2013, 09:47
Hallo,

Wende mich mit einer Frage zu einem Algorithmus an euch.

Ich habe vor einiger Zeit eine Applikation für die Erstellung eines „Roadbook“ erstellt, momentan im wesentlichen eine Liste aus Orten und interessanten Punkten (wie Pässe, Seen, Schlösser etc.) entlang einer Strecke mit zusätzlichen Angaben wie Abstand vom Startpunkt, Abstand zur Strecke, Höhenangaben.
Basis dafür ein GPS-Track, sprich die Wegpunkte entlang der Strecke liegen als x,y-Koordinate (geographische Länge, geographische Breite) vor. Meist wurde hier schein ein Optimierungsschritt durch das aufzeichnende Gerät oder die SW eines Routenplaneres auf dem PC verwendet (Stichwort Douglas Peucker Algorithmus) – Erste Schwierigkeit: Keine Äquidistanter Abstand der Punkte.

Die Liste der Orte/Punkte liegen ebenfalls als x,y-Koordinate (geographische Länge, geographische Breite) mit Zusatzdaten vor.

Der erste Anwendungszweck war ein „Roadbook“ für eine Stecke nach Skizze 1. Mein Algorithmus arbeitet folgendermaßen. Nehme die Wegpunkte entlang des Track. Bestimme einen Fangradius „f“ um den aktuellen Wegpunkt in nehme temporär den aktuell gefunden Ort/Punkt innerhalb des Fangradius in eine Liste auf. Bestimme den Abstand a. Liegt der Ort/Punkt beim nächsten Wegpunkt näher als beim vorherigen, dann ändere der Abstand  kein neues hinzufügen. Steigt der Abstand a wieder, dann nimm den kürzesten in die endgültige Liste auf.

Algorithmus hat gut für Strecken des Typ 1 funktioniert. Jetzt hatte ich das Programm wieder ausgegraben und wollte es auf aktuell geplante Strecken/Tracks anwenden, welche nicht mehr dem Typ 1 entsprechen.
  • Kreuzung
  • Abstand Track zu Track kleiner Fangradius
  • Start/Ende gleicher Punkt
  • Parallel geführte Strecke bzw. gleiche Strecke hin- und zurück
Schon scheitert der einfache Algorithmus. Anfänglich hatte ich mit etlichen if/else … versucht die Sonderfälle zu unterscheiden, wird aber langsam unübersichtlich, da aus dem einfachen Algorithmus viele Algorithmen werden die nicht so recht zusammenpassen.

Hat jemand eine Idee für einen schlanken „allgemeingültigen Ansatz“.

Habe auf den Skizze versucht die Sonderfälle und die Grundlegende Idee zu beschreiben.

LG DelphiFan2008
Angehängte Grafiken
Dateityp: jpg RoadBookCreator__Doku__01.jpg (53,5 KB, 48x aufgerufen)
  Mit Zitat antworten Zitat
 


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:15 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