Routing

Die Anwendung wird zum Erstellen von Routen genutzt.

Es lassen sich Wegpunkte in der Karte als auch über einen Suchprovider wie Gazeteer (und weitere) einfügen. Es besteht die Möglichkeit bestimmte, in der Datenbank hinterlegte, Gebiete bei der Routenerstellung zu umgehen.

Routing App

Anwendungseinstellungen

  • Datenbankverbindung
    • Hier wird der Verbindungsstring zur genutzten Datenbank hinterlegt.
  • Datenbankschema
    • Dieses Schema wird von der Anwendung genutzt.
  • Epsg-Code des Routing-Netzwerks
    • Dieser Code wird benötigt um eventuelle Transformationen zwischen den eingegebenen Geometrien und dem Routing-Netzwerk durchzuführen.
  • Maximale Punkt-Wegenetz-Abweichung
    • Ein manuell gesetzter oder per Suche ermittelter Wegpunkt wird an das Wegenetz eingerastet (neue Geometrie ermittelt) insofern sich innerhalb den angegebenen Entfernung ein passender Punkt auf dem Wegenetz befindet.

cardo Einstellungen

Für die Darstellungen der Route werden globale Symbole genutzt. Damit kann man sich die Farbgebung und Symbolik frei wählen.

Sind keine Symbole in den Cardo-Einstellungen angegeben, werden Standard-Werte genutzt. Es ist also nicht zwingend erforderlich Symbole anzugeben.

Teilweise werden Icons der Schriftart FontAwesome verwendet. Die passende Unicode Darstellung ist hier zu finden. Beachten Sie bitte die folgende Konvertierung am Beispiel fa-archive: "" -> "\uf187". Damit lässt sich das Zeichen in der Anwendung als Text verwenden.

