|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectde.bsvrz.kex.bwsin.konfig.KonfigurationsDaten
public class KonfigurationsDaten
Modul KonfigurationsDaten. Das Modul führt die zentralen Operationen des Netzimportes aus.
Field Summary | |
---|---|
private SINAktuelleKonfiguration |
aktuelleKonfiguration
Die aktuelle Konfiguration. |
(package private) AufteilungspunkteAktuelleKonfiguration |
apaktuell
Die Aufeilungspunkte der aktuellen Konfiguration. |
private HashSet<StrassenAbschnitt> |
assMenge
Die Menge der ASS zugeordneten Straßenabschnitte. |
private BetriebsKilometer |
betriebsKilometer
Die Betriebskilometerangaben aus OKSTRA. |
private de.bsvrz.dav.daf.main.ClientDavConnection |
dav
Datenverteiler-Verbindung. |
private static de.bsvrz.sys.funclib.debug.Debug |
DEBUG
Logger für Debug-Ausgaben. |
private ImportNetz |
importNetz
Das Importnetz. |
(package private) Map<String,KonfigurationsObjekt> |
konfigurationsObjekte
Die erzeugten Konfigurationsobjekte. |
private Okstra |
okstradb
OKSTRA-Datenbasis. |
private SegmentFactory |
segmentFactory
Die Segment-Factory. |
(package private) List<StrassenAbschnitt> |
strassenAbschnitte
Die gebildeten Straßenabschnitte. |
Constructor Summary | |
---|---|
KonfigurationsDaten(SINAktuelleKonfiguration konfiguration,
de.bsvrz.dav.daf.main.ClientDavConnection dav,
Okstra okstradb)
Konstruktor. |
Method Summary | |
---|---|
void |
abschnitteAufteilen()
Aufteilung der Straßenabschnitte. |
private void |
addiereTeilsegmente(SINStrassenSegment segment)
Fügt die Teilsegmente eines Straßensegmentes zur Liste der Konfigurationsobjekte hinzu. |
(package private) void |
addKonfigurationsObjekt(KonfigurationsObjekt objekt)
Fügt ein neu erstelltes Konfigurationsobjekt zur Tabelle der Konfigurationsobjekte hinzu. |
private Location |
bestimmeKnotenLocation(Location vonlc,
Location nachlc)
Bestimmt die Knotenlocation zu einem Straßensegment. |
private int |
bildeAeussereStrassenSegmente()
Bildet die äußeren Straßensegmente. |
private SINISS |
bildeInneresStrassenSegment(Route route,
String extraname,
boolean dummy)
Bildet ein inneres Straßensegment aus einer Route. |
private int |
bildeInnereStrassenSegmente(ArrayList<Route> routen)
Bildet innere Straßensegmente auf der Basis von Routen. |
void |
bildeStrassen()
Bildet die Straßen. |
void |
bildeStrassenAbschnitte()
Bildet die Straßenabschnitte auf der Basis der OKSTRA-Daten. |
void |
bildeStrassenKnoten()
Bildet die Strßenknoten. |
void |
bildeStrassenSegmente()
Erzeugt die Straßensegmente. |
void |
bildeStrassenTeilSegmente()
Erzeugt die Straßenteilsegmente. |
private boolean |
checkLocations(Location von,
Location nach)
Überprüft die Locations auf Gültigkeit. |
void |
exportKB(SINKonfigurationsBereich kb)
Exportiert alle erzeugten Konfigurationsobjekte SINKonfigurationsBereich . |
Map<String,KonfigurationsObjekt> |
getOjekteMap()
Gibt die erzeugten Konfigurationsobjekte zurück. |
void |
importiere()
Zentrale Methode zur Durchführung des Importes und Erzeugung der internen Konfigurationsobjekte. |
private String |
korrigierePid(KonfigurationsObjekt ko)
Korrigiert die PID und den Teil des Namens, der durch die PID bestimmt wird, dermassen, dass versucht wird, die kleinstmögliche laufende Nummer als Postfix der PID zu nutzen. |
private void |
segmentePidsKorrigieren()
Die Methode korrigiert folgenden Effekt: Durch das sequenzielle Erzeugen der Straßensegmente entstehen bei Änderungen (geänderter Polygonzug) Konfigurationsobjekte mit PIDs, die sich durch die laufende Nummer am Ende der PID vom Objekt der aktuellen Konfiguration unterscheiden. |
private void |
segmenteTeilen()
Teilt die Segmente an den Aufteilungspunkten der aktuellen Konfiguration. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
private static final de.bsvrz.sys.funclib.debug.Debug DEBUG
List<StrassenAbschnitt> strassenAbschnitte
Map<String,KonfigurationsObjekt> konfigurationsObjekte
private ImportNetz importNetz
private BetriebsKilometer betriebsKilometer
private final HashSet<StrassenAbschnitt> assMenge
private final SINAktuelleKonfiguration aktuelleKonfiguration
private SegmentFactory segmentFactory
private final de.bsvrz.dav.daf.main.ClientDavConnection dav
private final Okstra okstradb
AufteilungspunkteAktuelleKonfiguration apaktuell
Constructor Detail |
---|
public KonfigurationsDaten(SINAktuelleKonfiguration konfiguration, de.bsvrz.dav.daf.main.ClientDavConnection dav, Okstra okstradb)
konfiguration
- aktuelle Konfigurationdav
- Datenverteiler-Verbindungokstradb
- OKSTRA-DatenbasisMethod Detail |
---|
public void abschnitteAufteilen() throws ImportException
Die Straßenabschnitte werden zunächst an den Aufteilungspunkten der OKSTRA-Datenbasis geteilt. Anschließend werden sie an den durch Koordinaten bestimmten Aufteilungspunkten der aktuellen Konfiguration geteilt.
ImportException
- bei Ausnahmenprivate void addiereTeilsegmente(SINStrassenSegment segment)
segment
- Straßensegmentvoid addKonfigurationsObjekt(KonfigurationsObjekt objekt)
objekt
- Kondigurationsobjektprivate Location bestimmeKnotenLocation(Location vonlc, Location nachlc) throws ImportException
vonlc
- Location, von der sich das Segment wegbewegt.nachlc
- Location, auf die sich das Segment zubewegt.
Location
ImportException
- bei Ausnahmenprivate int bildeAeussereStrassenSegmente()
private SINISS bildeInneresStrassenSegment(Route route, String extraname, boolean dummy)
route
- Liste von Straßenabschnittenextraname
- Namenserweiterungdummy
- Flag, ob es sich um ein Dummy-ISS (eingefügt zwischen 2
ASS) handelt
private int bildeInnereStrassenSegmente(ArrayList<Route> routen)
routen
- Liste von Routen
public void bildeStrassen()
public void bildeStrassenAbschnitte() throws ImportException
ImportException
- bei Ausnahmenpublic void bildeStrassenKnoten()
public void bildeStrassenSegmente()
public void bildeStrassenTeilSegmente()
private boolean checkLocations(Location von, Location nach) throws ImportException
von
- VON-Locationnach
- NACHLocation
ImportException
- bei ungültigen Locationspublic void exportKB(SINKonfigurationsBereich kb)
SINKonfigurationsBereich
.
kb
- KonfigurationsBereichpublic Map<String,KonfigurationsObjekt> getOjekteMap()
public void importiere() throws ImportException
ImportException
- bei Ausnahmenprivate String korrigierePid(KonfigurationsObjekt ko)
ko
- Konfigurationsobjekt
private void segmentePidsKorrigieren()
Durch das sequenzielle Erzeugen der Straßensegmente entstehen bei Änderungen (geänderter Polygonzug) Konfigurationsobjekte mit PIDs, die sich durch die laufende Nummer am Ende der PID vom Objekt der aktuellen Konfiguration unterscheiden.
Erst nach dem alle Segmente erzeugt sind, kann entschieden werden, welche Objekte der aktuellen Konfiguration erhalten bleiben, bzw. überschrieben werden sollen.
Beispiel:
In der aktuellen Konfiguration existiert das Straßensegment
ass.p.11111.p.22222.0
. Durch einen neuen Teilungspunkt
(z.B. AQ) entsteht das gleiche Segment, aber mit geändertem
Polygonzug. Das Segment der aktuellen Konfiguration wird deshalb nicht
als identisch gefunden, das neue Segment erhält die PID
ass.p.11111.p.22222.1
. Wenn in der neuen Konfiguration
kein Objekt mit der PID ass.p.11111.p.22222.0
existiert
wird die PID des neuen Objektes in ass.p.11111.p.22222.0
geändert.
private void segmenteTeilen()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |