| Created: | 02/05/2012 11:43:49 AM |
| Modified: | 01/05/2016 12:24:20 AM |
Project: |
|
Advanced: |
|
| Attribute | ||
|
Public MeteorologicalAerodromeReportStatus status |
||
Details:
|
||
|
Public Boolean automatedStation |
||
Details:
|
||
|
Public OM_Observation observation |
||
Details:
|
||
|
Public OM_Observation trendForecast |
||
Details:
|
| Tag | Value |
| byValuePropertyType | false |
Details:
Values: true | false
Default: false Description: Create a property type that requires that the instance is encoded inline (applies to ISO 19136:2007 encoding rule). |
|
| isCollection | false |
Details:
Values: true | false
Default: false Description: Identifies the feature type as a feature collection. |
|
| noPropertyType | false |
Details:
Values: true | false
Default: false Description: Surpress creation of a standard property type that supports inline or by-reference encoding (applies to ISO 19136:2007 encoding rule). |
|
| Constraint | Type | Status |
| if( status == MISSING ) observation.result includes nilReason AND automatedStation == NULL AND trendForecast == NULL | Invariant | Approved |
Details:
Pattern ID: METAR_SPECI.MAORep1<br/>Description: Missing reports only include identifying information (time, aerodrome) and no other information<br/>Assertion: (if(@status eq 'MISSING') then( exists(iwxxm:observation//om:result/@nilReason) and ((empty(@automatedStation) or (@automatedStation eq 'false')) and empty(iwxxm:trendForecast)) ) else(true()))<br/>
|
||
| if( observation.result.cloud == NULL AND observation.result.cloud.nilReason.endsWith( "notDetectedByAutoSystem" ) automatedStation == true | Invariant | Approved |
Details:
Pattern ID: METAR_SPECI.MAORep2<br/>Description: When no clouds are detected by the auto system, this report must be an auto report<br/>Assertion: (if( empty(iwxxm:observation//iwxxm:cloud/iwxxm:AerodromeObservedClouds) and ends-with(iwxxm:observation//iwxxm:cloud/@nilReason, 'notDetectedByAutoSystem') ) then(@automatedStation eq 'true') else(true()))<br/>
|
||
| self.observation.featureOfInterest.sampledFeature.oclIsKindOf(Aerodrome) | Invariant | Approved |
Details:
Pattern ID: METAR_SPECI.MAORep3<br/>Description: The sampled feature for a METAR/SPECI observation is an aerodrome<br/>Assertion: (((exists(//om:OM_Observation/om:featureOfInterest//sf:sampledFeature/aixm:AirportHeliport)) or (contains(string(//om:OM_Observation/om:featureOfInterest//sf:sampledFeature/@xlink:href), 'aerodrome')) ) and ( if(exists(//om:OM_Observation/om:featureOfInterest/@xlink:href)) then(concat( '#', //om:OM_Observation//sams:SF_SpatialSamplingFeature/@gml:id ) = //om:OM_Observation/om:featureOfInterest/@xlink:href) else(true())))<br/>
|
||
| self.observation.result.oclIsKindOf( MeteorologicalAerodromeObservationRecord) | Invariant | Approved |
Details:
Pattern ID: METAR_SPECI.MAORep4<br/>Description: The result of a METAR/SPECI observation should be a MeteorologicalAerodromeObservationRecord<br/>Assertion: (if(empty(om:result/@nilReason) and exists(iwxxm:observation)) then(not(exists(iwxxm:observation//om:result/*[name() != 'iwxxm:MeteorologicalAerodromeObservationRecord']))) else(true()))<br/>
|
||
| self.trendForecast.result.oclIsKindOf( MeteorologicalAerodromeTrendForecastRecord) | Invariant | Approved |
Details:
Pattern ID: METAR_SPECI.MAORep5<br/>Description: The result of a METAR/SPECI trendForecast should be a MeteorologicalAerodromeTrendForecastRecord<br/>Assertion: (if(exists(iwxxm:trendForecast)) then(not(exists(iwxxm:trendForecast//om:result/*[name() != 'iwxxm:MeteorologicalAerodromeTrendForecastRecord']))) else(true()))<br/>
|
||
| self.observation.featureOfInterest.sampledFeature == self.trendForecast.featureOfInterest.sampledFeature | Invariant | Approved |
Details:
Pattern ID: METAR_SPECI.MAORep6<br/>Description: The sampled feature should be equal in observation and trendForecast<br/>Assertion: (empty(distinct-values(for $trend-forecast in //iwxxm:trendForecast return((deep-equal(//iwxxm:observation/om:OM_Observation/om:featureOfInterest//sf:sampledFeature,$trend-forecast/om:OM_Observation/om:featureOfInterest//sf:sampledFeature))or(concat('#', //iwxxm:observation/om:OM_Observation/om:featureOfInterest/sams:SF_SpatialSamplingFeature/@gml:id)=$trend-forecast/om:OM_Observation/om:featureOfInterest/@xlink:href)))[.=false()]))<br/>
|
||
| Object | Type | Connection | Direction | Notes |
| «featureType» SPECI | Class | Generalization | From | |
| «featureType» METAR | Class | Generalization | From |