Testing INSPIRE Annex III Data Specifications Schematransformation SLU GeoTest 2012 Rapport upprättad 2012-10-05 Testad av GeoTest projektet Bilagor 1) Matchningstabell
Innehållsförteckning 1 Introduktion... 1 1.1 Om GeoTest-projektet... 1 1.2 Schematransformation mellan SLUs Skogskarta och Inspires tema för marktäcke... 1 2 Metod... 2 2.1 Schemamatchning... 2 2.1.1. Schemamatchning av temat Inspire LandCoverRaster(v2.9)... 2 2.1.2. Verktyg... 2 2.2 Transformation... 3 2.2.1. Transformation av SLU Skogskarta till temat LandCoverRaster(v2.9)... 3 3 Resultat och diskussion... 4 3.1 Kodlistor... 5 3.2 Validering... 5 4 Slutsatser... 6 Referenser... 7 5 Bilagor... 8
1 Introduktion 1.1 Om GeoTest-projektet Målet med GeoTest-projektet är att utveckla testtjänster inom geodataområdet. Här beskrivs de transformationstester som utförts på data från SLU (Sveriges Lantbruksuniversitet) och som utvärderar hur väl SLUs datamängd går att transformera till Inspires dataspecifikation för marktäcke (LandCover). GeoTest är en gemensam satsning i samverkan mellan Lantmäteriet, Högskolan i Gävle och Future Position X (FPX), och bidrar till en kvalitetssäkrad infrastruktur för geodata. 1.2 Schematransformation mellan SLUs Skogskarta och Inspires tema för marktäcke Inför schematransformationen uppstod tre huvudfrågor. Vad går bra att transformera? Vad kan inte transformeras (av Inspires obligatoriska respektive frivilliga element)? Varför går det inte att transformera? Kodlistor? Metoden för att besvara dessa frågor är att utföra en schemamatchning, schemamappning och schematransformation mellan SLUs Skogskarta (knn-sverige) och Inspires dataspecifikation för marktäcke. Efter transformationen valideras även dokumentet. Om denna validering är lyckad betyder det att få ändringar behöver tillämpas för att följa Inspires schema. Valideringen visar även vad som saknas. I resultatdelen presenteras och diskuteras detta sedan tas slutsatser som kan hjälpa SLU att gå vidare. 1
2 Metod 2.1 Schemamatchning En schemamatchning är det första steget i en schemaöversättning. Här matchas koncept i målschemat (i detta fall Inspireschemat) med koncept i källschema/källdata som har samma, eller liknande betydelse. Det primära syftet med schemamatchningen är att få vetskap om vilka koncept i källdata som kan transformeras till vilka koncept i målschemat. Under schemamatchningen identifieras också problem i form av källdata som saknas eller eventuella problematiska transformationer. 2.1.1. Schemamatchning av temat Inspire LandCoverRaster(v2.9) Dataspecifikationen för LandCoverRaster innehåller två objekttyper, LandCoverCoreRaster och LandCoverNomenclature. Innehållet i SLUs filer har testats och matchats emot dessa två typer. SLU-filerna innehåller kontinuerlig (inte klassindelad) information om Sveriges skogar, t.ex. bokvolym och ålder. SLU har inget schema som innehåller all data. Data är utspridd i flera olika filer. Programmet där matchningen sker kräver två XSD-filer(XML-scheman), Inspires och källdata. SLU har en XML-fil till varje datamängd, t.ex. bok, där viss metadata om tif-filerna finns. Viss data finns även i rasterbilderna (tif-filerna) och därför blir matchningen problematisk. Genom att använda XML-filen för Beech(SLU) kunde ett schema genereras och filerna kunde mappas i MapForce. Med hjälp av aningen mer avancerade mappningar kunde även de utspridda data mappas i MapForce, m. ha. konstanter. Mer om detta i avsnitt 2.2.1 och framåt. 2.1.2. Verktyg GeoTest har valt att använda samma verktyg vid dessa tester som vid tidigare gjorda Inspiretester eftersom verktygen är kända och licenser för dessa finns. Tabell 1: Verktyg Moment Verktyg Licenser Kostnader Matchningstabeller Schema-transformation Validering MS Excel Altova Mapforce 2 Professional edition: $400 Altova XML Spy 2
2.2 Transformation Målet är att transformera källdata till Inspire-kompatibla datamängder och identifiera problem som kan uppstå under processen. 2.2.1. Transformation av SLU Skogskarta till temat LandCoverRaster(v2.9) Schemat för Beech mappades till Inspires schema LandCoverRaster. Källdata mappades mot de två objekttyper som finns för rasterdata; LandCoverCoreRaster och LandCoverNomenclature. Endast ett fåtal attribut i dessa typer gick att mappa. Av de obligatoriska attributen gick följande att mappa; Beech: Attributen CreaDate + CreaTime slogs ihop och mappades till beginlifespanversion (LandCoverRaster) Attributet Process:name mappades till rangetype:swe:field:name (LandCoverRaster) Detta attribut skall även innehålla filens namn men gör det inte. Mappningen gjordes för att visa att dessa två går att mappa, även om värdet inte är fullständigt. Beech.xml är inte komplett, den innehåller metadata om rasterbilderna (tif-filerna) och processen den gick igenom i ArcGIS. I Bilaga 1 finns en tabell som ger en detaljerad beskrivning av mappningen. Den största anledningen till att så lite gick att mappa är att filerna saknar en hel del attribut. De innehåller information från när de skapades i ArcGIS, till exempel ArcGISversion, hur många gånger filen används och länkar till tif-filerna. Schemat för Beech är det som finns och dessa filer skapas av ArcGIS vid redigering av tif-filerna. Det finns inget officiellt schema där skogsdata finns samlat Tif-filerna innehåller saker som skulle kunna matchas, till exempel kan metadata om rasterbilderna nås via ArcCatalog. Där finns bland annat information som matchar till attributet extent. Med hjälp av lite mer frigjorda mappningar går de flesta attribut att uppfylla. Det visar även att det är enkelt att lägga in attribut för SLU så de uppfyller Inspireschemat. De enda attribut som inte var möjliga att mappa var rangeset, rangetype, nomenclaturedocumentation och extent. I 3
bilaga 1 finns kommentarer som visar var data ligger. Som exempel ligger extent i tif-filen, men inte som XML. 3 Resultat och diskussion Syftet med testerna har varit att utvärdera möjligheten att matcha/mappa data från SLUs skogskarta till Inspires dataspecifikation för LandCoverRaster. Tabell 2 visar att 20 % av de obligatoriska attributen kunde matchas. Med hjälp konstanter kan attribut läggas in vid sidan om t.ex. Beech och sedan mappas mot Inspireschemat. Detta resulterar i att fler attribut uppfylls även om de är temporära i MapForce. 70 % av de obligatoriska attributen gick att matcha efter detta. Detta kan hjälpa SLU med att förstå vad och vilka attribut som behövs för att kunna uppfylla Inspires krav. Detta visas i bilaga 1. Tabell 2: Antal attribut i Inspire-schemat som kunde fyllas med data Med hjälp av konstanter ökar antalet uppfyllda attribut markant, endast tre obligatoriska attribut var inte möjliga att mappa; rangeset, nomenclaturedocumentation och extent. Detta eftersom den informationen inte finns i någon XML-fil. Tabell 3 visar att totalt 11 attribut gick att mappa till Inspires 20 attribut. Av 10 obligatoriska gick 7 stycken att mappa. Upphävbara attribut gick 4 av 8 attribut att få ihop och frivilliga gick 0 av 2 att mappa. 4
Tabell 3: Antal attribut ifrån Beech som kunde matchas. Tabellen i bilaga 1 ger en beskrivning av vad som saknas för att kunna följa Inspires schemastruktur. 3.1 Kodlistor Det man kan använda som kodlista eller nomenklaturen kan vara t.ex. CORINE, en nationell nomenklatur, en europeiskt eller sina egna kodlistor. SLU bör de använda koderna (namnkonvention) som finns i metadata_variabler. Ett exempel för björkskogsvolym i Gotlands län från 2006 i m3sk/ha är BirchVol_9_G_06. G står för segmentmedelvärde. Ett krav från Inspire DS är att det finns en kodlista och en länk till ett beskrivande dokument. En rekommendation i DS är att även ha en definition av koderna och RGB-värden. Det förstnämnda finns i dokumentationen. Det går givetvis att bygga på SLUs nuvarande koder (namnkonvention) och lägga till mer information. Det går även att generalisera koderna så att åtkomst för användare går lättare. Till exempel går det kanske att lägga ihop vissa data för att undvika sammanfogningar mellan olika lager från användarsidan. 3.2 Validering Filen som är resultatet av schematransformationen är godkänd i MapForce. Vid validering i XMLSpy blir filen underkänd. Strukturen godkänns inte. Detta är en konsekvens av att attribut saknas. Varken struktur eller innehåll följer Inspires schema. Den största anledningen till detta resultat är att filerna från SLUs Skogskarta saknar en hel del attribut. De innehåller information från när de skapades i ArcGIS, bl a information om ArcGISversion, hur många gånger filen används och länkar till rasterbilderna (tif-filerna). I tif-filerna finns viss information men den är 5
inte tillgängligt för mappning eftersom den bara finns i tif-filen. Denna information bör finnas i en XML-fil som följer ett schema. 4 Slutsatser Transformationstesterna som GeoTest har utfört visar hur väl SLUs Skogskarta stämmer överens med Inspires krav på temat marktäcke och finns beskrivet i detalj i Bilaga 1. Rapporten visar hur SLU ligger till just nu och resultatet kan ses som en grund till beslut och vidareutveckling av matchningen till Inspires schema för marktäcke. Huvudproblemet är att Skogskartans rasterdata inte passar i LandCoverCoreRaster. Enligt specifikationen finns det krav på t.ex. endast heltal i CoreRaster och att CoreRaster inte stödjer kontinuerliga värden. Ännu ett problem är att all data för SLU Skogskarta som skall och kan mappas till Inspire är utspridda i många olika filer. Några attributs motsvarighet ligger i filerna som ArcGIS skapat, andra ligger i metadata om rasterbilderna (tif-filerna), vilka man kan nå via ArcCatalog. Det finns dock inget schema (XML eller databas) som innehåller all denna information och som man kan matcha mot Inspires schema. Rapporten visar vilka attribut som behövs för att kunna matcha mot Inspires schema. SLU bör ta metadata från de olika filerna och skapa ett eget schema. För att underlätta mappningen till Inspire bör all information vara på samma ställe, exempelvis en databas. I nuläget finns ingen riktig schemastruktur från SLUs sida men resultaten från testerna visar vad som behövs i ett sådant SLU-schema, för att sedan kunna utföra mappning till Inspires schema. Ett nytt schema bör skapas och då är ett förslag att schemat skapas enligt Inspires schema från början. I detta schema kan de även lägga in sin egna ytterligare information. För varje tif-fil bör de attribut som har en motsvarighet i Inspire lagras i ett eget SLU-schema. Ett exempel är att informationen som behövs för LandCover:extent inte finns i något XML-schema eller databas från SLU, men det finns tillgängligt via ArcCatalog. Tabellen i bilaga 1 visar all information som behövs för att kunna gå vidare med detta. Testerna har visat att även om vissa attribut som t ex inspireid och localid inte direkt går att mappa från SLU Skogskarta så bör dessa attribut gå att implementera utan stora problem. Under testerna gjordes några mer problematiska mappningar för att visa hur och vilka attribut som skall finnas för att kunna uppfylla Inspires krav. Konstanter lades in som temporära värden som mappades till motsvarande Inspire-attribut. Dessa konstanter är strängar med information som behövs för att SLU Skogskarta ska uppfylla Inspires krav. Bilaga 1 visar de attribut som gick respektive inte gick att mappa. 6
Referenser Inspire DS v2.9 / Data Specification on Land Cover Raster, 2012-08-24 knndata Sweden_XX_P_10_final (www.slu.se) 2012-08-24 7
5 Bilagor Denna tabell visar Inspires schema och knn-sveriges schema (SLU Skogskarta). För knn används Beech som exempel. Genom mer frigjorda mappningar gick några fler attribut att mappa. Mer information, såsom datatyp för LandCoverRaster(v.29) finns i Inspire DS v2.9 eller 3.0. Följande färgkodning av celler i tabellen har använts: Obligatoriska Upphävbara(voidable) attribut Frivilliga attribut Lyckade matchningar Lyckade matchningar m.h.a konstanter Application Schema LandCoverRaster(v2.9) Application Schema knn-sverige(beech exempel) Typ Attribut Dokumentation Typ Attribut Dokumentation LandCover Raster metadata rangeset metadata för coverage Innehåller värden för coverage Beech_XX_P_10.tif.xml Finns filen Referens till GeoTifffilen domainset Beskriver spatiotemporal region Beech_XX_P_10.tif Beech_XX_P_10.twf Finns filen Information kan fås via.tif och.twf coverage Function Beskriver mapfunktion från domän till range rangetype Beskriver struktur av range values Innehåller ca 19 attribut men endast field name är obligatoriskt. Process:name (länkar nu till processens namn) t.ex. <gmlcov:rangetype> <swe0:datarecord> <swe0:field name="beech"/> </swe0:datarecord> </gmlcov:rangetype> extent innehåller utsträckning av domän I coverage Beech_XX_P_10.tfw Beech_XX_P_10.tif t.ex. en boundingbox runt området Finns i ArcCatalog, egenskaper av tif-filen westboundlongitude= eastboundlongitude= southboundlongitude= northboundlongitude= inspireid Externt unikt Id för det spatiala objektet myndighet ansvarar för unikhet inspireid Får skapas. Info finns i Inspire_DS.v3.0 localid Unikt Id I namespace, ansvar t.ex. ett guid localid 8
namespace versionid beginlifespan VersionId endlifespan VersionId validto validfrom ligger hos data provider Identifierar källan för det spatiala objektet Id för version av objektet datetime för skapade/ändrade objekt i dataset datetime för borttagna/gamla objekt Tid när objektet upphör existera Tid när objektet började existera t.ex. SE.SLU. KNNSverige 1 1 Beech_XX_P_10.tif.xml SE.SLU.kNN Sverige CreaDate + CreaTime CreaDate Konverterades i MapForce utan problem CreaDate name Namn på coverage nn_cc_z_yy Beech_XX_P10 t.ex. Beech_XX_P_10 nomenclature Documentation Info om nomenclature som används I coverage Se LandCoverNomenclature Application Schema LandCoverRaster(v2.9) Application Schema knn-sverige(beech exempel) Typ Attribut Dokumentation Typ Attribut Dokumentation LandCover Nomenclat ure inspireid localid Unikt Id I namespace, ansvar ligger hos data provider t.ex. ett guid inspireid localid namespace Identifierar källan för det spatiala objektet t.ex. SE.SLU.kNNSverige. Codelist SE.SLU.kNNSv erige. Codelist versionid Id för version av objektet 1 1 source Beskriver källa av nomenclature (EEA, nation..) t.ex. gmd:title: metadata variable CL_ResponsibleParty: SLU etc. Cl_Respon sibleparty SLU Information om kodlistan och ansvarig myndighet etc. onlinedescrip tion Onlinelänk med beskrivning om klassificeringssyste ftp://salix.slu.se /download/skogskarta /2010/_metadta_varia ftp://salix.slu.s e /download/sk 9
nomenclature Code list embeddedde scrip tion m bler.pdf (länk1) ogskarta /2010/_metad ta_varia bler.pdf http URI som pekar till kodlistan till nomenclature Inbäddad kodning av klassificeringssyste m enligt ISO 19144-2 ftp://salix.slu.se/ download/skogskarta /2010/_metadata_ variabler.pdf#volume beech (länk2) ftp://salix.slu.s e/download/s kogskarta /2010/_metad ata_ variabler.pdf# Volume beech ftp://salix.slu.se/download/skogskarta/2010/_metadata_variabler.pdf (länk1) ftp://salix.slu.se/download/skogskarta/2010/_metadata_variabler.pdf#volume beech (länk2) 10