de.bsvrz.kex.bwsin.konfig
Class StrassenAbschnitt

java.lang.Object
  extended by java.util.AbstractCollection<E>
      extended by java.util.AbstractList<E>
          extended by java.util.AbstractSequentialList<E>
              extended by java.util.LinkedList<StrassenElement>
                  extended by de.bsvrz.kex.bwsin.konfig.StrassenAbschnitt
All Implemented Interfaces:
Serializable, Cloneable, Iterable<StrassenElement>, Collection<StrassenElement>, Deque<StrassenElement>, List<StrassenElement>, Queue<StrassenElement>

public class StrassenAbschnitt
extends LinkedList<StrassenElement>

Ein Strassenabschnitt repräsentiert eine Liste von zusammengefassten Straßenelementen.

Version:
$Id: StrassenAbschnitt.java 10402 2008-07-10 09:07:00Z gieseler $
Author:
BitCtrl Systems GmbH, Gieseler
See Also:
Serialized Form

Field Summary
protected  String endeVP
          Der End-Verbindungspunkt.
protected  String startVP
          Der Start-Verbindungspunkt.
 
Fields inherited from class java.util.AbstractList
modCount
 
Constructor Summary
StrassenAbschnitt(StrassenElement strassenelement)
          Erzeugt einen Straßenabschnitt für ein Straßenelement.
 
Method Summary
 void addASS(SINASS ass)
          Fügt ein Element zur Liste der auf diesem Strassenabschnitt liegenden ASS hinzu.
 void addSTS(KonfigurationsObjekt teilsegment)
          Fügt ein Teilsegment hinzu.
 void anfuegenAnfang(StrassenElement strassenelement)
          Fügt ein Strassenelement am Anfang des Strassenabschnittes an.
 void anfuegenEnde(StrassenElement strassenelement)
          Fügt ein Strassenelement am Ende des Strassenabschnittes an.
 List<AufteilungspunktAktuelleKonfiguration> aufteilenKoordinaten(List<AufteilungspunktAktuelleKonfiguration> list)
          Teilt den Strßenabschnitt an einer Liste von Aufteilungspunkten auf.
 boolean aufteilenOffset(float offset)
          Teilt den Strßenabschnitt bei einem Offset.
 StrassenAbschnitt clone()
          
 boolean equals(Object obj)
          
 String ersterVP()
          Gibt die Feature-ID des Verbindungspunktes zurück, an dem der Straßenabschnitt beginnt.
 void erzeugeTeilAbschnitte(Okstra okstra, TeilungspunkteOkstra tp)
          Erzeugt die Teilabschnittes des Straßenabschnitts durch Aufteilung an den Teilungspunkten der OKSTRA-Datenbasis.
 List<SINASS> getASS()
          Gibt die Liste der auf diesem Strassenabschnitt liegenden ASS zurück.
 KonfigurationsObjekt getASSnach(Location location)
          Gibt das auf diesem Strassenabschnitt liegende ASS zurück, welches sich auf eine Location zubewegt.
 KonfigurationsObjekt getASSvon(Location location)
          Gibt das auf diesem Strassenabschnitt liegende ASS zurück, welches sich von einer Location wegbewegt.
 double getLaenge()
          Gibt die Länge des Abschnittes zurück.
 Location getLocationNach()
          Gibt die Liste der Locationen zurück, auf die sich der Straßen- abschnitt zubewegt.
 Location getLocationVon(Location nach)
          Bestimmt den Anfangs-Locationcode des Strassenabschnittes.
 Verkehrsrichtung getOkstraRichtung()
          Gibt die Verkehrsrichtung des Straßenabschnittes zurück.
 de.bsvrz.sys.funclib.bitctrl.geolib.WGS84Polygon getPolygon()
          Gibt den Polygonzug des Abschnittes zurück.
 Verkehrsrichtung getRichtung()
          Gibt die Verkehrsrichtung des Straßenabschnittes zurück.
 List<KonfigurationsObjekt> getSTS()
          Gibt die Liste der Straßenteilsegmente zurück.
 List<StrassenTeilAbschnitt> getTeilabschnitte()
          Gibt die Liste der Teilabschnitte zurück, aus denen der Abschnitt gebildet wird.
 int hashCode()
          
 boolean istASS()
          Test, ob der Straßenabschnitt zu einem äußeren Straßensegment gehört.
 boolean istISSAnfang(ImportNetz netz)
          Test, ob der Straßenabschnitt der Beginn eines inneren Straßensegmentes ist.
 boolean istZugeordnet()
          Test, ob dieser StrassenAbschnitt bereits einem Straßen- segment zugeordnet wurde.
 boolean kannVerbundenWerden(StrassenElement strelement)
          Test, ob der Straßenabschnitt mit dem Straßenelement verbunden werden kann.
 String kurzInfo()
          Gibt eine Kurzbeschreibung des Abschnittes zurück.
 String letzterVP()
          Gibt die Feature-ID des Verbindungspunktes zurück, an dem der Straßenabschnitt endet.
 void setRichtung(Verkehrsrichtung richtung)
          Setzt die Verkehrsrichtung des Straßenabschnittes.
 void setRichtungSTS()
          Setzt die Verkehrsrichtung des Straßenabschnittes.
 void setZugeordnet()
          Setzt das Flag, das diesen StrassenAbschnitt als einem Straßen- segment zugeordnet markiert.
 String toString()
          
 
