This schema has been deprecated, please use the newer version 2009/11/09 instead.
FMI Meteorological Objects (version 2009/09/30 - 1.0)
FMI Meteorological Objects represent different weather-related phenomena described as GML Features.
The primary use for these XML Schemas is describing the language for exchanging high-level abstaractions
of meteorological data (weather analysis results, forecast coordination maps,...) using the
OGC Web Feature Service (WFS).
The schemas have been separated into several XML Schema files, but all the elements and types are
declared in the same version-dependent namespace:
http://xml.fmi.fi/namespace/meteorology/conceptual-model/meteorological-objects/2009/09/07.
Users are free to use only a subset of these schemas by either
- importing only one of the schema files as metobjects namespace
in their own schemas, or
- by creating and hosting an aggregate schema file with the metobjects targetNamespace
including only the the wanted subset of metobjects schema files, and importing the created aggregate
schema files as the metobjects namespace.
An aggregate schema file metobjects-all.xsd
has been provided for those willing to import
all the elements and types in their own schemas as the metobjects namespace.
Documentation & Schema files
Documentation for the Metobjects Schema is generated with Oxygen XML. It also covers
part of the elements and the types in the GML 3.1.1 schema (dynamicFeature) and Dublin Core metadata elements (Simple DC) schema version 2008-12-12.
- metobjects-common: common elements used in more than one of the other schema files
- metobjects-common-geometry: common geometry types for Met Objects Application Schema, mostly simplified extensions for
GML geometry types.
- metobjects-base:(mostly abstract) base elements and types for metobjects
- metobjects-point: features fixed at a single point in space (symbols e.g.).
- metobjects-linear:features having a linear representation in space (fronts, jets, e.g.)
- metobjects-surface: features covering a "on-the-earth-surface" geospatial area (rain or cloud areas)
- metobjects-collection: collections consisting of other metobjects (complete weather analysis or forecast for a specific time e.g.)
- metobjects-all: aggregate containing all the metobject elements and types.
Download all the mentioned XML Schema files as a single zip-file.
For any questions, please contact Ilkka Rinne (ilkka dot rinne at fmi dot fi).
Changes since 2009/09/07
The version 2009/09/30 is basically just a downport of the 2009/09/07 with the GML version changed from 3.2.1 to 3.1.1 to be compatible with WFS 1.1.0.
As of writing this there is no GML 3.2.1 comptible version of WFS.
- The schema now (again) depends on GML 3.1.1
- Changed the property "coordinateSystemReference" of ElevationType to "coordinateReferenceSystem", also changed its type from gml:CooordinateSystemType to xs:anyURI
- GeophysicalParameterValueSetType may now contain zero or more of either single or range values.
- Added new complex type sRGBColorType. The new type is used in FontSymbolType's color property.
Changes since 2009/07/07
- DynamicMeteorologicalObjectType and DynamicMeteorologicalObject element have been removed completely. Dynamic changes of MetObjects
in time should be described using the gml:history property defined in gml:DynamicFeatureType.
Change events included in the gml:history should be given using metobj:PointObjectEvent, metobj:LineObjectEvent and metobj:SurfaceObjectEvent.
- Added new property metobj:historyInterpolationRule to metobj:AbstractMeteorologicalObjectType. The new object defines the intended
time interpolation method and maximum time resolution for presenting the changes (gml:history) of the object in time.
- All complex types are now defined as derivants of gml:AbstractType and declared as named types following the GML property/object model:
userType -> UserType, timeAggregationType -> TimeAggregationType, timeInterpolationType -> TimeInterpolationType, numericalWeatherModelType -> NumericalWeatherModelType.
All these objects are now referenced through a property elements, as they should always have been, that is: objects should only contain simple type or property type children.
- metobjects-common:
- ElevationType now has the choice of two reference types: coordinateSystemReference or modelReference.
- "flightLevel" was removed from the "type" enumeration if NumericalModelHeightReference. Also its numericalModel property is now mandatory.
- Added new types (and elements) GeophysicalParameterValueType and GeophysicalParameterValueRangeType and GeophysicalParameterValueSet to be used as content elements in the new Feature type PointGeophysicalParameterSetType.
- Dublin Core metadata elements in MeteorologicalObjectMetaDataType are now imported from Simple DC XML Schema, not from the Qualified DC XML Schema.
- metobjects-surface:
- Added "approximateRainFall" property to SurfacePrecipitationArea type.
- Changed the type of the actual data in GeophysicalParameterValueArea from xs:double to gml:MeasureType
- metobjects-point: Removed Feature types PointGeophysicalParameterValueType and PointGeophysicalParameterRangeType and replaced them with the new PointGeophysicalParameterValueSetType capable of containing multiple (observation/forecast) parameter values or ranges for the same position and time.
- metobjects-solid: the solid object placeholder AbstractSolidObjectType has been completely removed for now as well as the whole metobjects-solid.xsd file. No implementing concrete solid type objects existed
nor were any such metobjects objects planned for the near future.
Changes since 2009/04/28
The 2009/07/07 version is a major update due to a couple of big changes:
- The GML version was upgraded from 3.1.1 to 3.2.1
- Feature property extensions by restriction were removed because of validation issues in many XML Schema validators.
- A dual model of including both actual controlling spline curve and (optionally) a line string interpolation version of
line and surface objects was introduced. Before, the curve and the surface geometries could be expressed either by a spline curve or a line string, not both. The rationaly behind this redundant encoding is that view-only clients may directly use the interpolated version of the curve for visualization while more advanced clients may render the same feature using the actual (controlling) spline curve. All edits must be based only the control version of the geometry (the spline), and the line string interpolation may be left out if the client so wishes. The interpolated curve can always be automatically calculated for any object using the control curve.
- All Met Object types now extend gml:DynamicFeatureType instead of gml:AbstractFeatureType. This enables using them directly as instances in dynamic object time series in GML 3.2 compliant way. This change makes the inheritently dynamic nature of the Met Objects (as abstractions of the changing real-world phenomena) more obvious.
Change details
- Changed all element names of abstract types to begin with prefix "Abstract" instead of the GML 3.1 way "_" (underscore).
- All the property types previously directly indirectly extending gml:FeaturePropertyType (by restriction) now (implicitly) extend gml:AbstractObjectType.
- Surface objects:
- Added new Feature type TextForecastAreaType (extends metobj:AbstractSurfaceObjectType). The elements of this type are used for describing structural, text-based weather forecast information for the given area.
- Point objects:
- Removed pointMeteorologicalSymbolProperty, directionalMeteorologicalSymbolProperty, pointGeophysicalParameterValueProperty and pointGeophysicalParameterRangeProperty. Might as well use the generic metobj:pointObjectProperty instead as the the property types are no longer specialized.
- Line objects:
- Removed coldFrontProperty, warmFrontProperty, occludedFrontProperty, jetProperty, troughProperty and upperTroughProperty. Might as well use the generic metobj:lineObjectProperty instead as the the property types are no longer specialized.
- Common:
- Changed the name of NamedRegionType to GeographicRegion and made it extend gml:AbstractFeature instead of gml:AbstractGMLType. Also added a boundary geometry and an ID property.
- Added GeographicRegionReference and GeographicRegionArrayAssociationType
- Moved all the geometry-related stuff to its own schema file "metobjects-commmon-geometry.xsd".
- Added regionIdType for identifying GeographicRegions.
- gml:TimeIntervalLengthType is now used in metobj:timeInterpolationType for describing the maxResolution.
- Changed the name of knownNumericalModelType to NumericalWeatherModelType. Separated the model id as its own type "numericalWeatherModelId". Added several new model names to this new id enumeration and added possibility to use other id's with "other:" prefix.
- TimeAggregationType now uses gml:TimeIntervalLengthType for aggragationTime element.
- Added new ForecastTextSectionType to be used as the content sections in the new TextForecastAreaType.
- MeteorologicalObjectMetaDataType no longer extends (the deprecated) gml:AbstractMetaDataType.
- Added new types for interpolated curve and surface to be used in metobj:AbstractLineObjectType and metobj:AbstractSurfaceObjectType. These new types also describe the interpolation frequency used when creating these interpolations.
- Changed the name of the SimpleSplineSurfaceType to CubicSplineSurfaceType. Added new type CubicSplineRing to be used in this new surface type's exterior and interior properties instead of the metobject:LinearRingProperty.
- Added new line segment types for cubic spline and line string (SimpleCubicSplineType and SimpleLineStringSegment). The coordinate positions can only be given using gml:posList not the two other ways as in corresponding GML types.
- Collections:
- Removed the metobj:TimeReferencedMeteorologicalObjectType and the AbstractMeteorologicalObjectTimeSeriesType in favor of using the gml:DynamicFeature for describing the time evolvment of the Met Objects.
- MeteorologicalAnalysis element's substitutionGroup is now corrected as AbstractApprovedObjectCollection instead of AbstractMeteorologicalObjectCollection.
- Base:
- metobj:validTime property was removed from the metobj:AbstractMeteorologicalObject in favour of using the gml:validTime property inherited from the gml:DynamicFeatureType. this means that Met Objects now may have a much more complex valid times than before. Not sure this is good thing in the end, as it makes the valid time parsing a lot more difficult. But again there are certain benefits from adhering to the gml:DynamicFeature model.
- The DynamicMeteorologicalObject was moved to base from collection, since it really describes a single feature evolving in time. The content model of this type was changed also to reflect the new way if describing the time instances of an evolving Met Object: The keyTimeInstances array now directly contains any Met Object feature types, as they all decend from gml:DynamicObjectType.
- AbstractLineObjectType now contains controlCurve and (optionally) interpolatedCurve properties instead of either lineString or splineCurve.
- AbstractSurfaceObjectType now contains controlSurface and (optionally) interpolatedSurface properties instead of single "surface" property.
- Removed "xs" prefix for all the schema files, the default namespace is not XML Schema everywhere.
Changes since 2009/03/26
- The complex type "DirectedMeteorologicalSymbolType" was renamed as "DirectionalMeteorologicalSymbolType"
- Deprecated SimpleCubicSplineCurveType, should be replaced by CubicSplineCurveType which is a restriction of gml:CurveType (not extension gml:AbstractCurve). This change was made to make the cubic splines fit more nicely into the data models of the software able to
handle gml:Curve elements with zero or more line segments. CubicSplineCurveType may contain 0..n segments, but the type of these segments
is always CubicSplineType, not any derivative of gml:AbstractCurveSegment as in gml:CurveType.
- Deprecated SimpleCubicSplineCurvePropertyType is replaced by CubicSplineCurvePropertyType in AbstractLineObjectType. Also the property name was changed from "cubicSpline" to "cubicSplineCurve" to reflect this change.
Changes since 2009/03/13
- Members array of AbstractMeteorologicalObjectCollectionType is now a proper array association type. Also shared connection points is now a proper array association of ConnectionPoints.
- endPointConnectsTo and startPointConnectsTo properties of AbstractLinearObjectType are now of type ConnectionPointReferenceType.
- Time instance array of AbstractMeteorologicalObjectTimeSeriesType is now a proper array association type
- SplineSurfacePatch is replaced by SimpleSplineSurface. It only permits LinearRings for exterior and interior.
- ConnectionPoint is now restriction of gml:Point, gml:id is required and only the non-deprecated gml:pos is allowed for specifying coordinates.
- Added ConnectionPointReferenceType for forcing no-content references to ConnectionPoint objects.
- Added DirectedMeteorologicalSymbolType to support directed symbols like wind arrows.
- Added Schematron validation annotations to all property elements prohibiting xlink:href and content from co-existing.
- All property elements are now substitutable with from more generic property elements and their types derived by restriction.
- Added WeatherForecastReference and MeteorologicalAnalysisReference elements, corresponding types and properties to be used as DataSources.
- DataSource may now contain also a WeatherForecastReference or MeteorologicalAnalysisReference
- Added ConnectionPointProperty element, type and property
- ValidTimePerioid is now derived from gml:AbstractTimeObjectType (was gml:AbstractGMLType)
- AbstractMeteorologicalObjectCollectionType/members (collection) element is now named member again (the collected objects in one collection may be of different types)
- Added property types and elements for _PointObject, _LineObject, _SurfaceObject and _SolidObject
- Added property type and element for directedMeteorologicalSymbol
Changes since 2009/03/09
- metobjects-common: Added new SimpleCubicSplineCurveType, corresponding element, property type and property element.
- metobjects-base:Simplified the curve specification of AbstractLineObjectType: replaced the overly complicated curve element (of gml:curvePropertyType) with a choice between "lineString" and "cubicSpline" elements (of types gml:lineStringPropertyType and metobj:simpleCubicSplineCurvePropertyType correspondingly). Also added an optional attribute "orientation" to indicate the orientation of the line.
Changes since 2009/03/03
- Fixed regex pattern in cloudCoverEigthsType
- Removed metobj:metaData element from metobj:AbstractMeteorologicalObjectType, gml:metaDataProperty defined in gml:AbstractGMLType may include any XML and should be used instead for feature metadata
Changes since 2009/03
- Improved Geometry property findability in linear and surface objects. All metobject features now have a property with a value derived from gml:_Geometry.
- Removed PointLocation and pointLocationProperty elements and the corresponding complex types. These were not needed anymore because of the Geometry schema changes.
- Changed the name "createTime" property to "creationTime" in all Metobject features.
Changes since 2009/02
- Added "role" property to userType.
- Added "fog" value to the rainPhaseType enumeration.
- Added "UNKNOWN" value to the cloudTypeAnnex3Type.
- Changed the "name" property of the AbstractMeteorologicalObjectType into "localizedName" to avoid confusion with gml:name property of the gml:AbstractGMLType.
- Added new type FontSymbolType (extends AbstractMeteorologicalSymbolType) for describing font-specific symbols.
- Added new property "scaleFactor" to GraphicSymbolType.
- Added new property "analysisTime" to WeatherForecastType.
Changes since 2008/11
- Fixed typo: "*perioid" is now "*period" everywhere.
- AbstractLineObjectType had Curve element as direct child. This is against the GML object/property rule (objects may only contains properties as direct children, a property may have an object as its value). AbstractLineObjectType now has "curve" property containing the Curve object element.
- New SplineSurfacePatchType type and SplineSurfacePatch element (and corresdponding property type and element) with a fixed interpolation attribute value "polynomialSpline". The AbstractSurfaceObjectType's surface element is now of type SplineSurfacePatchPropertyType.
- Changes in the substitutionGroup attributes of features, mainly between metobj:_MeteorologicalObject and gml:_Feature. Hopefully they are now OK.
- Separation of the single schema file into 7 schema files.