View
33
Download
3
Category
Tags:
Preview:
DESCRIPTION
From Model Interoperability to Data Transformation. Steve Grise ESRI. Overview. Detailed approach for Schema mapping for Euroroads example Interoperability and semantics tools Some attempts at answers to questions. EuroRoads for Geodatabase. - PowerPoint PPT Presentation
Citation preview
From Model Interoperability From Model Interoperability to Data Transformationto Data Transformation
From Model Interoperability From Model Interoperability to Data Transformationto Data Transformation
Steve GriseSteve GriseESRIESRI
22
OverviewOverviewOverviewOverview
• Detailed approach for Schema Detailed approach for Schema mapping for Euroroads examplemapping for Euroroads example
• Interoperability and semantics Interoperability and semantics toolstools
• Some attempts at answers to Some attempts at answers to questionsquestions
33
EuroRoads for GeodatabaseEuroRoads for GeodatabaseEuroRoads for GeodatabaseEuroRoads for Geodatabase
• Created EuroRoads Geodatabase UML, Created EuroRoads Geodatabase UML, exported to XMI, used ArcCatalog exported to XMI, used ArcCatalog Schema wizard to create GeodatabaseSchema wizard to create Geodatabase
• Started with Canadian National Road Started with Canadian National Road Network (NRN) data in GMLNetwork (NRN) data in GML
• Mapped schema from NRN to EuroRoad Mapped schema from NRN to EuroRoad target (data interoperability extension)target (data interoperability extension)
• Downloaded GML sample for the Yukon Downloaded GML sample for the Yukon TerritoryTerritory
• Created geoprocessing model to load Created geoprocessing model to load the Yukon data into the modelthe Yukon data into the model
• Used XML Schema tools in ArcGIS to Used XML Schema tools in ArcGIS to create export datasetcreate export dataset
44
EuroRoads for GeodatabaseEuroRoads for GeodatabaseEuroRoads for GeodatabaseEuroRoads for Geodatabase
• Usually start with an Analysis DiagramUsually start with an Analysis Diagram– Simplified UMLSimplified UML– Stepping stone between ideas and Stepping stone between ideas and
implementationimplementation– Example from Ontario roads prototype Example from Ontario roads prototype
belowbelow– Would do Analysis Diagram to handle the Would do Analysis Diagram to handle the
more complex event/attributes for more complex event/attributes for implementation model for EuroRoadS implementation model for EuroRoadS
RoadJurisdiction NumberOfLane
NumberOfLanes
RoadName
RoadNameIDDescriptionRoadNameIndicatorRoadStreetNameRoadStreetDirectionPrefixRoadStreetDirectionRoadStreetTypeRoadJurisdictionIDfk
RoadJurisdictionIDRoadJurisdictionRoadJurisdictionZone
RoadLineEvent
55
EuroRoads for GeodatabaseEuroRoads for GeodatabaseEuroRoads for GeodatabaseEuroRoads for Geodatabase
+Shape : esriFieldTypeGeometry
ESRI Classes::Feature
-PermanentID : esriFieldTypeString-VersionID : esriFieldTypeString-AlternateID : esriFieldTypeString
ER_RoadFeature
-ER_Level : ER_RoadNodeLevel = ER_Junction-FormOfNode : ER_FormOfNode = ER_Roundabout
ER_RoadNode
-ER_Level : ER_RoadLinkLevel = ER_RoadElement-FormOfWay : ER_FormOfWay = ER_SingleCarriageway-NationalRoadClass : ER_NationalRoadClass = ER_MainRoad
ER_RoadLink
-ER_Level : ER_FerryLinkLevel = ER_Ferry-FormOfFerry : ER_FormOfFerry = ER_Train
ER_FerryLink
-StartDateTime : esriFieldTypeDate-EndDateTime : esriFieldTypeDate
ER_RoadnetLink
CASE Tool UMLCASE Tool UML
66
EuroRoads for GeodatabaseEuroRoads for GeodatabaseEuroRoads for GeodatabaseEuroRoads for Geodatabase+FieldType : esriFieldType = esriFieldTypeString+MergePolicy : esriMergePolicyType = esriMPTDefaultValue+SplitPolicy : esriSplitPolicyType = esriSPTDefaultValue+ER_Junction : <unspecified> = ER_Junction+ER_Intersection : <unspecified> = ER_Intersection
«CodedValueDomain»ER_RoadNodeLevel
+FieldType : esriFieldType = esriFieldTypeString+MergePolicy : esriMergePolicyType = esriMPTDefaultValue+SplitPolicy : esriSplitPolicyType = esriSPTDefaultValue+ER_Roundabout : <unspecified> = ER_Roundabout+ER_EnclosedTrafficArea : <unspecified> = ER_EnclosedTrafficArea+ER_PseudoNode : <unspecified> = ER_PseudoNode+ER_GradeSeparatedCrossing : <unspecified> = ER_GradeSeparatedCrossing
«CodedValueDomain»ER_FormOfNode
+FieldType : esriFieldType = esriFieldTypeString+MergePolicy : esriMergePolicyType = esriMPTDefaultValue+SplitPolicy : esriSplitPolicyType = esriSPTDefaultValue+ER_RoadElement : <unspecified> = ER_RoadElement+ER_Road : <unspecified> = ER_Road
«CodedValueDomain»ER_RoadLinkLevel
+FieldType : esriFieldType = esriFieldTypeString+MergePolicy : esriMergePolicyType = esriMPTDefaultValue+SplitPolicy : esriSplitPolicyType = esriSPTDefaultValue+ER_Motorway : <unspecified> = ER_Motorway+ER_MultiCarriageWay : <unspecified> = ER_MultiCarriageWay+ER_RoundaboutCircle : <unspecified> = ER_RoundaboutCircle+ER_TrafficSquare : <unspecified> = ER_TrafficSquare+ER_EnclosedTrafficArea : <unspecified> = ER_EnclosedTrafficArea+ER_SlipRoad : <unspecified> = ER_SlipRoad+ER_ServiceRoad : <unspecified> = ER_ServiceRoad+ER_EntranceOrExitCarPark : <unspecified> = ER_EntranceOrExitCarPark+ER_EntranceOrExitService : <unspecified> = ER_EntranceOrExitService+ER_UndefinedFormOfWay : <unspecified> = ER_UndefinedFormOfWay+ER_SingleCarriageway : <unspecified> = ER_SingleCarriageway
«CodedValueDomain»ER_FormOfWay
+FieldType : esriFieldType = esriFieldTypeString+MergePolicy : esriMergePolicyType = esriMPTDefaultValue+SplitPolicy : esriSplitPolicyType = esriSPTDefaultValue+ER_MainRoad : <unspecified> = ER_MainRoad+ER_FirstClass : <unspecified> = ER_FirstClass+ER_SecondClass : <unspecified> = ER_SecondClass+ER_ThirdClass : <unspecified> = ER_ThirdClass+ER_FourthClass : <unspecified> = ER_FourthClass+ER_FifthClass : <unspecified> = ER_FifthClass+ER_SixthClass : <unspecified> = ER_SixthClass+ER_SeventhClass : <unspecified> = ER_SeventhClass+ER_EighthClass : <unspecified> = ER_EighthClass+ER_NinthClass : <unspecified> = ER_NinthClass+ER_TenthClass : <unspecified> = ER_TenthClass+ER_UndefinedNationalRoadClass : <unspecified> = ER_UndefinedNationalRoadClass
«CodedValueDomain»ER_NationalRoadClass
+FieldType : esriFieldType = esriFieldTypeString+MergePolicy : esriMergePolicyType = esriMPTDefaultValue+SplitPolicy : esriSplitPolicyType = esriSPTDefaultValue+ER_FerryConnection : <unspecified> = ER_FerryConnection+ER_Ferry : <unspecified> = ER_Ferry
«CodedValueDomain»ER_FerryLinkLevel
+FieldType : esriFieldType = esriFieldTypeString+MergePolicy : esriMergePolicyType = esriMPTDefaultValue+SplitPolicy : esriSplitPolicyType = esriSPTDefaultValue+ER_ShipOrHovercraft : <unspecified> = ER_ShipOrHovercraft+ER_Train : <unspecified> = ER_Train
«CodedValueDomain»ER_FormOfFerry
CASE Tool UMLCASE Tool UML
77
EuroRoads for GeodatabaseEuroRoads for GeodatabaseEuroRoads for GeodatabaseEuroRoads for Geodatabase
• Mapping File (Road Node)Mapping File (Road Node)
88
EuroRoads for GeodatabaseEuroRoads for GeodatabaseEuroRoads for GeodatabaseEuroRoads for Geodatabase
99
EuroRoads for GeodatabaseEuroRoads for GeodatabaseEuroRoads for GeodatabaseEuroRoads for Geodatabase
1010
EuroRoads for GeodatabaseEuroRoads for GeodatabaseEuroRoads for GeodatabaseEuroRoads for Geodatabase
• XML Schema excerptXML Schema excerpt
Semantic InteroperabilitySemantic InteroperabilitySemantic InteroperabilitySemantic Interoperability
1212
Catalogs and SearchingCatalogs and SearchingCatalogs and SearchingCatalogs and Searching
• Search supportSearch support– ThesauriThesauri
– English/other LanguagesEnglish/other Languages– GeoGeo– Euro SDIEuro SDI
– Key is management of terms and Key is management of terms and relationships between concepts in real relationships between concepts in real datasetsdatasets
– W3C and other standards existW3C and other standards exist– Some key geo pieces missingSome key geo pieces missing– Standards needed in this areaStandards needed in this area
• Basically the same problem as Basically the same problem as conceptual schema mapping, but done conceptual schema mapping, but done at the dataset/catalog level (and the at the dataset/catalog level (and the feature level)feature level)
1313
W3C OptionsW3C OptionsW3C OptionsW3C Options
• XML SchemaXML Schema– Structure/hierarchies, i.e. “Family”Structure/hierarchies, i.e. “Family”
• Resource Description Framework Resource Description Framework (RDF), (RDFS)(RDF), (RDFS)– ““Parents and children”Parents and children”
• Ontology Web Language (OWL)Ontology Web Language (OWL)– ““Cousins” and other more complex Cousins” and other more complex
relationshipsrelationships
1414
ResultsResultsResultsResults
• Better search resultsBetter search results– ““parcel” search returns “Cadastre”parcel” search returns “Cadastre”– ““Cadastral” search returns “Parcel”, Cadastral” search returns “Parcel”,
“Corner”, other datasets“Corner”, other datasets– Some basic structure / semantics Some basic structure / semantics
missing for Geomissing for Geo– Alexandria Digital Library Alexandria Digital Library – ISO CategoriesISO Categories– … … are both too general for Semantic Web are both too general for Semantic Web
needs (maybe even basic searches)needs (maybe even basic searches)
1515
A Few ToolsA Few ToolsA Few ToolsA Few Tools
• Protégé Protégé – Stanford, Open SourceStanford, Open Source– Developed for medical ontology work Developed for medical ontology work
(initially)(initially)– protégé.stanford.eduprotégé.stanford.edu
• LegendBursterLegendBurster– GeoReference Online, Commercial GeoReference Online, Commercial
toolstools– Developed for mineral exploration Developed for mineral exploration
market (initially)market (initially)– www.georeferenceonline.comwww.georeferenceonline.com
1616
Protégé ExampleProtégé ExampleProtégé ExampleProtégé Example
1717
LegendBurster ExampleLegendBurster ExampleLegendBurster ExampleLegendBurster Example
• TreeList EditorTreeList Editor– Standalone toolStandalone tool
• Query ToolsQuery Tools– Complex searchesComplex searches– Results stored as attributeResults stored as attribute– Complex mapping resultsComplex mapping results
1818
LegendBurster ExampleLegendBurster ExampleLegendBurster ExampleLegendBurster Example
1919
SummarySummarySummarySummary
• Euroroads schema mappingEuroroads schema mapping– Implementation tools availableImplementation tools available– Alternative approachAlternative approach
– Uml-xmi-gdb-xml (+ other)Uml-xmi-gdb-xml (+ other)
• Need to work on semantics and Need to work on semantics and relationships between datasets relationships between datasets – Important for searchingImportant for searching– Tools availableTools available– Small group should try to manage Small group should try to manage
relationshipsrelationships
2020
Q&AQ&AQ&AQ&A
• Do conceptual modeling languages satisfy Do conceptual modeling languages satisfy Geo needs?Geo needs?– UML missing spatial patternsUML missing spatial patterns– UML probably too complex for most peopleUML probably too complex for most people– No other current alternative for graphical No other current alternative for graphical
representationrepresentation– Need to add simple, graphical examples to aid Need to add simple, graphical examples to aid
communication and comprehensioncommunication and comprehension– Consider information products and demonstration Consider information products and demonstration
systems now, in parallel with CSL worksystems now, in parallel with CSL work• Harmonize?Harmonize?
– Content, not necessarily CSLContent, not necessarily CSL– Keep it simple at firstKeep it simple at first– Meta model for cataloging and searching between Meta model for cataloging and searching between
termsterms– Watch for mixing of concepts and formatsWatch for mixing of concepts and formats
2121
Q&AQ&AQ&AQ&A
• Is a common conceptual schema Is a common conceptual schema needed?needed?– Challenge is to be convinced that it Challenge is to be convinced that it
adds value, makes things easier for adds value, makes things easier for partners/designerspartners/designers
– Should target more broad audience Should target more broad audience than Euro communitythan Euro community
• UML extensions feasible?UML extensions feasible?– Conceptual models – yesConceptual models – yes– Transition to logical models should Transition to logical models should
be consideredbe considered
2222
Q&AQ&AQ&AQ&A
• Representing constraints?Representing constraints?– Difficult to get agreement on behavior other Difficult to get agreement on behavior other
than basic data integrity constraintsthan basic data integrity constraints– Suggest keep this as simple as possibleSuggest keep this as simple as possible
– Different technologies and architectures means Different technologies and architectures means major differences in logical modelsmajor differences in logical models
• Relationship to Ontologies?Relationship to Ontologies?– Catalog/search tool problem for a small Catalog/search tool problem for a small
group of peoplegroup of people– Start work on this now in parallel with other Start work on this now in parallel with other
activitiesactivities
Recommended