development of an interoperable g is using canonical geospatial concepts and methods
DESCRIPTION
Development of an Interoperable G IS using Canonical Geospatial Concepts and Methods. Sung-Gheel Jang ( [email protected] ) Tschangho John Kim ( [email protected] ) Regional Economics Applications Laboratory Expert Planning Information Systems Laboratory - PowerPoint PPT PresentationTRANSCRIPT
1
Development of an Development of an Interoperable GInteroperable GIS usingIS using
Canonical Geospatial Concepts Canonical Geospatial Concepts and Methodsand Methods
Sung-Gheel Jang ([email protected])Tschangho John Kim ([email protected])
Regional Economics Applications LaboratoryExpert Planning Information Systems LaboratoryUniversity of Illinois at Urbana-Champaign
for the 2007 AAG Meeting, San Francisco
2
Jang, S.-G. and Kim, T. J. (2006), “Modeling an Interoperable Multimodal Travel Guide System using the ISO 19100 Series of International Standards”. Proceedings of the 14th ACM International Symposium on Advances in Geographic Information Systems, November 10-11, 2006, Arlington, Va., Silvia Nittel and Rolf A. de By (eds.), ACM Press, pp. 115-122.
3
OutlineOutline
• Research Problem and Questions
• Canonical Geospatial Concepts and Methods
• Proposed Conceptual Modeling Process
• Application – Multimodal Travel Guide Service
• Implications to GIS Education
4
We need to integrate information We need to integrate information across multiple jurisdictions!across multiple jurisdictions!
Decision MakerPlanner
State DOTs
EPAEPA
NGOs
LocalGovernments
5
Research QuestionsResearch Questions
• How can we have the systems share understanding on geospatial information and services unambiguously while operating effectively together?
• How can we capture understanding in a formal and rigorous way?
Need for an effective and rigorous conceptual framework
Interoperable GIS
7
Canonical Model ApproachCanonical Model Approach
Internationally Consensual Internationally Consensual Geospatial ConceptsGeospatial Concepts
8
• Standardization in the field of digital geographic information
• 30 International Standards have been published.
ISO/TC 211 Geographic information/Geomatics
9
The ISO 19100 Series of International The ISO 19100 Series of International Standards for Geographic InformationStandards for Geographic Information
ISO 00639 Human Language
ISO 19103 Conceptual Schema Language
ISO 19107 Spatial Schema
ISO 19108 Temporal
ISO 19109 Rules for Application Schema
ISO 19110 Feature Cataloging
ISO 19112 Location by Identifier
ISO 19115 Metadata
ISO 19115-2 Metadata - Imagery
ISO 19116 Positioning Services
ISO 19117 Portrayal
ISO 19118 Encoding
ISO 19119 Services
ISO 19123 Coverages
ISO 19126 Standard Profiles
ISO 19128 Web Map Services
ISO 19137 Generally Used Profiles
ISO 19135 Procedures for registration
ISO 19133 Tracking and Navigation
ISO 19131 Data Product Specification
ISO 19130 Sensor and data models for imagery and gridded data
ISO 06709
ISO 19111 Spatial Referencing by Coordinates
ISO 19132 Location Based Services Reference Model
ISO 19141 Moving Features
ISO 19129 IGCD Framework
ISO 19134 MultiModal Navigation andRouting
10
Semantically Coherent Modeling Semantically Coherent Modeling ProcessesProcesses
Top-levelontology
Applicationontology
Domainontology
Concepts inconceptualschema language
Concepts inconceptualschema language
Model ofconceptualschema language
Model ofconceptualschema language
Concepts of feature and theirproperties
Concepts of feature and theirproperties
ApplicationschemaApplicationschema
ISO 19100standardizedconceptualschemas
ISO 19100standardizedconceptualschemas
ISO 19100standardizedconceptualschemas
ISO 19100standardizedconceptualschemas
ISO 19100standardizedconceptualschemas
ISO 19100standardizedconceptualschemas
Meta-Meta level
Meta level
Application level
TheGeneralFeatureModel
TheGeneralFeatureModel
FeatureTypedefinitions
FeatureTypedefinitions
GeographicDatasetGeographicDataset
Data level
11
ISO 19100StandardizedConceptualSchemas
Domain Experts(e.g. ISO/TC 211,ISO/TC 204, etc.)
Domain Experts(e.g. ISO/TC 211,ISO/TC 204, etc.)
Domain Experts(e.g. Transportation planner)
Domain Experts(e.g. Transportation planner)
ApplicationData Model
(e.g. MTGS)
ISO 19100StandardizedConceptualSchemas
CanonicalGeospatialConcepts/Methods
(e.g. ISO 19100 series)
Universe of Discourse
perceived by
formally represented in
perceived by employed by used in
(and/or)
extended informally represented in
(e.g. Geographic domain, Transportation domain, etc.)
ProposedProposedConceptual Conceptual Modeling ProcessModeling Process
12
HomeOffice
Intelligent Concierge ServiceIntelligent Concierge Service– Multimodal Travel Guide Service (MTGS)
13User
Transit Authority
Point of InterestsInformation Provider
Taxi Company
Traffic InformationProvider
Multimodal Travel Guide Service
Distributed, Heterogeneous, and Distributed, Heterogeneous, and Autonomously Maintained Geospatial Autonomously Maintained Geospatial
InformationInformation
14
Concepts inconceptualschema language
Concepts inconceptualschema language
Model ofconceptualschema language
Model ofconceptualschema language
Concepts of feature and theirproperties
Concepts of feature and theirproperties
ApplicationschemaApplicationschema
ISO 19100standardizedconceptualschemas
ISO 19100standardizedconceptualschemas
ISO 19100standardizedconceptualschemas
ISO 19100standardizedconceptualschemas
ISO 19100standardizedconceptualschemas
ISO 19100standardizedconceptualschemas
Meta-Meta level
Meta level
Application level
TheGeneralFeatureModel
TheGeneralFeatureModel
FeatureTypedefinitions
FeatureTypedefinitions
GeographicDatasetGeographicDataset
Data level
• Adopting meta-model of Unified Modeling Language (UML) and creating a UML profile– ISO/TS 19103 Conceptual schema
language
• Expressing Concepts using ISO 19103– ISO 19107 Spatial schema
• By inheriting TP_Complex in ISO 19107
• By inheriting NT_Network in ISO 19133
• By combining MM_SingleModeNetwork in ISO 19134
• How can we model Multimodal Network for MTGS? (Application Level Data Model)
Conceptual Modeling Conceptual Modeling ProcessesProcesses
15
Multimodal Travel Guide System
<<Application Schema>>
(from Logical View)
ISO 19134 LBS Multimodal Routing and Navigation
(from Logical View)
ISO 19133 LBS Tracking and Navigation
(from Logical View)
ISO 19103 Conceptual Schema Language
(from Logical View)
ISO 19107 Spatial Schema
(from Logical View)
ISO 19108 Temporal Schema
(from Logical View)
ISO 19112 Location by Identifier
(from Logical View)
ISO 19111 Spatial Referencing by Coordinates
(from Logical View)
16
MTGS_TransferLink
MTGS_Transfer
+ disabledAccessible : Boolean MTGS_Network
0..*
+transferLink
0..*
MM_SingleModeLink
+ mode [0..*] : MM_TransportationModeType
<<Type>>
MTGS_TransferNode
+ transferNodeType [1..*] : MM_TransferNodeType
0..*+transferNode 0..*
1
1..*
+junction1
+turn 1..*
MM_SingleModeNetwork
+ mode [0..*] : MM_TransportationModeType
<<Type>>
1..*
+componentNetworks
1..*
0..* +link0..*
MM_SingleModeJunction<<Type>>
1..*1..*
+complex
1..*
+element
1..*
Complex
1..*
+componentJunction
1..*
MM_SingleModeTurn<<Type>>
0..*+turn 0..*
1
1..*
+junction1
+turn
1..*
MM_FlexibleScheduleRouteLink<<Type>>
MM_FixedScheduleRouteLink<<Type>>
MM_ScheduleInfo
+ arrival [1..*] : TM_Primitive+ departure [0..*] : TM_Primitive+ description [0..1] : CharacterString
<<Type>>
1..*+scheduleInfo 1..*
MM_SingleModeNetwork
+ mode [0..*] : MM_TransportationModeType
<<Type>>
MTGS_RouteSummary
+ time : TM_Period+ distance : Distance+ numberOfTransfers [0..1] : Integer+ extent [0..1] : EX_GeographicExtent+ begin : NT_NetworkPosition+ stops [0..1] : MTGS_WayPointList+ end : NT_NetworkPosition
<<DataType>>
MTGS_TripScheme
+ startTransfer() : MTGS_Transfer+ endTransfer() : MTGS_Transfer
MTGS_Maneuver
+ startTurn() : MM_SingleModeTurn+ endTurn() : MM_SingleModeTurn+ startLink() : MM_SingleModeLink+ endLink() : MM_SingleModeLink
MTGS_Route
+ summary : MTGS_RouteSummary+ geometry : GM_CompositeCurve
+ recalculate(from : MTGS_WayPoint, cost : NS_CostFunction) : MTGS_Route+ asLinks() : Sequence<MM_SingleModeLink>
1..*+maneuver
1..*
NT_NetworkPosition
+ node : NT_Junction+ linkPosition : NT_LinkPosition
<<Union>>
MTGS_RouteSummary
+ time : TM_Period+ distance : Distance+ numberOfTransfers [0..1] : Integer+ extent [0..1] : EX_GeographicExtent+ begin : NT_NetworkPosition+ stops [0..1] : MTGS_WayPointList+ end : NT_NetworkPosition
<<DataType>>
NT_Turn<<Type>>
NT_Maneuver
+ isTraversable : Boolean
+ cost(function : NS_CostFunction, t[0..1] : TM_DateAndTime = "now") : Measure+ startTurn() : NT_Turn+ endTurn() : NT_Turn+ startLink() : NT_Link+ endLink() : NT_Link
<<Type>>
1..*
+turn
1..*{ordered}
+maneuver Turns
NT_Link<<Type>>
0..*+maneuver
+link
0..*
/Links
MM_SingleModeTurn<<Type>>
MM_SingleModeLink<<Type>>
MTGS_Maneuver
+ startTurn() : MM_SingleModeTurn+ endTurn() : MM_SingleModeTurn+ startLink() : MM_SingleModeLink+ endLink() : MM_SingleModeLink
1..*
+turn
1..*{ordered}
+maneuver
Turns
0..*
+link
0..*
+maneuver
/Links
MTGS_Transfer
+ disabledAccessible : Boolean
MTGS_TripScheme
+ startTransfer() : MTGS_Transfer+ endTransfer() : MTGS_Transfer
1..*
+turn
1..*{ordered}
+maneuverTurns
NT_Constraint(from constraintsAdvisory)
<<DataType>>MTGS_WayPoint
+ position : MTGS_Position+ avoid : Boolean
<<DataType>>
0..*
+restriction
0..*
Restriction
MTGS_Position
+ directPosition : DirectPosition+ networkPosition : NT_NetworkPosition
<<Union>>
MTGS_WayPointList
+ startPoint : MTGS_WayPoint+ viaPoint [0..*] : MTGS_WayPoint+ endPoint : MTGS_WayPoint+ isOrdered : Boolean = TRUE
<<DataType>>
NS_RouteRequestType
+ basic+ predictive+ dynamic+ complex
<<CodeList>>
NS_CostFunctionCode
+ distance+ time+ numberTurns+ numberOfTransfers+ totalfare
<<CodeList>>
NS_RoutePreferences
+ scenic+ easiest+ majorRoadsOnly+ avoidMajorHighways+ fastest+ cheapest+ minimumTransfers
<<CodeList>>
MTGS_RouteRequest
+ routeRequestType[1..*] : NS_RouteRequestType+ transportationMode[1..*] : MM_TransportationModeType+ wayPointList : MTGS_WayPointList+ departureTime[0..1] : TM_Period+ arrivalTime[0..1] : TM_Period+ costFunction[0..1] : NS_CostFunctionCode = "distance"+ preferences[0..*] : NS_RoutePreferences+ returnRouteInstructions : Boolean+ returnRouteGeometry : Boolean
<<DataType>>
MTGS_WayPointList(from network)
<<DataType>>
MM_TransportationModeType
+ intracityBus+ intercityBus+ shuttleBus+ rovingBus+ tram+ highSpeedRailway+ airway+ walk+ bike+ taxi+ passengerFerry+ vehicleFerry+ passengerCar
(from constraintsAdvisory)
<<CodeList>>
MTGS_RouteRequest<<DataType>>
MTGS_RouteResponse
+ request[1..*] : MTGS_RouteRequest+ route[0..*] : MTGS_Route
<<DataType>>
MTGS_InstructionList
+ route : MTGS_Route
<<DataType>>
0..*
+instructionList
0..*
MTGS_Maneuver
+ startTurn() : MM_SingleModeTurn+ endTurn() : MM_SingleModeTurn+ startLink() : MM_SingleModeLink+ endLink() : MM_SingleModeLink
(from network)
MTGS_Instruction
/+ cost : Measure+ action[0..1] : CharacterString+ advisory[0..*] : NT_Advisory
<<DataType>>1..*
+list
+instruction 1..*
Instruction List
0..*
+maneuver
0..*
MTGS_TripScheme
+ startTransfer() : MTGS_Transfer+ endTransfer() : MTGS_Transfer
(from network)
NT_Advisory(from constraintsAdvisory)
<<DataType>>MTGS_InstructionList
+ route : MTGS_Route
<<DataType>>
MTGS_Instruction
/+ cost : Measure+ action[0..1] : CharacterString+ advisory[0..*] : NT_Advisory
<<DataType>>
1..*
+list
+instruction1..*
Instruction List
MTGS_AvoidList
+ pointElement[0..*] : MTGS_WayPoint+ mode[0..*] : CharacterString
MTGS_WayPointList
+ startPoint : MTGS_WayPoint+ viaPoint [0..*] : MTGS_WayPoint+ endPoint : MTGS_WayPoint+ isOrdered : Boolean = TRUE
(from network)
<<DataType>>
MTGS_WayPoint
+ position : MTGS_Position+ avoid : Boolean
(from network)
<<DataType>>MTGS_Position
+ directPosition : DirectPosition+ networkPosition : NT_NetworkPosition
(from network)
<<Union>>
NS_CostFunction(from costFunction)
<<Type>>NT_Turn
/+ exitCount : Integer+ turnDirection[0..1] : NT_TurnDirection+ isTraversable : Boolean+ isManuever : Boolean/+ entryCount : Integer
+ cost()
(from network)
<<Type>>
NS_CostedTurn
/+ cost : Measure
1
0..*
+costFunction1
+turn
0..*
Turn Cost Functions 1
0..*
+turn1
+costedTurn
0..*
Turn Costing MM_SingleModeTurn(from network)
<<Type>>
MTGS_Transfer
+ disabledAccessible : Boolean
(from network)
constraintsAdvisory<<Leaf>>
network<<Leaf>>
navigation<<Leaf>>
LRS<<Leaf>>
costFunction<<Leaf>>
MTGS Application Data Model (Part)MTGS Application Data Model (Part)
17
MTGS_TransferLink
MTGS_Transfer
+ disabledAccessible : Boolean MTGS_Network
0..*
+transferLink
0..*
MM_SingleModeLink
+ mode [0..*] : MM_TransportationModeType
<<Type>>
MTGS_TransferNode
+ transferNodeType [1..*] : MM_TransferNodeType
0..*+transferNode 0..*
1
1..*
+junction1
+turn 1..*
MM_SingleModeNetwork+ mode [0..*] : MM_TransportationModeType
<<Type>>
1..*+componentNetworks1..*
0..* +link0..*
MM_SingleModeJunction<<Type>>
1..*1..*
+complex
1..*
+element
1..*
Complex
1..*
+componentJunction
1..*
MM_SingleModeTurn<<Type>>
0..*+turn 0..*
1
1..*
+junction1
+turn
1..*
MM_FlexibleScheduleRouteLink<<Type>>
MM_FixedScheduleRouteLink<<Type>>
MM_ScheduleInfo+ arrival [1..*] : TM_Primitive+ departure [0..*] : TM_Primitive+ description [0..1] : CharacterString
<<Type>>
1..*+scheduleInfo 1..*
MTGS Application Data Model (Part)MTGS Application Data Model (Part)
From ISO 19134
18
<!-- ==================== mtgs_model::MTGSApplicationSchemas::network::{MM_SingleModeLink-MM_SingleModeNetwork}{4179738D0369} [Association] ==================== --> <Foundation.Core.Association xmi.id = 'G.86' > <Foundation.Core.ModelElement.name></Foundation.Core.ModelElement.name> <Foundation.Core.ModelElement.visibility xmi.value = "public" /> <Foundation.Core.ModelElement.isSpecification xmi.value = "false"/> <Foundation.Core.GeneralizableElement.isRoot xmi.value = "false"/> <Foundation.Core.GeneralizableElement.isLeaf xmi.value = "false"/> <Foundation.Core.GeneralizableElement.isAbstract xmi.value = "false"/> <Foundation.Core.Association.connection> <!-- ==================== mtgs_model::MTGSApplicationSchemas::network::{MM_SingleModeLink-MM_SingleModeNetwork}{4179738D0369}.link [AssociationEnd] ==================== --> <Foundation.Core.AssociationEnd xmi.id = 'G.87' > <Foundation.Core.ModelElement.name>link</Foundation.Core.ModelElement.name> <Foundation.Core.ModelElement.visibility xmi.value = "public" /> <Foundation.Core.ModelElement.isSpecification xmi.value = "false"/> <Foundation.Core.AssociationEnd.isNavigable xmi.value = "true"/> <Foundation.Core.AssociationEnd.ordering xmi.value = "unordered" /> <Foundation.Core.AssociationEnd.aggregation xmi.value = "none" /> <Foundation.Core.AssociationEnd.targetScope xmi.value = "instance" /> <Foundation.Core.AssociationEnd.multiplicity> <Foundation.Data_Types.Multiplicity > <Foundation.Data_Types.Multiplicity.range> <Foundation.Data_Types.MultiplicityRange xmi.id = 'id.3161707.155' > <Foundation.Data_Types.MultiplicityRange.lower>0</Foundation.Data_Types.MultiplicityRange.lower> <Foundation.Data_Types.MultiplicityRange.upper>-1</Foundation.Data_Types.MultiplicityRange.upper> </Foundation.Data_Types.MultiplicityRange> </Foundation.Data_Types.Multiplicity.range> </Foundation.Data_Types.Multiplicity> </Foundation.Core.AssociationEnd.multiplicity> <Foundation.Core.AssociationEnd.changeability xmi.value = "changeable" /> <Foundation.Core.AssociationEnd.type> <Foundation.Core.Classifier xmi.idref = 'S.315.1107.30.265'/> <!-- mtgs_model::MTGSApplicationSchemas::network::MM_SingleModeLink --> </Foundation.Core.AssociationEnd.type> </Foundation.Core.AssociationEnd> <!-- ==================== mtgs_model::MTGSApplicationSchemas::network::{MM_SingleModeLink-MM_SingleModeNetwork}{4179738D0369}.(Role2) [AssociationEnd] ==================== --> <Foundation.Core.AssociationEnd xmi.id = 'G.88' > <Foundation.Core.ModelElement.name></Foundation.Core.ModelElement.name> <Foundation.Core.ModelElement.visibility xmi.value = "public" /> <Foundation.Core.ModelElement.isSpecification xmi.value = "false"/> <Foundation.Core.AssociationEnd.isNavigable xmi.value = "false"/> <Foundation.Core.AssociationEnd.ordering xmi.value = "unordered" /> <Foundation.Core.AssociationEnd.aggregation xmi.value = "aggregate" /> <Foundation.Core.AssociationEnd.targetScope xmi.value = "instance" /> <Foundation.Core.AssociationEnd.multiplicity> <Foundation.Data_Types.Multiplicity > <Foundation.Data_Types.Multiplicity.range> <Foundation.Data_Types.MultiplicityRange xmi.id = 'id.3161707.156' > <Foundation.Data_Types.MultiplicityRange.lower>0</Foundation.Data_Types.MultiplicityRange.lower> <Foundation.Data_Types.MultiplicityRange.upper>-1</Foundation.Data_Types.MultiplicityRange.upper> </Foundation.Data_Types.MultiplicityRange> </Foundation.Data_Types.Multiplicity.range> </Foundation.Data_Types.Multiplicity> </Foundation.Core.AssociationEnd.multiplicity> <Foundation.Core.AssociationEnd.changeability xmi.value = "changeable" /> <Foundation.Core.AssociationEnd.type> <Foundation.Core.Classifier xmi.idref = 'S.315.1107.30.267'/> <!-- mtgs_model::MTGSApplicationSchemas::network::MM_SingleModeNetwork --> </Foundation.Core.AssociationEnd.type> </Foundation.Core.AssociationEnd> </Foundation.Core.Association.connection> </Foundation.Core.Association>
MTGS Application Data Model in XMI
MTGS_TransferLink
MTGS_Transfer
+ disabledAccessible : Boolean MTGS_Network
0..*
+transferLink
0..*
MM_SingleModeLink
+ mode [0..*] : MM_TransportationModeType
<<Type>>
MTGS_TransferNode
+ transferNodeType [1..*] : MM_TransferNodeType
0..*+transferNode 0..*
1
1..*
+junction1
+turn 1..*
MM_SingleModeNetwork
+ mode [0..*] : MM_TransportationModeType
<<Type>>
1..*+componentNetworks1..*
0..* +link0..*
MM_SingleModeJunction<<Type>>
1..*1..*
+complex
1..*
+element
1..*
Complex
1..*
+componentJunction
1..*
MM_SingleModeTurn<<Type>>
0..*+turn 0..*
1
1..*
+junction1
+turn
1..*
MM_FlexibleScheduleRouteLink<<Type>>
MM_FixedScheduleRouteLink<<Type>>
MM_ScheduleInfo
+ arrival [1..*] : TM_Primitive+ departure [0..*] : TM_Primitive+ description [0..1] : CharacterString
<<Type>>
1..*+scheduleInfo 1..*
UML Application Data Model
<?xml version="1.0" encoding="UTF-8"?> <schema elementFormDefault="qualified" targetNamespace="http: / /epil.urban.uiuc.edu/mtgs" version="unknown" xmlns="http: / /www.w3.org/2001/XMLSchema" xmlns:gml="http: / /www.opengis.net/gml" xmlns:mtgs="http: / /epil.urban.uiuc.edu/mtgs" xmlns:sc="http:/ /www.interactive-instruments.de/ShapeChange" xmlns:scXML="http: / /www.isotc211.org/scXML" xmlns:smXML="http: / /www.isotc211.org/smXML" xmlns:xlink="http: / /www.w3.org/1999/xlink"> <include schemaLocation="LRS.xsd"/> <include schemaLocation="constraintsAdvisory.xsd"/> <import namespace="http:/ /www.opengis.net/gml" schemaLocation="base/gml.xsd"/> <import namespace="http:/ /www.isotc211.org/smXML" schemaLocation="smXML/metadataEntity.xsd"/> <import namespace="http:/ /www.isotc211.org/scXML" schemaLocation="scXML/basicTypes.xsd"/> <!--Type and element definitions of this package--> <complexType name="NT_NetworkType"> <complexContent> <extension base="gml:TopoComplexType"> <sequence> <element maxOccurs="unbounded" minOccurs="0" name="link" type="mtgs:NT_LinkPropertyType"/> <element maxOccurs="unbounded" minOccurs="0" name="turn" type="mtgs:NT_TurnPropertyType"/> </sequence> </extension> </complexContent> </complexType> <complexType name="NT_NetworkPropertyType"> <sequence> <element minOccurs="0" ref="mtgs:NT_Network"/> </sequence> <attributeGroup ref="gml:AssociationAttributeGroup"/> </complexType> <complexType name="NT_NetworkPropertyByValueType"> <sequence> <element ref="mtgs:NT_Network"/> </sequence> </complexType> <element name="NT_Network" substitutionGroup="gml:TopoComplex" type="mtgs:NT_NetworkType"/> <complexType name="MTGS_PositionType"> <choice> <element name="directPosition" type="gml:DirectPositionType"/> <element name="networkPosition" type="mtgs:NT_NetworkPositionPropertyType"/> </choice> </complexType> <complexType name="MTGS_PositionPropertyType"> <sequence> <element ref="mtgs:MTGS_Position"/> </sequence> </complexType> <element name="MTGS_Position" type="mtgs:MTGS_PositionType"/> <complexType name="NT_LinkType"> <complexContent> <extension base="gml:DirectedEdgePropertyType"> <sequence> <element name="isTraversable" type="boolean"> <annotation> <documentation>This indicates whether this link is navigable in this direction. </documentation> </annotation> </element> <element name="isUturnPossible" type="boolean"> <annotation> <documentation>This indicates whether this link is navigable in this direction. </documentation> </annotation> </element>
GML Application Data Model
GML: Geography Markup Language
19
NS_RouteRequestType
+ basic+ predictive+ dynamic+ complex
<<CodeList>>
NS_CostFunctionCode
+ distance+ time+ numberTurns+ numberOfTransfers+ totalfare
<<CodeList>>
NS_RoutePreferences
+ scenic+ easiest+ majorRoadsOnly+ avoidMajorHighways+ fastest+ cheapest+ minimumTransfers
<<CodeList>>
MTGS_RouteRequest
+ routeRequestType[1..*] : NS_RouteRequestType+ transportationMode[1..*] : MM_TransportationModeType+ wayPointList : MTGS_WayPointList+ departureTime[0..1] : TM_Period+ arrivalTime[0..1] : TM_Period+ costFunction[0..1] : NS_CostFunctionCode = "distance"+ preferences[0..*] : NS_RoutePreferences+ returnRouteInstructions : Boolean+ returnRouteGeometry : Boolean
<<DataType>>
MTGS_WayPointList(from network)
<<DataType>>
MM_TransportationModeType
+ intracityBus+ intercityBus+ shuttleBus+ rovingBus+ tram+ highSpeedRailway+ airway+ walk+ bike+ taxi+ passengerFerry+ vehicleFerry+ passengerCar
(from constraintsAdvisory)
<<CodeList>>
Route Request InformationRoute Request Information
UML
GML Instance Representation
<mtgs:MTGS_RouteRequest> <mtgs:routeRequestType> mtgs:NS_RouteRequestTypeType </mtgs:routeRequestType> [1..*] <mtgs:transportationMode> mtgs:MM_TransportationModeTypeType </mtgs:transportationMode> [1..*] <mtgs:wayPointList> mtgs:MTGS_WayPointListPropertyType </mtgs:wayPointList> [1] <mtgs:departureTime> gml:TimePeriodPropertyType </mtgs:departureTime> [0..1] <mtgs:arrivalTime> gml:TimePeriodPropertyType </mtgs:arrivalTime> [0..1] <mtgs:costFunction> mtgs:NS_CostFunctionCodeType </mtgs:costFunction> [0..1] <mtgs:preferences> mtgs:NS_RoutePreferencesType </mtgs:preferences> [0..*] <mtgs:returnRouteInstructions> boolean </mtgs:returnRouteInstructions> [1] <mtgs:returnRouteGeometry> boolean </mtgs:returnRouteGeometry> [1] </mtgs:MTGS_RouteRequest>
20
MTGS_RouteRequest<<DataType>>
MTGS_RouteResponse
+ request[1..*] : MTGS_RouteRequest+ route[0..*] : MTGS_Route
<<DataType>>
MTGS_InstructionList
+ route : MTGS_Route
<<DataType>>
0..*
+instructionList
0..*
MTGS_Maneuver
+ startTurn() : MM_SingleModeTurn+ endTurn() : MM_SingleModeTurn+ startLink() : MM_SingleModeLink+ endLink() : MM_SingleModeLink
(from network)
MTGS_Instruction
/+ cost : Measure+ action[0..1] : CharacterString+ advisory[0..*] : NT_Advisory
<<DataType>>
1..*
+list
+instruction 1..*
Instruction List
0..*
+maneuver
0..*
MTGS_TripScheme
+ startTransfer() : MTGS_Transfer+ endTransfer() : MTGS_Transfer
(from network)
Route Response InformationRoute Response Information
GML Instance Representation
UML
<mtgs:MTGS_RouteResponse> <mtgs:request> mtgs:MTGS_RouteRequestPropertyType </mtgs:request> [1..*] <mtgs:route> mtgs:MTGS_RoutePropertyType </mtgs:route> [0..*] <mtgs:instructionList> mtgs:MTGS_InstructionListPropertyType </mtgs:instructionList> [0..*] </mtgs:MTGS_RouteResponse>
22
MTGS Route Represented by GML InstancesMTGS Route Represented by GML Instances
GML Instance Representation<mtgs:MTGS_Route> <gml:metaDataProperty> ... </gml:metaDataProperty> [0..*] <gml:description> ... </gml:description> [0..1] <gml:name> ... </gml:name> [0..*] <gml:boundedBy> ... </gml:boundedBy> [0..1] <mtgs:maximalComplex> gml:TopoComplexMemberType </mtgs:maximalComplex> [1] <mtgs:subComplex> gml:TopoComplexMemberType </mtgs:subComplex> [1..*] <mtgs:superComplex> gml:TopoComplexMemberType </mtgs:superComplex> [1..*] <mtgs:element> mtgs:MM_SingleModeJunctionPropertyType </mtgs:element> [1..*] <mtgs:geometry> [1] <gml:CompositeCurve> ... </gml:CompositeCurve> [0..1] </mtgs:geometry> <mtgs:link> mtgs:MM_SingleModeLinkPropertyType </mtgs:link> [0..*] <mtgs:turn> mtgs:MM_SingleModeTurnPropertyType </mtgs:turn> [0..*] <mtgs:mode> mtgs:MM_TransportationModeTypeType </mtgs:mode> [1] <mtgs:summary> mtgs:MTGS_RouteSummaryPropertyType </mtgs:summary> [1] <mtgs:tripScheme> mtgs:MTGS_TripSchemePropertyType </mtgs:tripScheme> [1..*] <mtgs:maneuver> mtgs:MTGS_ManeuverPropertyType </mtgs:maneuver> [1..*] </mtgs:MTGS_Route>
23
WF
SW
FS
WF
SW
FS
ParticipatingSystem A
ParticipatingSystem B
B C
Local Schema
MTGSApplication Schemas
Translator
Data Integrator/Optimizer
GetGMLObject( )
WF
S C
lien
t Inte
rfac
eW
FS
Clie
nt In
terfa
ce
GMLParser Data
Store
RoutingEngine
Extended WFS InterfaceExtended WFS Interface
MTGS ClientsMTGS Clients
MTGSManager
Multimodal Travel Guide System (MTGS)Multimodal Travel Guide System (MTGS)MTGS GML Instances
GetGMLObject( )
MTGS GML Instances refer
Request
read
refer
Route Response(MTGS GML Instance)
GetRoute() via the WFS interface
Response
integrate
filter
query
returnwrite
query
return
Request / Response
Business LogicsBusiness Logics
System Architecture of MTGSSystem Architecture of MTGS
WFS: Web Feature Service
e.g. Transit Authority
e.g. Traffic Information
24
Fetching the component networks Fetching the component networks from the participating systemsfrom the participating systems
25User
Transit Authority
Point of InterestsInformation Provider
Taxi Company
Traffic InformationProvider
Multimodal Travel Guide Service
Interoperable GISInteroperable GIS
27
Now – Different formats and standardsNow – Different formats and standards
Decision MakerPlanner
Proprietary Software
Versions of Software
Data Structures
Different Semantics
28
Interoperable Interoperable Geospatial Information Processing Geospatial Information Processing
Decision MakerPlanner
State DOTs
EPAEPA
NGOs
LocalGovernments
29
Implications to GIS EducationImplications to GIS Education
• GIS standards as cross-cutting theme in GIS education: GIS & T Body of Knowledge (UCGIS 2006)– scale; error and data quality; uncertainty;
metadata; interoperability; generalization; quality measurement; history and trends; and standards
• Model curricula of UCGIS includes GD12 – Metadata, standards, and infrastructure
• Not enough to keep up the fast changes of GIS & T
30
Four Recommendable Areas in GIS Four Recommendable Areas in GIS EducationEducation
• Formalizing methods for the concepts of geographic information– Reference model (ISO 19101, ISO
19132)– Conceptual schema language
(ISO/TS 19103), UML– Rules of application schema (ISO
19109)• Formal concepts of geographic
information– Spatial schema (ISO 19107, ISO
19137)– Temporal schema (ISO 19108)– Metadata (ISO 19115)– Imagery and gridded data (ISO/TR
19121)– Coverage geometry and functions
(ISO 19123)– Location based services (ISO
19133, ISO 19134)– Moving features (ISO 19141)
• Cataloguing methods– Methodology for feature
cataloguing (ISO 19107)– OpenGIS Catalogue Service
(OGC 04-021r3)• Web-based GIS
– Web Map Service (ISO 19128)– Web Feature Service (ISO
19142, OGC 04-094)– Filter encoding (ISO 19143,
OGC 04-095)– Web Coverage Service (OGC
03-065r6)– Web Service Common (OGC
05-008c1)– Geography Markup Language
(ISO 19136, OGC 02-023r4)
31
Thank you for your attention!Thank you for your attention!
• Any questions or suggestions?
e-mail: [email protected]