Methods inherited from class java.util.LinkedList
add, add, addAll, addAll, addFirst, addLast, clear, contains, descendingIterator, element, get, getFirst, getLast, indexOf, lastIndexOf, listIterator, offer, offerFirst, offerLast, peek, peekFirst, peekLast, poll, pollFirst, pollLast, pop, push, remove, remove, remove, removeFirst, removeFirstOccurrence, removeLast, removeLastOccurrence, set, size, toArray, toArray
 
Methods inherited from class java.util.AbstractSequentialList
iterator
 
Methods inherited from class java.util.AbstractList
listIterator, removeRange, subList
 
Methods inherited from class java.util.AbstractCollection
containsAll, isEmpty, removeAll, retainAll
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.util.List
containsAll, isEmpty, iterator, listIterator, removeAll, retainAll, subList
 
Methods inherited from interface java.util.Deque
iterator
 

Field Detail

startVP

protected String startVP
Der Start-Verbindungspunkt.


endeVP

protected String endeVP
Der End-Verbindungspunkt.

Constructor Detail

StrassenAbschnitt

public StrassenAbschnitt(StrassenElement strassenelement)
Erzeugt einen Straßenabschnitt für ein Straßenelement.

Parameters:
strassenelement - StrassenElement
Method Detail

addASS

public void addASS(SINASS ass)
Fügt ein Element zur Liste der auf diesem Strassenabschnitt liegenden ASS hinzu.

Parameters:
ass - SINASS

addSTS

public void addSTS(KonfigurationsObjekt teilsegment)
Fügt ein Teilsegment hinzu.

Parameters:
teilsegment - Teilsegment

anfuegenAnfang

public void anfuegenAnfang(StrassenElement strassenelement)
Fügt ein Strassenelement am Anfang des Strassenabschnittes an.

Parameters:
strassenelement - anzufügendes Strassenelement

anfuegenEnde

public void anfuegenEnde(StrassenElement strassenelement)
Fügt ein Strassenelement am Ende des Strassenabschnittes an.

Parameters:
strassenelement - anzufügendes Strassenelement

aufteilenKoordinaten

public List<AufteilungspunktAktuelleKonfiguration> aufteilenKoordinaten(List<AufteilungspunktAktuelleKonfiguration> list)
Teilt den Strßenabschnitt an einer Liste von Aufteilungspunkten auf. Der Abschnitt wird nur geteilt, wenn der Punkt auf ihm liegt.

Parameters:
list - Liste von Aufteilungspunkten
Returns:
Liste von Aufteilungspunkten, die bei der Aufteilung des Abschnittes benutzt wurden

aufteilenOffset

public boolean aufteilenOffset(float offset)
Teilt den Strßenabschnitt bei einem Offset.

Parameters:
offset - Offset Liste von Aufteilungspunkten
Returns:
aufgeteilt ja/nein

clone

public StrassenAbschnitt clone()

Overrides:
clone in class LinkedList<StrassenElement>
See Also:
LinkedList.clone()

equals

public boolean equals(Object obj)

Specified by:
equals in interface Collection<StrassenElement>
Specified by:
equals in interface List<StrassenElement>
Overrides:
equals in class AbstractList<StrassenElement>
See Also:
AbstractList.equals(java.lang.Object)

ersterVP

public String ersterVP()
Gibt die Feature-ID des Verbindungspunktes zurück, an dem der Straßenabschnitt beginnt.

Returns:
Feature-ID des ersten Verbindungspunktes

erzeugeTeilAbschnitte

public void erzeugeTeilAbschnitte(Okstra okstra,
                                  TeilungspunkteOkstra tp)
Erzeugt die Teilabschnittes des Straßenabschnitts durch Aufteilung an den Teilungspunkten der OKSTRA-Datenbasis.

Parameters:
okstra - Die Okstra-Datenbasis
tp - Teilungspunkte

getASS

public List<SINASS> getASS()
Gibt die Liste der auf diesem Strassenabschnitt liegenden ASS zurück.

Returns:
Liste von SINASS

getASSnach

