ISO 19115 (19139) – UML Diagrams (Pragmatic Subset)
1) Core Overview
classDiagram direction LR class MD_Metadata { +fileIdentifier : CharacterString [0..1] +language : LanguageCode [0..1] +characterSet : MD_CharacterSetCode [0..1] +parentIdentifier : CharacterString [0..1] +hierarchyLevel : MD_ScopeCode [0..*] +dateStamp : Date|DateTime [1] +metadataStandardName : CharacterString [0..1] +metadataStandardVersion : CharacterString [0..1] } class MD_Identification class MD_Distribution class DQ_DataQuality class MD_ReferenceSystem MD_Metadata "1" --> "1..*" MD_Identification : identificationInfo MD_Metadata "1" --> "0..1" MD_Distribution : distributionInfo MD_Metadata "1" --> "0..*" DQ_DataQuality : dataQualityInfo MD_Metadata "1" --> "0..*" MD_ReferenceSystem : referenceSystemInfo
2) Identification Package
classDiagram direction LR class MD_DataIdentification { +abstract : CharacterString [1] +purpose : CharacterString [0..1] +status : MD_ProgressCode [0..*] +language : LanguageCode [0..*] +topicCategory : MD_TopicCategoryCode [0..*] } class CI_Citation { +title : CharacterString [1] +alternateTitle : CharacterString [0..*] +date : CI_Date [0..*] +edition : CharacterString [0..1] +identifier : MD_Identifier [0..*] } class CI_ResponsibleParty { +individualName : CharacterString [0..1] +organisationName : CharacterString [0..1] +positionName : CharacterString [0..1] +role : CI_RoleCode [1] } class MD_MaintenanceInformation class MD_BrowseGraphic class MD_Keywords class MD_Constraints class MD_LegalConstraints class MD_SecurityConstraints class MD_AggregateInformation class EX_Extent MD_DataIdentification "1" --> "1" CI_Citation : citation MD_DataIdentification "1" --> "0..*" CI_ResponsibleParty : pointOfContact MD_DataIdentification "1" --> "0..*" MD_MaintenanceInformation : resourceMaintenance MD_DataIdentification "1" --> "0..*" MD_BrowseGraphic : graphicOverview MD_DataIdentification "1" --> "0..*" MD_Keywords : descriptiveKeywords MD_DataIdentification "1" --> "0..*" MD_Constraints : resourceConstraints MD_DataIdentification "1" --> "0..*" MD_LegalConstraints : resourceConstraints MD_DataIdentification "1" --> "0..*" MD_SecurityConstraints : resourceConstraints MD_DataIdentification "1" --> "0..*" MD_AggregateInformation : aggregationInfo MD_DataIdentification "1" --> "0..*" EX_Extent : extent
3) Citation & Party Package
classDiagram direction LR class CI_Citation { +title : CharacterString [1] +alternateTitle : CharacterString [0..*] +date : CI_Date [0..*] +edition : CharacterString [0..1] +identifier : MD_Identifier [0..*] } class CI_Date { +date : Date|DateTime [1] +dateType : CI_DateTypeCode [1] } class MD_Identifier { +code : CharacterString [1] +codespace : CharacterString [0..1] } class CI_ResponsibleParty { +individualName : CharacterString [0..1] +organisationName : CharacterString [0..1] +positionName : CharacterString [0..1] +role : CI_RoleCode [1] } class CI_Contact class CI_OnlineResource CI_ResponsibleParty "1" --> "0..1" CI_Contact : contactInfo CI_Contact "1" --> "0..*" CI_OnlineResource : onlineResource
4) Distribution Package
classDiagram direction LR class MD_Distribution class MD_Format { +name : CharacterString [1] +version : CharacterString [0..1] } class MD_DigitalTransferOptions { +unitsOfDistribution : CharacterString [0..1] +transferSize : Real [0..1] } class CI_OnlineResource { +linkage : URL [1] +protocol : CharacterString [0..1] +name : CharacterString [0..1] +description : CharacterString [0..1] +function : CI_OnLineFunctionCode [0..1] } class MD_Distributor MD_Distribution "1" --> "0..*" MD_Format : distributionFormat MD_Distribution "1" --> "0..*" MD_DigitalTransferOptions : transferOptions MD_Distribution "1" --> "0..*" MD_Distributor : distributor MD_DigitalTransferOptions "1" --> "0..*" CI_OnlineResource : onLine
5) Extent Package
classDiagram direction LR class EX_Extent { +description : CharacterString [0..1] } class EX_GeographicBoundingBox { +westBoundLongitude : Decimal [1] +eastBoundLongitude : Decimal [1] +southBoundLatitude : Decimal [1] +northBoundLatitude : Decimal [1] } class EX_GeographicExtent class EX_TemporalExtent class EX_SpatialTemporalExtent class EX_VerticalExtent { +minimumValue : Real [0..1] +maximumValue : Real [0..1] +verticalCRS : RS_Identifier [0..1] } EX_Extent "1" --> "0..*" EX_GeographicExtent : geographicElement EX_Extent "1" --> "0..*" EX_TemporalExtent : temporalElement EX_Extent "1" --> "0..*" EX_SpatialTemporalExtent : temporalElement EX_Extent "1" --> "0..*" EX_VerticalExtent : verticalElement EX_GeographicExtent <|-- EX_GeographicBoundingBox
6) Data Quality Package
classDiagram direction LR class DQ_DataQuality class DQ_Scope { +level : MD_ScopeCode [0..1] } class DQ_Element class LI_Lineage { +statement : CharacterString [0..1] } class LI_ProcessStep class LI_Source DQ_DataQuality "1" --> "1" DQ_Scope : scope DQ_DataQuality "1" --> "0..*" DQ_Element : report DQ_DataQuality "1" --> "0..1" LI_Lineage : lineage LI_Lineage "1" --> "0..*" LI_ProcessStep : processStep LI_Lineage "1" --> "0..*" LI_Source : source
7) Reference System Package
classDiagram direction LR class MD_ReferenceSystem class RS_Identifier { +code : CharacterString [1] +codespace : CharacterString [0..1] +version : CharacterString [0..1] } MD_ReferenceSystem "1" --> "0..1" RS_Identifier : referenceSystemIdentifier
8) CodeLists (Enumerations)
classDiagram direction LR class CI_RoleCode { <<enumeration>> resourceProvider custodian owner user distributor originator pointOfContact processor publisher author } class MD_ScopeCode { <<enumeration>> dataset series service tile feature attribute collectionHardware collectionSession } class MD_SpatialRepresentationTypeCode { <<enumeration>> vector grid textTable tin stereoModel video } class MD_ProgressCode { <<enumeration>> completed historicalArchive obsolete onGoing planned required underDevelopment } class CI_OnLineFunctionCode { <<enumeration>> download information offlineAccess order search } class MD_TopicCategoryCode { <<enumeration>> farming biota boundaries climatologyMeteorologyAtmosphere environment geoscientificInformation health imageryBaseMapsEarthCover inlandWaters intelligenceMilitary location oceans planningCadastre society structure transportation utilitiesCommunication elevation }
Notes
- This is a focused subset covering core ISO 19115/19139 concepts used most often in practice.