320 likes | 889 Views
INSPIRE & GML. Swiss experiences. Content. Swiss Testcase: “INSPIRE Admininstrative Units” From Swiss “INTERLIS XML” to “INSPIRE GML” (XQuery Transformation) Deployment on WFS (which software is suitable?) Accessing data with GIS-Client (QGIS) Some statistics on INSPIRE GML Schemas
E N D
INSPIRE & GML Swiss experiences
Content • Swiss Testcase: “INSPIRE Admininstrative Units” • From Swiss “INTERLIS XML” to “INSPIRE GML” (XQuery Transformation) • Deployment on WFS (which software is suitable?) • Accessing data with GIS-Client (QGIS) • Some statistics on INSPIRE GML Schemas • Conclusions • complex and voluminous documentation • codelists are difficult to handle (XML mechanism do not work) • constraint handling difficult • Clients & Server only support subset of geometry types • gml:AssociationAttributeGroup (xlink) not supported by most tools • UML Profiles? Can UML profiles help in handling some of the problems • spatial types • xLink (restricting)
Example Swiss Admin Boubndaries
INSPIRE Administrative Units- Source Data - Swiss Dataset available for Administrative Units of Switzerland (‘swissboundaries3D’) • data for country, cantons, regions, … • Unique Identifier • Geometry (Polygons with 3D points and straight internodials) • Canton-Number (BFS) • Canton-Name • Part of the Canton (exclaves) • Area • Area of contained water-bodies • Inhabitants • INTERLIS datamodel available • Specific INTERLIS XML encoding of data
INSPIRE Administrative Units- Source Data - Rec. <swissBOUNDARIES3D_1_1_CH_LV03.TLM_GRENZEN.TLM_BEZIRKSGEBIET TID="55"> <UUID>FDA49AE0-D4C8-43EF-9275-0624413C5949</UUID> <Datum_Aenderung>20121203</Datum_Aenderung> <Datum_Erstellung>20121026</Datum_Erstellung> <Erstellung_Jahr>2012</Erstellung_Jahr> <Erstellung_Monat>10</Erstellung_Monat> <Revision_Jahr>2013</Revision_Jahr> <Revision_Monat>1</Revision_Monat> <Grund_Aenderung>verbessert</Grund_Aenderung> <Herkunft>swisstopo</Herkunft> <Herkunft_Jahr>2012</Herkunft_Jahr> <Herkunft_Monat>3</Herkunft_Monat> <Revision_Qualitaet>TLM_GN_Leer</Revision_Qualitaet> <Objektart>Kanton</Objektart> <Shape> <SURFACE> <BOUNDARY> <POLYLINE> <COORD><C1>755108.7</C1><C2>142498.89</C2><C3>2816.24</C3></COORD> … </POLYLINE> </BOUNDARY> </SURFACE> </Shape> <Bezirksnummer>1825</Bezirksnummer> <Bezirksflaeche>119658</Bezirksflaeche> <Bezirk_Teil>0</Bezirk_Teil> <Name>Uri</Name> <Kantonsnummer>18</Kantonsnummer> <ICC>CH</ICC> <Einwohnerzahl>9576</Einwohnerzahl> </swissBOUNDARIES3D_1_1_CH_LV03.TLM_GRENZEN.TLM_BEZIRKSGEBIET> ... Metadata Geometry Data
From Swiss INTERLIS XML Data to INSPIRE GML Transformation
INSPIRE Administrative Units- General Mapping - • Aggregating Input Features • The sourcemodelcontainssingle administrative «areas» • The targetmodelcombinesthoseareasintounits • Transfer of ‘dataload’ • Name • CantonNumber • Generate Geometries • Source geometry in specificencoding
INSPIRE Administrative Units- Mapping Problems 1 - • Geometry: • gml:MultiSurfacePropertyType • what ‘surfaceMembers’ to use? (choice: ‘Polygon’) • InspireId • localId = UUID • what namespace to use? (choice: http://www.swisstopo.admin.ch/identifier) • Codelists(difficult to use correctly) • National Level = ‘2nd Level’ (Information available in INSPIRE Registry - http://inspire.ec.europa.eu/codelist/AdministrativeHierarchyLevel) • Country Code = ‘CH’ (according to ISO-3166 see ‘Interinstitutional Style Guide’ http://publications.europa.eu/code/en/en-370100.htm) What Codelist-URI for ISO-3166? (choice: ‘http://www.inspire- somewhat.eu/pleaseReplace’)
INSPIRE Administrative Units- Mapping Problems 2 - • Several other required elements=> lots of xsi:nil=‘true’ andnilReason=‘unknown’ • Verycomplexstructurefor simple contente.g. Name (INSPIRE Geographical Name) • Name valuenested in:gn:spelling/gn:SpellingOfName/gn:text • Fixed valuesfor ‘language=de’ and ‘nameStatus=official’ • All other required elements: xsi:nil=‘true’ and nilReason=‘unknown’
Set-Upof a WFS Software Issues
Software Issues- Setting up a deegree WFS - • A testinstallationissetupwith • deegreeservices 3.3.7 • transformed INSPIRE data in XML datastore (in memory) Configurationcomplex, but not problematic
Software Issues- Accessing Service with QGIS - • QGIS 2.2.0 with WFS 2.0 extension No Access to codelists Structure is not reflected (flattened) Attributes not accessible (e.g. units, nill-resons)
Software Issues • Configuration of Systems is difficult • GML attributes are not accessible with standard GIS (QGIS) • e.g. nilReason, local, uom • QGIS cannot handle xLink references (neither attributes nor geometry elements) • QGIS cannot handle external codelists • Data is flattened with problems • hierarchy context is lost • empty elements are not displayed • multiple occurrence is badly displayed
Content • Swiss Testcase: “INSPIRE Admininstrative Boundaries” • From Swiss “INTERLIS XML” to “INSPIRE GML” (XQuery Transformation) • Deployment on WFS (which software is suitable?) • Accessing data with GIS-Client (QGIS representation problems) • Some statistics on INSPIRE GML Schemas • Conclusions • complex and voluminous documentation • codelists are difficult to handle (XML mechanism do not work) • constraint handling difficult • Clients & Server only support subset of geometry types • gml:AssociationAttributeGroup (xlink) not supported by most tools • UML Profiles? Can UML profiles help in handling some of the problems • spatial types • xLink (restricting)
Geometries, Measures, Howis GML used in INSPIRE Application Schemas
Objects & Features • Annex I • gml:AbstractObject • gml:AbstractFeature • gml:AbstractFeatureType • gml:AbstractMemberType • Annex II & III • gml:AbstractGML • gml:AbstractGMLType • gml:AbstractObject • gml:AbstractFeature • gml:AbstractFeatureType • gml:AbstractMemberType
Geometric • Annex I • gml:GeometryPropertyType • gml:GeometricPrimitivePropertyType • gml:PointPropertyType • gml:CurvePropertyType • gml:SurfacePropertyType • gml:MultiSurfacePropertyType • Annex II & III • gml:GeometryPropertyType • gml:GeometricPrimitivePropertyType • gml:PointPropertyType • gml:CurvePropertyType • gml:SurfacePropertyType • gml:MultiCurvePropertyType • gml:MultiSurfacePropertyType • gml:DirectPositionType • gml:PolygonPatch • gml:SolidPropertyType
Measures • Annex I • gml:MeasureType • gml:SpeedType • gml:LengthType • gml:AreaType • Annex II & III • gml:MeasureType • gml:AngleType • gml:AreaType • gml:LengthType • gml:VolumeType • gml:UnitOfMeasureType
Special • TIN & Coverages • gml:Tin • gmlcov:AbstractCoverage • gmlcov:AbstractCoverageType • gmlcov:AbstractDiscreteCoverageType • gmlcov:RectifiedGridCoverage • gmlcov:ReferenceableGridCoverage • Time: • gml:TimeInstantPropertyType • gml:TimePeriodPropertyType • gml:TimePositionType • gml:TimePrimitivePropertyType • gml:AbstractTimeObject
Special • gml:AbstractMetadataPropertyType • gml:AssociationAttributeGroup • gml:OwnershipAttributeGroup • gml:FeaturePropertyType • gml:CodeType • gml:NilReasonType • gml:ReferenceType
Content • Swiss Testcase: “INSPIRE Admininstrative Boundaries” • From Swiss “INTERLIS XML” to “INSPIRE GML” (XQuery Transformation) • Deployment on WFS (which software is suitable?) • Accessing data with GIS-Client (QGIS representation problems) • Some statistics on INSPIRE GML Schemas • Conclusions • complex and voluminous documentation • codelists are difficult to handle (XML mechanism do not work) • constraint handling difficult • Clients & Server only support subset of geometry types • gml:AssociationAttributeGroup (xlink) not supported by most tools • UML Profiles? Can UML profiles help in handling some of the problems • spatial types • xLink (restricting)
Documentation • Documentation is highly complex and voluminous • Required Information for data generation: • UML Model/Data Specification Document of theme and all related themes • INSPIRE Registry • GML Application Schemes • GML Specification • Documentation of referred Codelists => Hands-On, Samples, Best-Practises, .. would really help
External Codelists • External Codes are difficult to handle • Location for suggested Codelists are not visible in application schema or data specification • No GIS tool supports external vocabularies • XML validation is not respecting values => ???
Constraints • Several OCL(esp. on restricting generic data types) are not reflected in application schemas • e.g. OCL Constraint on Cadastral Parcel • resulting GML application schema • /* geometry shall be GM_Surface or GM_MultiSurface */ • inv: geometry.oclIsKindOf(GM_Surface) or geometry.oclIsKindOf(GM_MultiSurface) <element name="geometry" type="gml:GeometryPropertyType"> <annotation> <documentation>As much as possible, the geometry should be a single area.</documentation> </annotation> </element>
Constraints 2 • Constraints only defined in OCL are difficult to find and understand • Constraints cannot be validated for GML data => ??? => GML Profiles can partly reduce the available data types
Geometric Types GIS tools only support limited geometric types • Point, Curve, Polygon (with LineStrings, Arcs) • Multipoint, Multicurve, Multisurface (with Polygons) => GML Profile similar to Simple Features Profile
XLink (‘inLineOrByReference’) • In INSPIRE most feature-attributes can be encoded ‘inline’ or ‘by-reference’ • Common GIS (QGIS) mostly only support ‘inline’ encoding – xLink references can hardly be resolved => GML Profiles might restrict the usage of ‘by-reference’ attributes
Content • Swiss Testcase: “INSPIRE Admininstrative Boundaries” • From Swiss “INTERLIS XML” to “INSPIRE GML” (XQuery Transformation) • Deployment on WFS (which software is suitable?) • Accessing data with GIS-Client (QGIS representation problems) • Some statistics on INSPIRE GML Schemas • Conclusions • complex and voluminous documentation • codelists are difficult to handle (XML mechanism do not work) • constraint handling difficult • Clients & Server only support subset of geometry types • gml:AssociationAttributeGroup (xlink) not supported by most tools • UML Profiles? Can UML profiles help in handling some of the problems • spatial types • xLink (restricting)
Reduce the complexity GML Profiles for INSPIRE?
GML Profiles for INSPIRE? • Would GML profiles help(similar to GML Simple Features – but without ‘by-reference’ attributes)? • Must we define more than one profile? • For simple (e.g. administrative boundaries, protected sites, …) • Specific themes (e.g. buildings, geology)