Im Folgenden sind die Symbole und mögliche Wertebeispiele angegeben:

  • Routing.SuccessfulRoutedTrack
    • Ein erfolgreich gerouteter Streckenabschnitt
      IduIT.Core.Mapping.Style.GeometryStyleUtil.line(7, 'rgba(35, 105, 210, 0.8)')
      
  • Routing.UnsuccessfulRoutedTrack
    • Ein Streckabschnitt, welcher nicht geroutet werden konnte
      IduIT.Core.Mapping.Style.GeometryStyleUtil.line(5, 'rgba(255, 0, 0, 1.0)')
      
  • Routing.UnroutedTrack
    • Ein nicht gerouteter Streckenabschnitt (dieser entsteht direkt nach dem Setzen eines Punktes falls davor schon ein weiterer Punkt besteht)
      IduIT.Core.Mapping.Style.GeometryStyleUtil.line(5, 'rgba(255,255,00, 0.5)')
      
  • Routing.PreviewTrack
    • Ein möglicher neuer Streckenabschnitt welcher beim Ziehen von Wegpunkten als Vorschau dargestellt wird
      IduIT.Core.Mapping.Style.GeometryStyleUtil.line(7, 'rgba(35, 105, 210, 0.8)')
      
  • Routing.PreObsoluteTrack
    • Ein bestehender Streckenabschnitt welcher durch das Ziehen von Wegpunkten mit der Vorschau ersetzt wird
      IduIT.Core.Mapping.Style.GeometryStyleUtil.line(7, 'rgba(150, 150, 150, 0.2)')
      
  • Routing.HighlightedTrack
    • Ein hervorgehobener Streckenabschnitt. Ein Abschnitt wird hervorgehoben wenn der Pointer über das tabellarische Pendant des Abschnitts bewegt wird
      IduIT.Core.Mapping.Style.GeometryStyleUtil.line(7, 'rgba(255, 165, 0, 0.8)')
      
  • Routing.RouteStartMarker
    • Der Marker für den Start der Route.
      IduIT.Core.Mapping.Style.GeometryStyleUtil.textLabel({
      							text: '\uf276',
      							fontFamily: 'FontAwesome',
      							fontSize: 20,
      							baseline: IduIT.Core.Mapping.Style.ELabelTextBaseline.Bottom,
      							color: 'green'
      						})
      
  • Routing.RouteStopoverMarker
    • Der Marker für Zwischenziele.
      IduIT.Core.Mapping.Style.GeometryStyleUtil.textLabel({
      							text: '\uf041',
      							fontFamily: 'FontAwesome',
      							fontSize: 20,
      							baseline: IduIT.Core.Mapping.Style.ELabelTextBaseline.Bottom,
      							color: 'blue'
      						})
      
  • Routing.RouteTargetMarker
    • Der Marker für das Ziel der Route.
      IduIT.Core.Mapping.Style.GeometryStyleUtil.textLabel({
      							text: '\uf276',
      							fontFamily: 'FontAwesome',
      							fontSize: 20,
      							baseline: IduIT.Core.Mapping.Style.ELabelTextBaseline.Bottom,
      							color: 'orange'
      						})
      
  • Routing.RouteViaMarker
    • Der Marker für Vias (Punkt die durch Ziehen an der Route entstehen)
      //In einem Array werden zwei Styles mitgegeben. Dieses Beispiel hat zur Folge, dass ein dunkler Punkt unter einem hellen Punkt liegt.
      //Dies bedingt die Reihenfolge der Elemente im Array. Das Element welches zuerst im Array liegt, wird zuerst gerendert. Folgeelemente werden über diesem Element gerendert.
      //In diesem Beispiel erscheint ein heller Punkt mit dunklem Rand, da der dunkle Punkt darunter einen größeren Radius hat.
      [IduIT.Core.Mapping.Style.GeometryStyleUtil.point(5, 'rgba(0,0,0, 0.5)'), IduIT.Core.Mapping.Style.GeometryStyleUtil.point(4, 'rgba(255,255,255, 1.0)')]
      
  • Routing.RouteHighlightMarker
    • Ein Marker der erscheint, wenn sich der Mauszeiger auf der Route befindet, oder wenn der Mauszeiger über einen Wegpunkt in der tabellarischen Ansicht bewegt wird.
      IduIT.Core.Mapping.Style.GeometryStyleUtil.point(10, 'rgba(255,100,200, 0.5)')
      
  • Routing.RouteWaypointDropIcon
    • Mit diesem Symbol wird indiziert dass gerade eine Auswahl eines Wegpunktes auf der Karte stattfindet.
      IduIT.Core.Mapping.Style.GeometryStyleUtil.textLabel({
      							text: '\uf041',
      							fontFamily: 'FontAwesome',
      							fontSize: 20,
      							baseline: IduIT.Core.Mapping.Style.ELabelTextBaseline.Bottom,
      							color: 'gray'
      						})
      
  • Routing.LabelStyleFunction
    • Diese Funktion wird für die Labeldarstellung genutzt. Im Gegensatz zu den bisherigen Symbolen wird hier eine Funktion verwendet.
      function styleFunc(resolution)
      						{
      							return [IduIT.Core.Mapping.Style.GeometryStyleUtil.textLabel({
      								color: "green",
      								text: this.get("label") ? this.get("label").toString() : "",
      								fontSize: 14,
      								offsetX: 15,
      								offsetY: -10,
      								align: IduIT.Core.Mapping.Style.ELabelTextAlign.Left
      							})];
      						}
      

Ausschlußgebiete definieren

Die Erstellung der Ausschlußgebiete ist nicht Teil der Anwendung. Das Schema besitzt zwei Tabellen "rt_restrictioncategories" und "rt_restrictedareas".

Um Gebiete und Kategorien zu erstellen, empfiehlt sich die Nutzung des Daten-Browsers. Zu beachten ist, das zuerst mindestens eine Kategorie erstellt werden muss.

Die Tabelle "rt_restrictedareas" besitzt einen Fremdschlüssel auf die Tabelle mit den Kategorien. Danach lassen sich Geometrien erstellen und einer Kategorie zuweisen.

Die Kategorien werden dann beim nächsten Starten der Anwendung geladen und können beliebig selektiert werden.

Weitere Informationen: Ausschlussgebiete und Kategorien erstellen

Wegpunkte über Suchprovider

Meistens liefert ein Ergebnis keine Punktgeometrie. Dafür wird ein gewichteter Punkt innerhalb dieser Geometrie gewählt und übernommen.

SQL Update durch die Anwendung

Die Anwendung selbst erstellt beim Registrieren im cardo ein Schema, entsprechend der Einstellung "Datenbankschema", sofern dieses noch nicht besteht.

Abfragebeispiele für den Datenimport aus einem bestehenden Routing-Schema


Zuletzt geändert: 21.10.2019 08:04:26 (erstmals erstellt 21.10.2019)