Innholdskontroll

Innholdskontroll av GMLdata
Erling Onstein
erling@arkitektum.no / erling.onstein@hig.no
Nostalgi
• KVAKK årgang 1992
Innhold GML: Hva skal kontrolleres
• Informasjonsstruktur – XML
• XML-struktur
• Kodeliste-verdier
• Restriksjoner (fra UML/OCL til XML/Schematron)
• Geometri
• Eksempel: Er flater lukka?
• Kvalitetskrav
• Kontroll om krav i produktspesifikasjon er oppfylt
• Eksempel: Nøyaktighet, koordinatsystem
Hvor finnes kravene som skal kontrolleres?
• Informasjonsstrukturen
• UML Applikasjonsskjema transformert til XML Applikasjonsskjema
• Geometri-krav
• Implisitt i geometridefinisjoner
• Eksplisitt modellert i UML Applikasjonsskjema
• Krav supplert av brukere ?
• Kvalitetskrav
• I SOSI Produktspesifikasjoner
• NB! Ingen formell definisjon av «krav-format» ennå
Når bør kontrollene gjøres?
• SOSI-kontroll-metoden
• Gjør jobben helt ferdig, kontroller, og se om du må gjøre den om igjen
• Bedre tilnærming:
•
•
•
•
A. Kontrollere når data oppstår
B. Sluttkontroll for å dokumentere en leveranse
C. Mottakskontroll for å dokumentere hva som er mottatt
D. Tjenestekontroll
• Ved oppsett (en gang): Kontroller at tjenesten leverer iht spesifikasjoner
• Ved bruk (hver gang): Kontroller at tjenesten får tilstrekkelig data
• Derfor:
• Viktig med fokus på klar definisjon av kravene!!
• De skal brukes i mange sammenhenger»
• Ikke «hardkoding» av krav
Hva finnes allerede av valideringsverktøy?
• XML-struktur-validering
• Solid software-støtte (Oxygen, Altova XML Spy,……)
• Modellrestriksjoner som Schematron
• Bra softwarestøtte (samme som over)
• Geometri-kontroller
• Mesteparten utafor OCL/Schematron
• Kjenner ikke til «standard XML-verktøy»
• OGC GML 3.2 (ISO 19136:2007) Conformance Test Suite sjekker
«interngeometri»
• Geometrikrav direkte avledet av geometriene selv (eksempel: flatelukking)
Om OGC GML 3.2 Conformance Test Suite
• Kilde:
http://cite.opengeospatial.org/teamengine/about/gml32/3.2.1/site/
GML datasett i
OGC GML 3.2 Conformance Test Suite
• No specific conformance classes are defined for GML instance documents. However, clause A.3
(Abstract test suite for GML documents) includes a set of abstract test cases for validating GML
documents. Of these, A.3.1-A.3.4 are implemented by this test suite. Clause A.3.5 is a very broad,
catch-all constraint that is partly implemented: "Verify that the GML document complies with all
other constraints specified by this International Standard."
• Among the constraints implied by A.3.5 are those concerned with the validity of geometry
representations. The suite includes tests that validate the geometry elements listed below; these
tests also apply to any application-defined geometries that can substitute for the standard GML
elements.
• gml:Point
• gml:Curve having the following curve segments: gml:ArcByCenterPoint, gml:CircleByCenterPoint, gml:Arc,
gml;Circle, gml:GeodesicString, gml:Geodesic, gml: LineStringSegment
• gml:OrientableCurve
• gml:CompositeCurve
• gml:Polygon
• gml:Surface having the following surface patches: gml:PolygonPatch, gml:Rectangle, gmlTriangle
Kilde: http://cite.opengeospatial.org/teamengine/about/gml32/3.2.1/site/
Hva trengs?
• Spesifikasjoner av krav på «åpent format»
• Krav som kan implementeres av «alle» som
• Implementering av «krav-sjekkere» i produksjons-løyper
• Stand-alone, «gratis-program» for kontroll (SOSI Kontroll II/GML)
• Må lage en god statusrapport for et datasett for «overleveringsdokumentasjon»
• Må kunne generere metadata rett til Geonorge kartkatalogen.
En god start på Standalone-program ?
Utfordringer: Formalisering av produktkrav
• GML/Geometri-kontroller
• Dekkes (trolig?) ikke av standard OCL/Schematron
• Intern-geometri-kontroll dekket av OGC-validering
• Flater er lukka, lenker møtes i noder
• Bruker-geometri-kontroll ikke dekket
• Eksempel: Arealplanformålområde innafor planområdet, kommuner dekker hele fylket
• Produktkrav i SOSI Produktspesifikasjoner
• Mangler «offisielt format»
Ingen grunn til å vente mer….
• Tida er overmoden for å starte et større prosjekt for å få på plass
nødvendige rutiner
• Jeg er klar til å være med…..