public KonfigurationsObjekt getASSnach(Location location)
Gibt das auf diesem Strassenabschnitt liegende ASS zurück, welches sich auf eine Location zubewegt.

Parameters:
location - Location
Returns:
KonfigurationsObjekt

getASSvon

public KonfigurationsObjekt getASSvon(Location location)
Gibt das auf diesem Strassenabschnitt liegende ASS zurück, welches sich von einer Location wegbewegt.

Parameters:
location - Location
Returns:
KonfigurationsObjekt

getLaenge

public double getLaenge()
Gibt die Länge des Abschnittes zurück.

Returns:
Länge

getLocationNach

public Location getLocationNach()
Gibt die Liste der Locationen zurück, auf die sich der Straßen- abschnitt zubewegt.

Returns:
Liste von Location

getLocationVon

public Location getLocationVon(Location nach)
                        throws ImportException
Bestimmt den Anfangs-Locationcode des Strassenabschnittes.

Parameters:
nach - Location, auf die sich der Abschnitt zubewegt
Returns:
Locationcode Anfangs-Location
Throws:
ImportException - wenn keine Vorgängerlocation bestimmt werden kann

getOkstraRichtung

public Verkehrsrichtung getOkstraRichtung()
Gibt die Verkehrsrichtung des Straßenabschnittes zurück.

Returns:
Verkehrsrichtung

getPolygon

public de.bsvrz.sys.funclib.bitctrl.geolib.WGS84Polygon getPolygon()
Gibt den Polygonzug des Abschnittes zurück.

Returns:
Polygonzug

getRichtung

public Verkehrsrichtung getRichtung()
Gibt die Verkehrsrichtung des Straßenabschnittes zurück.

Returns:
Verkehrsrichtung

getSTS

public List<KonfigurationsObjekt> getSTS()
Gibt die Liste der Straßenteilsegmente zurück.

Returns:
Liste von KonfigurationsObjekt

getTeilabschnitte

public List<StrassenTeilAbschnitt> getTeilabschnitte()
Gibt die Liste der Teilabschnitte zurück, aus denen der Abschnitt gebildet wird.

Returns:
Liste von Teilabschnitten

hashCode

public int hashCode()

Specified by:
hashCode in interface Collection<StrassenElement>
Specified by:
hashCode in interface List<StrassenElement>
Overrides:
hashCode in class AbstractList<StrassenElement>
See Also:
AbstractList.hashCode()

istASS

public boolean istASS()
Test, ob der Straßenabschnitt zu einem äußeren Straßensegment gehört.

Returns:
true, wenn der Straßenabschnitt zu einem äußeren Straßensegment gehört, ansonsten false

istISSAnfang

public boolean istISSAnfang(ImportNetz netz)
Test, ob der Straßenabschnitt der Beginn eines inneren Straßensegmentes ist.

Parameters:
netz - Importnetz
Returns:
true, wenn der Straßenabschnitt der Beginn eines inneren Straßensegmentes ist, ansonsten false

istZugeordnet

public boolean istZugeordnet()
Test, ob dieser StrassenAbschnitt bereits einem Straßen- segment zugeordnet wurde.

Returns:
true, wenn bereits zugeordnet, sonst false

kannVerbundenWerden

public boolean kannVerbundenWerden(StrassenElement strelement)
Test, ob der Straßenabschnitt mit dem Straßenelement verbunden werden kann. Folgende Bedingungen müssen dazu erfüllt sein: - der Strassenabschnitt muss einem äußeren Straßensegment zugeordnet sein - die Verkehrsrichtung muss übereinstimmen - die TMC-Locationen müssen übereinstimmen

Parameters:
strelement - Straßenelement
Returns:
true, wenn o.g. Bedingungen erfüllt sind, sonst false

kurzInfo

public String kurzInfo()
Gibt eine Kurzbeschreibung des Abschnittes zurück.

Returns:
textuelle Kurzbeschreibung

letzterVP

public String letzterVP()
Gibt die Feature-ID des Verbindungspunktes zurück, an dem der Straßenabschnitt endet.

Returns:
Feature-ID des letzten Verbindungspunktes

setRichtung

public void setRichtung(Verkehrsrichtung richtung)
Setzt die Verkehrsrichtung des Straßenabschnittes.

Parameters:
richtung - Verkehrsrichtung

setRichtungSTS

public void setRichtungSTS()
Setzt die Verkehrsrichtung des Straßenabschnittes.


setZugeordnet

public void setZugeordnet()
Setzt das Flag, das diesen StrassenAbschnitt als einem Straßen- segment zugeordnet markiert.


toString

public String toString()

Overrides:
toString in class AbstractCollection<StrassenElement>
See Also:
AbstractCollection.toString()