Das im Rahmen der Mobile-Fallstudie Kurierdienst erstellte Modell verlangt
als Eingabe die Bereitstellung eines Straßennetzwerkes.
Straßennetzwerke sind von allgemeinerem Interesse für die
Straßenverkehrssimulation und werden zum Beispiel auch von QUIG verwendet
(vgl.[Qui95]).
Sie stellen die Spezialisierung eines Verkehrsnetzwerkes dar. Ein
Verkehrsnetzwerk beruht seinerseits wiederum auf einem Graphen (vgl. dazu die
Definition des MSL-Daten-Typen in[Geh98]). Der Einsatz des Modells im Rahmen
des MOBILE-Systems macht die Entwicklung des MSL-Daten-Typs
Mobile.RoadNetwork notwendig.
Um ein MSL-Daten-Objekt Mobile.RoadNetwork zu konvertieren, gibt es
zwei Varianten. Grundlage bilden die von ArcView zum MOBILE-Sytem
konvertierbaren Objekte.
In beiden Varianten sollen die Komponenten als Table oder View in einem Projekt
im GIS ArcView vorliegen, und zwar
* ein View zur Speicherung der Geometriedaten der Road-Objekte und
ihrer Attributdaten
* ein Table für jede TemporalDistribution zum Aufbau
der RoadDescription
Das Vorliegen in einem Projekt ist erforderllich, weil das RoadNetwork aus
mehreren Komponenten besteht, die nicht nur in einem Table gehalten werden
können. Nur so kann eine RoadNetwork auch in ArcView als eine Einheit
verwaltet werden.
1. Variante: Erweiterung der Schnittstelle um Konverter für die
MSL-Daten-Typen
Mobile.MSL.Graph
Mobile.MSL.TrafficNetwork und
Mobile.MSL.RoadNetwork
sowie für die zu deren Zusammensetzung benötigten MSL-Daten-Typen
Mobile.MSL.Node,
Mobile.MSL.RoadNode,
etc., vgl. ebenda.
Dies bedeutet im wesentlichen die Erstellung weiterer Konverter.
Die Komposition des RoadNetwork erfolgt in dieser Variante
ArcView-seitig in Avenue aus dort persistent abgelegten Komponenten, im
wesentlichen Avenue-Tables und Avenue-Views.
2. Variante: Der Transfer der benötigten Daten findet in Form von
Mobile.MSL.Table-Objekten auf der Grundlage der bereits bestehenden
Schnittstelle statt. Die zunächst zu Mobile.MSL.Table
konvertierten Komponenten werden erst Java-seitig zu einem
Mobile.MSL.RoadNetwork
zusammengesetzt, und zwar in einer Produktion in der von JavaCC automatisch
generierten
ExchangeRepresentationParser.roadNetwork()
(vgl. Leitfaden Konvertererweiterung, S. 134)
Der umgekehrte Vorgang nimmt die Dekomposition in MSL-Table-Objekte ebenfalls
Java-seitig vor und transferiert diese nach ArcView, wo sie von
MobileExtricateRoadNetwork unter Verwendung von
MobileExtricateTable
zu Avenue-Tables umgewandelt werden.
Eine Erweiterung von MobileExtricateTable um den Typ Time ist
in beiden Varianten nötig. Er wird als Grundlage für
TemporalDistribution
verwendet. Time kann in Avenue-Table-Objekten auf Spalten vom Typ
#FIELD_ISOTIME abgebildet werden (vgl. Avenue-Obline-Hilfe zu diesem
Stichwort).
Variante 2 ist wesentlich weniger aufwendig zu programmieren und sollte deshalb
vorgezogen werden.