FältGIS. Utfört av Patrik Fundberg. Mälardalens Högskola, IDt. Handledare John Kessler, LandFocus IS AB Christer Norström, Mälardalens Högskola

Storlek: px
Starta visningen från sidan:

Download "FältGIS. Utfört av Patrik Fundberg. Mälardalens Högskola, IDt. Handledare John Kessler, LandFocus IS AB Christer Norström, Mälardalens Högskola"

Transkript

1 Examensarbete för magisterexamen i datateknik FältGIS Utfört av Patrik Fundberg Mälardalens Högskola, IDt Handledare John Kessler, LandFocus IS AB Christer Norström, Mälardalens Högskola

2 Sammanfattning LandFocus håller på att utveckla GIVAS, ett GIS-projekt för bl.a. presentation, redigering och lagring av geografiska data. I framtiden vill man kunna göra viss ajourhållning i en handdator med programmet ArcPad 6. I detta examensarbete har en utredning gjorts för att se om det är tekniskt möjligt att redan idag använda ArcPad 6 för ajourhållningen. För att det ska anses som tekniskt möjligt att använda ArcPad 6 måste det finnas möjlighet att checka ut data från en central server och överföra data till en fältenhet, skapa geoobjekt i fältenheten, för att till sist överföra de nya geoobjekten tillbaka till servern och där checka in dem. LandFocus har haft som önskemål att de nya geoobjekten skall föras över från fältenheten i ett kommunikationsprotokoll som är skrivet i XML. Ett flertal XML-vokabulär och standarder har gåtts igenom för att se om det finns något bra format för kommunikationsprotokollet. Alla krav som ställts på system är uppfyllda förutom den kanske viktigaste, att kunna skapa nya geoobjekt i fältenheten. ArcPad 6 är i dagens läge inte helt färdigutvecklat och därför måste det anses att det inte är tekniskt möjligt att sköta ajourhållningen med programmet. Abstract LandFocus is in the process to develop GIVAS, a GIS-project to present, edit and store geographical data. In the future one will be capable to do some of the work in a pocket computer with the program ArcPad 6. In this master thesis an investigation has been done to see if it is possible, in the technical point of view, to use ArcPad 6 in this work today. To be considering as possible one must be capable to check out data from a central server and to transfer it to the pocket computer, create new features in the pocket computer and at last, transfer the new features to the central server where they will be checked in. LandFocus had a request that the new features will be transferred from the pocket computer in a communication protocol that is written in XML. Many XML vocabularies and standards have been looked at to see if there is a good format for the protocol. All the demands are fulfilled apart from the one to create new features with ArcPad 6. ArcPad 6 is still in the developing process and therefore it must be considered to be not technical possible to the work with the program. 2

3 Innehållsförteckning 1 INTRODUKTION Bakgrund Syfte Begrepps- och ordförklaringar Läsanvisningar 6 2 PROBLEMBESKRIVNING Problemet Kravställning Avgränsningar 8 3 RELATERADE ARBETEN GIS XML Grunderna i XML XML vokabulär Tekniska försörjningssystem 27 4 PROBLEMANALYS Problemhierarki Analys Lösningsförslag 32 5 LÖSNING Införsel av data till fältenheten Skapa nya geoobjekt i fältenheten Utförsel av data från fältenheten 34 6 RESULTAT 44 7 SLUTSATSER Analys av resultat Rekommendationer Framtida arbete 46 8 SUMMERING 47 9 LITTERATURFÖRTECKNING 48 BILAGOR 49 Bilaga 1: Del av datamodellen för GIVAS 49 Bilaga 2: Förenklad begreppsmodell SS Bilaga 3: XML schema för kommunikationsprotokoll 50 Bilaga 4: Dokumentinstans av kommunikationsprotokollet 52 3

4 1 INTRODUKTION 1.1 Bakgrund LandFocus har ett uppdrag av Stockholms Vatten att utveckla GIVAS (Geografisk Information för Vatten och Avlopp i Stockholm) som ska användas för att presentera och analysera geografisk information. GIVAS är ett kraftfullt stöd för Stockholm Vatten vid hantering av ledningsnäten och för kundinformation i samband med driftstörningar av olika slag. I GIVAS kombineras information från olika källor i databaserna som sedan kan presenteras i kartbilder. Det finns tillämpningar i systemet för ajourhållning och nyproduktion av kartor, spårning av läckor och föroreningar liksom för driftstörningar, reparationer och underhåll. Miljödata integreras med information om vattenkvalitet i ledningsnätet och med data om sjöar och vattendrag. Man kan exempelvis i bild visa resultaten av provtagningar med flera miljoner provresultat. Informationen direkt till enskilda kunder i samband med t ex vattenläckor och andra driftstörningar underlättas och förbättras avsevärt genom GIVAS. I framtiden skulle man även vilja att viss ajourhållning kunde skötas mobilt med hjälp av en handdator. I denna handdator är det tänkt att man skall använda programmet ArcPad 6 som är integrerad med ArcGIS konceptet. 1.2 Syfte Syftet med detta arbete är att utreda om det är tekniskt möjligt att med ArcPad 6 sköta ajourhållningen från en mobil enhet. 1.3 Begrepps- och ordförklaringar I detta avsnitt förklaras de förkortningar och begrepp som används i rapporten Ordförklaringar COM Component Object Model DTD DokumentTyp Deklaration ESRI Environmental Systems Research Institute GIS Geographic Information System GPS Global Positioning System ISO International Organization for Standardization OGC OpenGIS Consortium SIS Standardiseringen i Sverige UML Unified Modeling Language W3C World Wide Web Consortium XML extensible Markup Language 4

5 1.3.2 Begrepp Ajourhållning ArcCatalog ArcIMS ArcObjects ArcMap ArcPad Feature Geodatabasen Geoobjekt Skapa nya geoobjekt eller ta bort eller ändra redan befintliga geoobjekt. GIS-programvara från ESRI Inc. Används för att läsa, skapa, behandla och organisera geografiska datatabeller. Ingår som en del av ESRIs ArcInfo 8. GIS-programvara från ESRI Inc som bl.a. kan generera webbsidor med kartor utifrån en geografisk databas. Samling av mjukvarukomponenter med GISfunktionalitet och programmerbara interface från ESRI Inc. GIS-programvara från ESRI Inc. Används för att presentera och redigera geografisk information. Ingår som en del av ESRIs ArcInfo 8. GIS-programvara från ESRI Inc. Används för att presentera och redigera geografisk information på både mobila handdatorer och vanliga PC. Engelska för objekt som har eller kan ha geografiska egenskaper. Databas som används i ArcInfo 8 för att spara ner den geografiska informationen som finns i datamodellen för GIVAS. Genom att använda ESRI Inc programvara ArcSDE kan den geografiska informationen sparas ner i samma relationsdatabas som verksamhets-databasen. Svenska översättningen av feature, dvs. ett objekt som har eller kan ha geografiska egenskaper. Kartlager Shape-fil Verksamhetsdatabasen Geodatabasen är indelad i tabeller som innehåller geoobjekt med gemensamma egenskaper. Dessa tabeller utgör även kartlager som användaren kan tända (visa), släcka och symbolisera. En shape-fil är ett filbaserat format för att spara vektordata som plats, geometri och attribut för geoobjekt som saknar topologi. Detta filformat används av bl.a. ArcPad. Databas innehållande den information som saknar geografiska egenskaper men ändå finns med i datamodellen för GIVAS. 5

6 1.4 Läsanvisningar Kapitel 2, Problembeskrivning: I detta kapitel beskrivs problemet och målet för arbetet ges. Kapitel 3, Relaterade arbeten: I detta kapitel ges en presentation av den teori som arbetet bygger på. Kapitlet ger läsaren den basteori som behövs för att förstå lösningen. Kapitel 4, Problemanalys: I detta kapitel analyseras problemet och några lösningsförslag presenteras. Kapitel 5, Lösning: I detta kapitel ges en fullständig redogörelse för designen av de valda lösningsförslagen. Kapitel 6, Resultat: I detta kapitel presenteras resultatet. Kapitel 7, Slutsatser: I detta kapitel redovisas de slutsatser man kan dra av arbetet. Kapitel 8, Summering: I detta kapitel ges en kortfattad summering av arbetet. Kapital 9, Litteraturförteckning: I detta kapitel presenteras de referenser som använts. 6

7 2 PROBLEMBESKRIVNING I detta kapitel beskrivs problemet och målet för arbetet ges. 2.1 Problemet Det problem som LandFocus vill ha utrett är om det med morgondagens teknik går att uppdatera information om ett geoobjekt i fält och sedan skicka informationen till en central server som innehåller hela objektsmodellen. Med morgondagens teknik menas programmet ArcPad 6 som företaget ESRI Inc håller på att utveckla. ArcPad 6 är tänkt att användas för att bl.a. presentera, redigera och lagra geografisk information. ArcPad 6 består egentligen av två olika program, en för handdatorer och en för vanliga PC, men oavsett vilket av programmen som används så är funktionaliteten densamma. ArcPad 6 arbetar mot s.k. shape-filer. I en shape-fil lagras information om geoobjekt vilka har samma egenskaper och shape-filen presenteras i ArcPad 6 som ett eget kartlager. En shape-fil kan innehålla information om t.ex. avloppsledningar och en annan kan innehålla t.ex. översiktsinformation om gator och grönområden. Genom att kombinera olika kartlager i ArcPad 6 får man fram en karta. För att kunna uppdatera informationen i fält med ArcPad 6 måste man kunna hämta geoobjekt från en central server och överföra dessa till den mobila enheten där de lagras i sina respektive shape-filer. Dessutom måste man kunna skapa nya geoobjekt i fält och förutom geoobjektets geografi måste det finnas möjligheter att fylla i annan information om geoobjektet som t.ex. material, dimensioner mm. Till sist måste de nya och ändrade geoobjekten föras över till den centrala servern där de lagras Överföringen av de nyskapade geoobjekten från fältenheten är tänkt att ske med ett kommunikationsprotokoll som är skrivet i XML. Kommunikationsprotokoll skall vara så pass begränsat att det går att uppdatera ett ledningsnät mobilt, men ändå bibehålla nödvändig information. LandFocus har haft som önskemål att utredningen även skall titta närmare på om det finns några standarder för överföring av geografiska data som är skrivna i XML och om det är möjligt och lämpligt att kommunikationsprotokollet stödjer den svenska standarden för tekniska försörjningssystem, SS [SIS00]. 2.2 Kravställning Målet med detta arbete är att bestämma om det är tekniskt möjligt att med ArcPad 6 sköta ajourhållningen från en mobil enhet. För att kunna bedöma om det är tekniskt möjligt så måste vissa krav uppfyllas. Kraven är att det måste gå att: Checka ut data från geodatabasen. Överföra data från stationärenheten till fältenheten. Skapa nya geoobjekt i fältenheten. Överföra de nya geoobjekten från fältenheten till stationärenheten. Checka in data till geodatabasen. 7

8 2.3 Avgränsningar Endast en forskningsprototyp kommer att implementeras, detta för att visa att de föreslagna lösningarna fungerar och för att ge en bas för analys och tester. Forskningsprototypen kommer bara att kunna skapa nya geoobjekt i fält (inte göra ändringar av redan befintliga) och den kommer endast att klara av tre av geoobjekten i GIVAS och dessa är: Avloppsledningar ledningar för avlopp som representeras av linje på kartan. Vertikalledningar avloppsledningar som går vertikalt och representeras av en punkt på kartan. Avloppsserviser som avloppsledningar men med den begränsningen att den går till en kund. I bilaga 1 finns den del av datamodellen för GIVAS vilken motsvarar de tre geoobjekten. Valideringen av kommunikationsprotokollet gentemot en DTD eller XML schema ligger utanför detta examensarbete. Däremot skall det finnas en DTD eller XML schema som beskriver kommunikationsprotokollet. 8

9 3 RELATERADE ARBETEN I detta kapitel presenteras den teori som arbetet bygger på. 3.1 GIS Meningen med GIS är att tillhandahålla en spatial struktur för att stödja beslut för en intelligent användning av jordens resurser och för att hantera den mänskliga miljön [Zei99]. Oftast presenterar GIS information såsom kartor och symboler. Kartan ger oss kunskap om var olika saker finns, vad de är och hur man kan ta sig dit. GIS kan även sprida information genom en interaktiv session med en karta i en dator. Denna session avslöjar information som inte finns på en vanlig karta. Exempelvis kan man ställa frågor om kända attribut till ett geoobjekt, skapa en lista med alla geoobjekt som förbinder en punkt i ett nätverk med en annan punkt. Dessutom utföra simuleringar för att mäta olika egenskaper såsom vattenflöde, restid och utvidgning av föroreningar mm. [Zei99]. Ett geoobjekt kan modelleras på olika sätt beroende på hur användaren vill ha det. Floder kan t.ex. representeras av linjer som skapar ett nätverk där floderna har olika attribut såsom flödesriktning, volym mm. En linjär nätverksmodell kan sedan användas för att analysera vattenflöden eller fartygstrafik. Floder kan även representeras som en area med noggrann representation av stränder, öar mm. [Zei99]. 3.2 XML XML är ett språk som används för att strukturera formatet för ett dokument och påminner en hel del om HTML (Hyper Text Markup Language), vilken är en av de standarder som används på Internet. De största skillnaderna mellan HTML och XML är att det finns ett begränsat antal taggar för HTML i förhållande till XML och att HTML beskriver hur ett dokument skall se ut medan XML beskriver vad ett dokument betyder, se exempel 3.1. Exempel 3.1: Skillnader mellan XML och HTML. HTML-kod <p> FältGIS <br> Patrik Fundberg <br> XML-kod <examensarbete kurskod= CT2810> <titel> FältGIS </titel> <författare> Patrik Fundberg </författare> <datum> </datum> </examensarbete> Både HTML och XML härstammar från ett språk som heter SGML (Standard Generalized Markup Language) och XML är egentligen en förenklad delmängd av SGML. SGML kom till genom ett arbete som började i slutet på 60-talet när några forskare på IBM fick i uppdrag att skapa ett system så att företagets alla dokument fick en standardiserad format. Detta för att olika delar av företaget skulle kunna 9

10 kommunicera med varandra, vilket de vid den tidpunkten inte alltid kunde. De skapade GML (Generalized Markup Language) som sedan fortsatte att utvecklas och 1986 blev det en internationell standard (ISO 8879) som fick namnet SGML. Det finns både fördelar och nackdelar med XML. Några fördelar med XML dokument är att de är: enkla att skriva både för en dator och för en människa. otvetydiga. utbyggbara. plattformsoberoende. lätta för en dator att läsa. Några nackdelar med XML dokument är att: filerna blir nästan alltid större än dess binära motsvarighet. det finns i dagens läge inte så många applikationer som hanterar XML dokument. 3.3 Grunderna i XML Ett XML dokument är indelat i två delar: prologen och en dokument instans. Prologen beskriver dokumentets karakteristik och är i sig uppdelad i en XML deklaration och i dokumentets typ deklaration (DTD) eller en referens till ett eller flera XML scheman. En DTD och ett XML schema är två olika sätt att beskriva vilka taggar som kan finnas i dokumentet, vad taggarna har för attribut, i vilken ordning taggarna kan komma i och vilka typer innehållet i taggarna och attributen har. I dokument instansen beskrivs själva dokumentet. Det är viktigt att känna till att XML är skiftlägeskänsligt (eng. case sensitive) dvs. det spelar roll om ett ord skrivs med versaler och gemener. I detta kapitel kommer bara de absolut nödvändigaste begreppen att gås igenom. För vidare studier hänvisas till [Cos01], [GP98], [Sol99] och [LMÖ99] Välformade och giltiga dokument När man pratar om korrekta XML dokument brukar man titta på två saker och det är om de är välformade och giltiga. Ett dokument är välformat om det följer grammatiken för XML. För att ett dokument skall vara giltigt måste det finnas en DTD eller ett XML schema som dokumentet följer och följer den inte någon av dessa så är dokumentet ogiltigt. Ett dokument som saknar DTD eller XML schema är inte giltigt men inte heller ogiltigt XML deklarationen XML deklarationen är valfri men om den finns ska den alltid komma före DTD:n. Den beskriver vad det är för version av XML specifikationen dokumentet är gjort för (det finns bara version 1.0 för tillfället). Det finns fler attribut förutom version och den vanligaste är encoding som är valfri att använda. I exempel 3.2 så är den första raden en XML deklaration. encoding attributet beskriver vad för typ av teckenavkodning som används, i detta fall används Unicode. Använder man Unicode behöver inte attributet enconding användas eftersom alla XML processorer automatiskt kan upptäcka och använda Unicode. 10

11 3.3.3 DTD DTD:n är även den valfri men i förekommande fall ska den alltid komma efter XML deklarationen. I DTD:n beskrivs hur dokumentet skall vara uppbyggt för att vara giltigt. DTD:n kan vara extern, intern eller båda delarna. I exempel 3.2 visas en intern DTD. Exempel 3.2: Intern DTD för beskrivning av XML koden i exempel 3.1. <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE examensarbete [ <!ELEMENT examensarbete (titel, författare+, datum)> <!ELEMENT titel (#PCDATA)> <!ELEMENT författare (#PCDATA)> <!ELEMENT datum (#PCDATA)> <!ATTLIST examensarbete kurskod CDATA #REQUIRED> ] > Elementtypsdeklaration. Elementtypsdeklarationerna (ETD) beskriver vilka element som finns och i vilken ordning de kan komma. Alla element i ett giltigt XML dokument måste finnas deklarerade i DTD:n. En ETD är uppdelad i två delar; först kommer namnet som elementet skall ha och efter namnet kommer innehållsmodellen (eng. content model). Innehållsmodellen beskriver vad som skall finnas mellan elementets start- och sluttaggar. Innehållsmodellen kan vara en av fyra typer: ANY beskriver att vad som helst kan komma mellan start- och sluttaggarna. EMPTY beskriver att inget får finnas mellan start- och sluttaggarna. Detta används när man har ett element enbart för sina attributs skull. Mixat innehåll beskriver att det kan förekomma text eller ett annat element mellan start- och sluttaggarna. Se de tre sista ETD:erna i exempel 3.2, där #PCDATA står för att det kan förekomma text mellan start- och sluttaggarna. Andra element beskriver att det förekommer andra element mellan start- och sluttaggarna. Se den första ETD:n i exempel 3.2, där komma- tecknet beskriver att de måste komma i den angivna ordningen. När man har ett mixat innehåll eller andra element mellan start- och sluttaggarna så skall innehållsmodellen stå mellan två parenteser. Det kan förutom #PCDATA och element förekomma andra tecken i dessa innehållsmodeller och de finns beskrivna i tabell 3.1. Tecken Betydelse, Bestämmer en strikt ordning mellan uttrycken. Antingen ett uttryck eller något annat uttryck. * Noll eller flera förekomster av uttrycket. + En eller flera förekomster av uttrycket.? Valfritt, antingen noll eller en förekomst av uttrycket. ( ) En grupp av uttryck som kan matchas ihop. Tabell 3.1: Tecken och dess betydelse i ett elements innehållsdeklaration. 11

12 Attributdeklarationer Om ett element har ett eller flera attribut och om XML dokumentet skall vara giltigt måste dessa attribut deklareras i DTD:n. Ett attribut deklareras i en s.k. attributlista, där alla attribut till ett element beskrivs. För varje attribut måste dess namn, attributtyp och defaultvärde anges. Det finns 10 olika attributtyper och dessa är: CDATA anger att attributet innehåller en sträng som kan bestå av alla sorters tecken. ID anger att attributet har ett unikt identifierare som det går att referera till. IDREF anger att attributet är en referens till ett element med ett unikt ID i samma dokument. IDREFS anger att attributet har potential att referera till flera element. ENTITY anger att attributet refererar till en extern oparsad entity, dvs. något som inte skall valideras som t.ex. bilder. ENTITIES som ENTITY men fler, där en applikation eller ett stylesheet bestämmer vilken ENTITY som gäller. Enumerated är en lista med de möjliga alternativ som finns t.ex. ( xl l m s ). NMTOKEN påminner om CDATA med den begränsningen att texten bara kan innehålla bokstäver, siffror samt punkter, bindestreck, kolon och understreck. NMTOKENS en sträng som består av flera NMTOKEN där dessa är separerade med mellanslag. NOTATION påminner om enumerated med den skillnaden att i en notation så kan man deklarera att ett elements innehåll har en redan deklarerad notation. Attribut kan ha defaultvärden och om det inte finns några specificerade defaultvärden så måste något av följande tre defaultvärden anges: #REQUIRED ett värde måste anges när XML dokumentet skrivs, annars blir detta dokument ogiltigt. #IMPLIED ett värde behövs ej skrivas i. #FIXED ett värde anges efter #FIXED och detta kan inte skrivas över XML schema Med XML schemats intåg har det kommit ett nytt sätt att beskriva hur ett giltigt dokument skall se ut. Det finns flera mer eller mindre stora förändringar med XML schemat mot DTD:n och här följer några: XML schemat är, till motsats till DTD:n, i sig själv välformat (följer grammatiken för XML) och med detta hoppas man att det skall bli lätt även för nybörjare att lära sig då de inte behöver lära sig två olika syntaxer. Man har utökat antalet datatyper med bl.a. integer, double, date, boolean för att bara nämna några. Användaren kan definiera egna datatyper, med vilka man t.ex. kan definiera flera element som har samma typ. Fullt stöd för namnrymder. 12

13 Referens av XML scheman Precis som DTD:n så är XML schemat valfritt men om det skall användas måste man referera till det från dokumentinstansen. Det finns två olika sätt att referera till XML schemat och dessa beror på om elementen tillhör en namnrymd, se exempel 3.3, eller inte. Exempel 3.3: Referens av ett XML schema där elementen tillhör en namnrymd. <examensarbete xmlns= xmlns:xsi= xsi:schemalocation= exjobb.xsd > </examensarbete> I exempel 3.3 börjar man på första raden med att ange den förvalda namnrymden, vilket berättar för schemavalidatorn att alla element i denna dokumentinstans kommer från namnrymden exjobb. Med den andra raden anger man att de attribut som har prefixet xsi tillhör namnrymden för schemainstanser. Den tredje raden anger till sist att namnrymden exjobb finns definierad i exjobb.xsd Schemadeklarationen Alla XML scheman börjar med rotelementet schema som har ett flertal attribut för att ange namnrymder mm., se exempel 3.4. Exempel 3.4: Schemadeklaration med förvald namnrymd. <?xml version= 1.0?> <schema xmlns:xsd= targetnamespace= xmlns= >... </schema> I exempel 3.4 börjar man på första raden med att ange att de element som används för att skapa XML schemat kommer från namnrymden och alla dessa element har prefixet xsd. Andra raden anger att alla element som deklareras i detta schema ska tillhöra namnrymden Den tredje raden anger till sist att den förvalda namnrymden är vilken är densamma som targetnamespace. Om man utelämnar de två sista raderna så finns ingen förvald namnrymd Globalt eller lokalt Det spelar en viss roll om en deklaration eller definition är global eller lokal. Det är bara globalt deklarerade element/attribut som man kan referera till och det är bara globalt definierade typer som man kan återanvända. En definition/deklaration sägs vara global om den är ett direkt barnelement till schema elementet Typer En av fördelarna med XML schemat om man jämför med en DTD är att användaren kan skapa egna typer. Det finns två olika typer: enkla och komplexa typer och där den enkla har taggen simpletype och den komplexa har taggen complextype. En komplex typ 13

14 används när man definierar en typ som beskriver ett element som har barnelement och/eller attribut och en enkel typ används när man vill derivera egna typer utifrån de inbyggda typerna som redan finns i XML schemat. En typ definition kan vara antingen namngiven eller anonym. Med namngiven menas att den är global och har ett namn och med anonym menas att den är nästlad (lokal) inne i en annan typdefinition. Anledningen till att man har anonym typdefinition är att vissa typer bara kommer att refereras en gång och innehåller väldigt få krav, och det anses att den namngivna typdefinitionen blir lite klumpig vid sådana tillfällen [Cos01]. De enkla typerna finns beskrivna i avsnitt och de komplexa typerna i avsnitt Elementdeklaration Med en elementdeklaration beskrivs vad en tagg har för namn och dess egenskaper. En elementdeklaration kan både vara global eller lokal (nästlad). Det finns ett flertal attribut till element taggen och de viktigaste är: name namnet på taggen. type namnet på typen, kan både vara enkla och komplexa typer. Används tillsammans med name attributet när typen är namngiven. ref kan användas istället för name och type attributen, men inte samtidigt. Man refererar till en globalt deklarerad element genom att ange elementets namn. minoccurs anger det minimala antalet förekomster av taggen. Skall vara ett heltal som är större än 0, anges inte detta attribut så används default värdet som är 1. maxoccurs anger det maximal antalet förekomster av taggen. Skall vara ett heltal större än 0 eller unbounded om antalet är obegränsad, anges inte detta attribut så används default värdet som är 1. substitutiongroup anger att elementet kan användas överallt där ett annat element (det som står som värde) ska finnas. Kräver att elementet är av samma typ eller deriverad från den typ som det utbytbara elementet är av. abstract anger om värdet är true att elementet inte får förekomma i dokumentet instansen, men att de element som kan byta ut det abstrakta elementet (med substitutiongroup) kan förekomma på dess plats. Av de attribut som beskrivits ovan så kan name och type användas både vid lokala och globala deklarationer. substitutiongroup och abstract kan endast användas vid globala deklarationer och de övriga endast vid lokala deklarationer Attributdeklaration Med en attributdeklaration beskriver man namnet och egenskaper för ett attribut. Precis som för elementdeklarationen kan ett attribut deklareras både globalt och lokalt. Om ett element har både attribut i sig och barnelement skall attributen alltid deklareras efter dess barnelement. Det finns ett flertal attribut till attribute elementet och de viktigaste är: name namnet på taggen, används tillsammans med type attributet. type namnet på typen, kan bara vara enkla typer. ref kan användas istället för name och type attributen, men inte samtidigt. Man refererar till ett globalt deklarerat attribut genom att ange attributets namn. use specificerar hur attributet skall användas. Det finns ett flertal olika alternativ och motsvarar defaultvärdet vid attributdeklarationen för DTD:s (se avsnitt 14

15 ) med den skillnaden att det finns flera alternativ. De olika alternativen beskrivs nedan. value används för att specificera ett värde om use attributet är fixed eller default. Av de attributen som beskrivits ovan så kan name och type användas både vid lokala och globala deklarationer. De övriga skall bara användas vid lokala deklarationer. use och value attributen kan nämligen användas globalt men man bör inte göra detta då dessa bara har betydelse inne i en elementdeklaration [Cos01]. Det finns flera olika alternativ för use attributet och dessa är de vanligaste: required attributet måste användas i dokumentinstansen. fixed ett värde anges i value attributet i XML schemat och detta värde kan ej skrivas över i dokumentinstansen. optional det är valfritt om attributet skall användas eller inte i dokumentinstansen. default ett värde anges i value attributet i XML schemat och detta värde används om användaren inte använder attributet i dokumentinstansen Enkla typer Det finns över 40 st olika typer som finns inbyggda i XML schemat, av dessa finns de tio attribut typerna för DTD:n som beskrevs i avsnitt Av alla dessa typer sägs 13 vara primitiva och de övriga är deriverade från de primitiva eller andra deriverade typer. Användaren kan dessutom definiera egna typer genom att derivera någon av de enkla typerna. I exempel 3.5 definieras en ny typ som heter minaheltal, där man utgår från typen integer och begränsar den så att heltalet måste vara mellan 0 och 10. Användaren kan dessutom definiera bl.a. egna listor, unioner, enumerations och mönster (eng. patterns) mm. Exempel 3.5: Definiera en egen heltalstyp. <xsd:simpletype name= minaheltal > <xsd:restriction base= integer > <xsd:minexclusive value= 0 /> <xsd:maxexclusive value= 10 /> </xsd:restriction> </xsd:simpletype> Komplexa typer Som förklarats i avsnitt , så används en komplex typ när man definierar typer som beskriver ett element som har barnelement och/eller attribut. Exempel 3.6: XML schema som beskriver XML koden i exempel 3.1. <schema > < xsd:element name= examensarbete type= exjobbstyp /> < xsd:completype name= exjobbstyp > < xsd:sequence> < xsd:element name= titel type= xsd:string /> < xsd:element name= författare type= xsd:string maxoccurs= unbounded /> < xsd:element name= datum type= xsd:date /> </ xsd:sequence> < xsd:attribute name= kurskod type= xsd:string use= required /> </ xsd:complextype> </schema> 15

16 I exempel 3.6 visas ett XML schema som innehåller en komplex typdefinition. sequence element är ett s.k. grupperingselement och med den specificeras den ordning som elementen måste ha i dokumentinstansen. Det finns flera användbara grupperingselement t.ex. choice eller any. Med choice menas att i normala fall endast ett av elementen kan användas i dokumentinstansen. Genom att använda attributen minoccurs och maxoccurs till choice elementet kan man dock specificera hur många gånger de olika elementen kan finnas i dokumentinstansen. Ordningen mellan elementen spelar ingen roll i detta fall. Med all elementet så måste alla elementen finnas med i dokumentinstansen om inte elementets minoccurs attribut är 0, men ordningen mellan elementen spelar ingen roll. Det är dock ett krav att element taggens attribut minoccurs är 0 eller 1 och att maxoccurs är 1 för att all elementet skall kunna användas. Precis som för element taggen kan complextype taggen ha attributet abstract. Om värdet på attributet är true så får element som är av denna typ inte förekomma i dokumentinstansen. Däremot får element som har en typ som är deriverad utifrån den abstrakta typen förekomma i dokumentinstansen Entiteter På ett enkelt sätt kan man säga att en entitet är en sorts fördefinierad text som kopplas till ett entitetsnamn och när entitetsnamnet refereras så skrivs den fördefinierade texten ut. Detta är dock inte hela sanningen då det finns flera olika typer av entiteter: fördefinierade, generella, parameter, oparsade, parsade, interna och externa, och de ska alla behandlas på olika sätt Element och attribut Det finns två olika typer av element, de som består av en start- och sluttagg, som de lokala elementdeklarationerna i exempel 3.6, och de som endast består av en tagg, som den globala elementdeklarationen i exempel 3.6. Ett element kan ha noll eller flera attribut. Varje attribut har ett namn och ett värde och värdet måste finnas i en sträng som begränsas med antingen två citattecken eller två apostroftecken Kommentarer En kommentar i XML ser precis likadan ut som i HTML, se exempel 3.7. En kommentar kan skrivas i princip var som helst förutom i deklarationer, taggar och i andra kommentarer. Exempel 3.7: Kommentar i XML. <!-- Detta är en kommentar i XML och i HTML --> 3.4 XML vokabulär Ett XML vokabulär är ett uppmärkningsspråk som bygger på XML, men där det har skapats taggar för en organisations eller ett företags speciella syfte. Bl.a. skapar flera organisationer rekommendationer om XML vokabulär för just deras område och några exempel är bl.a. CML (Chemical Markup Language) [MR01] och MathML (Mathematical Markup Language) [W3C01a] som beskriver kemiska respektive matematiska dokuments uppbyggnad. Vi skall titta närmare på ett par 16

17 uppmärkningsspråk för geografiska tillämpningar, GML som är en rekommendation från OGC och ArcXML som företaget ESRI använder som ett interface mellan flera av sina applikationer GML 1.0 GML (Geography Markup Language) 1.0 [OGC00] är en rekommendation för GIS som bygger på XML och är framtagen av OGC. Rekommendationen är tänkt att användas för transport och lagring av geografiska data och utgår från OGC specifikation för enkla geografiska objekt (eng. simply geography features). Rekommendationen innehåller två DTD:er, en för geometri och en för geoobjekt som bygger på de geometriska, samt en RDF (Resource Description Format) schemadefinition. Dessutom finns det ett flertal DTD:er som representerar olika sätt att beskriva spatiala referenssystem, men dessa är långt ifrån färdiga Enkla geografiska objekt I specifikationen för de enkla geografiska objekten så utgår man ifrån det 2- dimensionella planet, dvs. att alla koordinater har ett x- respektive ett y-värde. Det finns tre grundobjekt och dessa är punkter, linjer och polygoner. Dessa kan sedan kombineras till multi-punkter, multi-linjer, multi-polygoner eller till andra komplexa geografiska objekt GML profiler Det finns tre olika typer av profiler i GML rekommendationen. Profil 1 är tänkt att användas av dem som inte är villiga att utveckla egna specifika DTD s för sina applikationer. I detta fall måste man använda sig av både GML Feature och GML Geometry DTD:erna. Profil 2 i motsats till profil 1 är den tänkt att användas av dem som är villiga utveckla sin egen specifika DTD för sin applikation. Precis som i profil 1 använder man GML Geometry DTD:n men skapar en egen DTD för sina egna objekt som refererar till GML Geometry DTD:n. Profil 3 är tänkt att användas av dem som vill använda RDF (Resource Description Framework) och RDF scheman. Det krävs i detta fall att användaren skapar en applikationsspecifik RDF schema definition som använder sig av GML RDF schemadefinition. RDF är ett ramverk för metadata och används för utbyte av metadata mellan applikationer över Internet. Det är tänkt att inte använda RDF i detta arbete och gås därför inte igenom noggrannare här GML Geometry DTD Det finns över 30 element beskrivna i DTD:n för geometrin i GML 1.0. Av dessa kallas åtta geometriska klasser och dessa är: Point en punkt består av en koordinat. LineString en linje består av två eller flera koordinater, med räta linjer mellan koordinaterna. LinearRing en linjär ring består av fyra eller flera koordinater, med räta linjer mellan koordinaterna. Den första och sista koordinaten måste vara densamma. Polygon en polygon består av en yttre linjär ring och av noll eller flera inre linjära ringar. MultiPoint en multipunkt består av en eller flera pointmember, som i sin tur består av en punkt. 17

18 MultiLineString en multilinje består av en eller flera linestringmember, som i sin tur består av en linje. MultiPlygon en multipolygon består av en eller flera polygonmember, som i sin tur består av en polygon. GeometryCollection en komplex geometri består av en eller flera av geometrymember, som i sin tur består av någon de ovanstående klasserna (dock ej LinearRing). Alla dessa element har två attribut, nämligen ID och srsname (LinearRing saknar denna), och båda attributen är valfria. ID är objektets eventuella identifieringsnummer och srsname är namnet på det spatiala referenssystem i vilken mätningarna har gjorts. Grunden för de geometriska klasserna är elementet coordinates som består av lista av x- och y-koordinater. Oavsett hur många koordinater en klass skall ha så är det coordinates elementet som representerar själva geometrin. Elementet har tre attribut: decimal, cs och ts, och dessa är alla valfria. decimal anger vilket tecken som skall användas som decimalavskiljare och en punkt är förvald som tecken. cs anger vilket tecken som ska vara mellan x- och y-koordinaten och ett komma förvalt som tecken. ts anger vilka tecken som skall avgränsa två koordinatpar och de förvalda tecknen är mellanslag, return eller tab. Det finns förutom de geometriska klasserna och elementet coordinates ytterligare fyra element i DTD:n som behövs förklaras och dessa är: Box en box består av två koordinater och används för att visa utbredning och koordinaterna representerar det övre vänstra hörnet och det nedre högra hörnet av en rektangel. Har som de geometriska klasserna attributen ID och srsname med den skillnaden att det krävs att det finns ett värde för srsname. name används för att användaren kan namnge ett objekt. description används så att användaren skall kunna ge en beskrivning av objektet. boundedby används för att visa utbredningen för ett eller flera geometriska objekt och kräver i sin tur ett box element GML Feature DTD Feature DTD:n innehåller definitioner av fem olika element. DTD:n får tillgång till den geometriska DTD:n genom att referera till den som en parameterentitet. De fem elementen är: Feature är ett geoobjekt som innehåller de valfria barnelementen: description, name och boundedby samt noll eller flera förekomster av barnelementen: property och geometricproperty (se beskrivningar nedan). Har dessutom det valfria attributet identifier som skall användas inom en samling av geoobjekt. FeatureCollection är en samling av geoobjekt och har samma definition som Feature med den skillnaden att den kan även innehålla noll eller flera featuremember. featuremember innehåller antingen en Feature eller en FeatureCollection. geometricproperty används för att ge en geometri till ett geoobjekt och kräver i sin tur någon av de 8 geometriska klasserna mellan start- och sluttaggarna. property används för egenskaper som inte är geometriska. Har attributet type som anger typen för det data som finns mellan elementets start- och sluttaggar. 18

19 Typerna kan antingen vara boolean, integer, real eller string, där string är dess förvalda värde. Alla dessa element kräver attributet typename förutom de attribut som beskrivits ovan. typename anger namnet på geoobjektet/egenskapen/medlemmen. I exempel 3.8 så visas en dokumentinstans där man använt sig av de färdiga elementen för geoobjekt mm. enligt profil 1. Exempel 3.8: Liten beskrivning av Eskilstuna med avseende på lyktstolpar. <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE FeatureCollection SYSTEM "C:\exjobb\GML\gmlfeature.dtd"> <FeatureCollection typename="kommunmodell"> <description>geometrisk beskrivning av Eskilstuna kommun</description> <name>eskilstuna</name> <boundedby> <Box srsname="epsg:4326"> <coordinates></coordinates> </Box> </boundedby> <property typename="datum" > </property> <featuremember typename="medlem"> <Feature typename="lyktstolpe"> <property typename="stolpnummer" type="integer">1</property> <property typename="stolpmaterial">järn</property> <geometricproperty typename="plats"> <Point> <coordinates></coordinates> </Point> </geometricproperty> </Feature> </featuremember> </FeatureCollection> Applikationsspecifik DTD Om en användare vill följa profil 2 och skapa en DTD som är specifik för sin applikation så finns det några regler som måste följas. Dessa regler säger egentligen att de element som skapas måste påminna om elementen Feature, FeatureCollection och featuremember från GML Feature DTD:n. Istället för att använda Feature elementet och dess attribut typename så döper man elementet till t.ex. värdet för typename. description, name, och boundedby elementen måste fortfarande kunna användas och en geometrisk egenskap måste fortfarande finnas med. Det fungerar på motsvarande sätt för FeatureCollection, featuremember, property och geometicproperty elementen. I exempel 3.9 visas hur dokumentinstansen skulle vara om man gjorde som i exempel 3.8 men använde sig av en applikationsspecifik DTD. I detta fall är DTD:n intern och man refererar till den geometriska DTD:n som en parameterentitet. För att påvisa vilka element som vi skapat så är dessa elementen i exemplet skrivna helt med versaler. 19

20 Exempel 3.9: Liten beskrivning av Eskilstuna med avseende på lyktstolpar igen. <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE KOMMUNMODELL [ <!ENTITY % GMLGEOMETRYDTD SYSTEM "C:\exjobb\GML\gmlgeometry.dtd"> %GMLGEOMETRYDTD; <!ELEMENT KOMMUNMODELL (description?,name?,boundedby,datum,medlem*)> <!ELEMENT DATUM (#PCDATA) > <!ELEMENT MEDLEM (LYKTSTOLPE)> <!ELEMENT LYKTSTOLPE (description?,name?, boundedby?, STOLPNUMMER, STOLPMATERIAL, PLATS)> <!ELEMENT PLATS (Point)> <!ELEMENT STOLPNUMMER (#PCDATA)> <!ELEMENT STOLPMATERIAL (#PCDATA)> ]> <KOMMUNMODELL> <description>geometrisk beskrivning av Eskilstuna kommun</description> <name>eskilstuna</name> <boundedby> <Box srsname="epsg:4326"> <coordinates></coordinates> </Box> </boundedby> <DATUM> </DATUM> <MEDLEM> <LYKTSTOLPE> <STOLPNUMMER>1</STOLPNUMMER> <STOLPMATERIAL>järn</STOLPMATERIAL> <PLATS> <Point> <coordinates></coordinates> </Point> </PLATS> </LYKTSTOLPE> </MEDLEM> </KOMMUNMODELL> Utvärdering Om GML 1.0 skulle användas som protokoll för transport av data mellan handdator och stationär dator så skulle det vara profil 2 som skulle vara intressant i detta fall. Detta för att man kan skapa sina egna typer av geoobjekt och få dessa namnsatta på ett enkelt och beskrivande sätt. Det finns vissa tvetydigheter i geometri DTD:n samt i själva beskrivningen av den. Enligt kommentarer i DTD:n och i beskrivningen av den, skall MultiPoint, MultiLineString, MultiPolygon och GeometryCollection bestå av noll eller flera element av en viss typ, men i alla dessa fall så står det i själva DTD:n att de skall bestå av ett eller flera element av en viss typ. Har här utgått ifrån att det är DTD:n som är den rätta. GML 1.0 är i dagens läge inte moget för att användas för vårt ändamål. GML 1.0 är bara en rekommendation och är fortfarande ute på remiss hos OGC medlemmar. Detta medför att den inte är stabil än och kan komma att ändras. Men även om den godkänns och får status som teknisk specifikation, så anser jag att den inte är användbar. Detta för att den bygger på enkla geografiska objekt och dessa är 2- dimensionella i motsats till GIVAS-projektet som bygger på 3-dimensionella 20

21 geoobjekt. I framtiden skulle det kunna vara möjligt att använda GML, då det är tänkt att kommande versioner även skall kunna hantera andra geografiska modeller som OGC har. Det finns även en stor nackdel med syntaxen i GML 1.0 Geometry DTD:n. Det är att geoobjekt som består av två eller flera koordinater, som t.ex. linjer, bara har ett coordinates element i sig och att detta coordinates element innehåller en lista på alla koordinaterna. När man gör på detta sätt så kan ett geoobjekt vara giltigt (den följer strukturen som är beskriven i DTD:n) men ändå vara felaktig då endast en koordinat har angivets som innehåll inom koordinater taggen. Detta syns tydligt i exemplen 3.8 och 3.9 där coordinates elementet är tom på alla ställen, men ändå är dokumenten giltiga. Ett enkelt sätt att åtgärda problemet är att en koordinat tagg bara kan innehålla ett xy-par och linjer måste ha minst två koordinater i sig. GML 1.0 kommer aldrig att nå status som teknisk specifikation. Under examensarbetets gång kom en helt ny rekommendation ut som avhandlas i nästa avsnitt. Grunderna är dock desamma och utredningen om GML 1.0 hade kommit så långt att jag anser att denna del är en naturlig del av rapporten GML 2.0 GML 2.0 [OGC01] är en helt ny rekommendation av GML och kom ut den 20 februari Den bygger till stor del på GML 1.0 med den stora skillnaden att DTD:erna är utbytta mot XML scheman. Rekommendationen innehåller tre XML scheman; en för geometri och en för geoobjekt som bygger på de geometriska, samt en för s.k. XLinks. XLink (XML Linking Language) är en föreslagen rekommendation hos W3C och används för att länka samman element i interna och/eller externa dokument. XLinks schemat kommer inte att beskrivas i denna rapport. I GML 2.0 måste användaren skapa ett applikationsspecifikt schema. Det finns strikta regler för hur detta skall gå till för att det ska anses att man följer rekommendationen Geometry Schema Det finns inga större skillnader mellan den geometriska DTD:n i GML 1.0 och det geometriska schemat i GML 2.0 förutom det att man just använder XML schema istället för en DTD. Detta betyder att de typerna för attributen och elementen har ändrats, men dessa ändringar kommer inte att redovisas här. Elementen name och description finns inte längre kvar, de har i GML 2.0 flyttats till Feature schemat. Det finns även andra element som inte togs upp i beskrivningen av GML 1.0 som flyttats till Feature schemat. Namnen på klasserna och elementen är desamma förutom ett undantag och det är klassen GeometryCollection som bytt namn till MultiGeometry. Attributet Id som fanns för alla klasser i DTD:n är nu ersatt med attributet gid istället, men i övrigt är attributen desamma. Den största skillnaden är att det kommit till ännu ett element för att beskriva koordinater och att det är reglerat hur många förekomster de olika klasserna kan innehålla detta element. Elementet som heter coord har tre barnelement X, Y och Z där X 21

22 måste finnas medan de två övriga är valfria. Däremot finns även elementet coordinates kvar så att användaren kan välja hur man skall representera koordinaterna. Det har även tillkommit några abstrakta element som _Geometry och _GeometryCollection. Som regel har alla abstrakta element ett understreck tecken framför själva namnet och detta gäller genom hela rekommendationen. Det finns även tre abstrakta supertyper, från dessa härstammar alla element (även de abstrakta) utom de för koordinaterna Feature Schema Feature schemat har ändrats relativt mycket om man jämför med Feature DTD:n i GML 1.0. Förutom att vissa element har flyttats till Feature schemat så har elementen Feature, FeatureCollection, och property tagits bort helt, varför användaren nu måste skriva ett applikationsspecifikt schema för att kunna använda rekommendationen. För att användaren skall kunna skapa egna objekt, samlingar av objekt mm., har det skapats tre abstrakta element som man skall bygga vidare på och dessa är _Feature, _FeatureCollection och _geometricproperty. De icke geometriska egenskaperna för ett objekt måste användaren lägga till i applikationsschemat. De element som ska vara barnelement till featuremember måste nu härstamma från _Feature eller _FeatureCollection. Det finns även fem abstrakta supertyper, från vilka alla element (även de abstrakta) härstammar. Dessa används för att skapa egna objekt mm. i applikationsschemat Applikationsspecifikt schema Det finns vissa regler som ett applikationsschema måste följa för att det ska anses stödja rekommendationen och dessa är: 1. applikationsschemat måste följa de utvecklingsregler som finns beskrivna i avsnitt 5.2 i rekommendationen. 2. applikationsschemat får inte ändra namn, definition eller datatyper för obligatoriska element. 3. abstrakta typdefinitioner får utökas och begränsas fritt. 4. applikationsschemat måste göras tillgängligt för alla som tar emot filer som bygger på applikationsschemat. 5. relevanta scheman måste specificera en mål namnrymd (eng. target namespace) och denna får inte vara (namnrymden för GML). Utvecklare kan skapa sina egna typer för objekt eller för samlingar av objekt. Dessa typer måste i grund och botten vara deriverade från antingen gml:abstractfeaturetype eller gml:abstractfeaturecollectiontype. Genom att antingen utöka eller begränsa den abstrakta supertypen med egna attribut, geometriska element och/eller ickegeometriska element så skapar man en ny typ. Element av dessa typer kan sedan substitueras mot andra element som härstammar från den abstrakta supertypen. Utvecklaren kan även skapa egna associationstyper för objekt. Dessa måste vara deriverade från gml:featureassociationtype och används för att bestämma vilka objekt som kan ingå som medlemmar i en samling av objekt. I exempel 3.10 visas ett applikationsschema som motsvarar DTD:n i exempel 3.9. Som synes är schemat betydligt större än motsvarande DTD. 22

23 Exempel 3.10: Applikationsschema som motsvarar DTD:n i exempel 3.9. <?xml version="1.0" encoding="utf-8"?> <schema targetnamespace="exjobb" xmlns:ex="exjobb" xmlns:gml=" xmlns=" > <!-- konstruktioner från GML Feature och Geometry schemana importeras--> <import namespace=" schemalocation="c:\exjobb\gml\feature.xsd"/> <!-- Globala element deklarationer --> <element name="kommunmodell" type="ex:kommunmodelltyp" substitutiongroup="gml:_featurecollection"/> <element name="medlem" type="ex:medlemtyp" substitutiongroup="gml:featuremember"/> <element name="lyktstolpe" type="ex:lyktstolpetyp" substitutiongroup="ex:_kommunfeature"/> <!-- Restriktioner för vilka geoobjekt som får förekomma i kommunmodellen --> <element name="_kommunfeature" type="gml:abstractfeaturetype" abstract="true" substitutiongroup="gml:_feature"/> <!-- typ definitioner för kommunmodellen --> <complextype name="kommunmodelltyp"> <complexcontent> <extension base="gml:abstractfeaturecollectiontype"> <sequence> <element name="datum" type="date"/> </sequence> </extension> </complexcontent> </complextype> <complextype name="medlemtyp"> <annotation> <documentation> Bara de geoobjekt eller samlingar av goeobjekt som är deklarerade med _KommunFeature kan vara medlemmar i kommunmodellen </documentation> </annotation> <complexcontent> <restriction base="gml:featureassociationtype"> <sequence minoccurs="0"> <element ref="ex:_kommunfeature"/> </sequence> <attributegroup ref="gml:associationattributegroup"/> </restriction> </complexcontent> </complextype> <complextype name="lyktstolpetyp"> <complexcontent> <extension base="gml:abstractfeaturetype"> <sequence> <element name="stolpnummer" type="integer"/> <element name="stolpmaterial" type="string"/> <element name="plats" type="gml:pointpropertytype"/> </sequence> </extension> </complexcontent> </complextype> </schema> 23

24 I exempel 3.11 visas en dokumentinstans till applikationsschemat i exempel Det är några förändringar mot dokumentinstansen för motsvarande DTD. Dessa är att alla element som finns beskrivna i Feature- eller Geometry-schemana har namnrymden gml samt att DATUM elementet nu står sist efter alla medlemmar istället för före som i exempel 3.9. Exempel 3.11: Dokumentinstans till applikationsschemat i exempel <?xml version="1.0" encoding="utf-8"?> <KOMMUNMODELL xmlns="exjobb" xmlns:gml=" xmlns:xsi=" xsi:schemalocation="exjobb c:\exjobb\xmlexempel\kommun.xsd"> <gml:description>geometrisk beskrivning av Eskilstuna kommun</gml:description> <gml:name>eskilstuna</gml:name> <gml:boundedby> <gml:box srsname="epsg:4326"> <gml:coordinates/> </gml:box> </gml:boundedby> <MEDLEM> <LYKTSTOLPE> <STOLPNUMMER>1</STOLPNUMMER> <STOLPMATERIAL>järn</STOLPMATERIAL> <PLATS> <gml:point> <gml:coord> <gml:x>97982,50</gml:x> <gml:y>84742,47</gml:y> </gml:coord> </gml:point> </PLATS> </LYKTSTOLPE> </MEDLEM> <DATUM> </DATUM> </KOMMUNMODELL> Utvärdering Till skillnad till föregångaren GML 1.0 så är GML 2.0 bättre utrustat för framtida bruk. I och med att man frångått DTD:n till fördel för XML schema så kommer man att kunna utnyttja XML bättre. De stora nackdelarna med GML 1.0 är nu i princip lösta. Nu kan man använda sig av 3-dimensionella geoobjekt och syntaxen har ändrats så att t.ex. en linje måste innehålla minst två koordinater och inte en lista av koordinater som i GML 1.0. Anledningen till att det står i princip är att man fortfarande kan använda en lista av 2-dimensionella koordinater som i sig inte går att validera. GML 2.0 är dock väldigt trubbigt i vissa lägen. När man i framtiden skall importera objekt så är det önskvärt att man skulle kunna validera dessa samtidigt. Då GML 2.0 är mycket generellt så kan det uppstå problem när man använder det för GIVAS som är väldigt specialiserat. Ett exempel är att coord elementet bara kräver att det skall finnas en x-koordinat medan det för GIVAS krävs minst två koordinater. Detta skulle dock gå att lösa genom lite extra kod som ligger utanför själva valideringen. 24

En snabb titt på XML LEKTION 6

En snabb titt på XML LEKTION 6 LEKTION 6 En snabb titt på XML Bokstaven x i Ajax står för XML, ett mycket användbart beskrivningsspråk som gör det möjligt för Ajax-tillämpningar att hantera komplex strukturerad information. I den här

Läs mer

Hantera informationspaket i system för bevarande

Hantera informationspaket i system för bevarande Kompetensutveckling har erbjudits deltagare inom projektet Elektroniskt bevarande i form av en kurs i XML. Kursen har genomförts av Riksarkivet och haft en praktisk inriktning. Ett 10-tal personer deltog

Läs mer

www.skillspartner.com

www.skillspartner.com Mål Deltagarna ska förstå: Vad XML är Hur XML fungerar Vilka problem XML löser Hur XML används Känna till begrepp: DTD, DOM, XSL etc. Känna till verktyg Innehåll Vad är XML XML i relation till HTML XML

Läs mer

Vad är XML Schemas. XML Schemas. Varför XML Schmas. Namespace

Vad är XML Schemas. XML Schemas. Varför XML Schmas. Namespace Vad är XML Schemas XML Schemas XML Schemas gör samma sak som DTDer fast bättre dvs med XML Schemas går det att definiera XMLvokabulärer och det går att validera instansdokument mot dessa schemas. XML Schemas

Läs mer

KFF Beskrivning av KFF-handläggningsprocessen 1 (10) Gällande Mikael Andersson REGISTERKARTE-GML

KFF Beskrivning av KFF-handläggningsprocessen 1 (10) Gällande Mikael Andersson REGISTERKARTE-GML Fastighetsbildning Dokumentation Dokumentnamn Sida KFF Beskrivning av KFF-handläggningsprocessen 1 (10) Status Godkänd av Giltig från Version Gällande Mikael Andersson 2017-05-22 1.0 REGISTERKARTE-GML

Läs mer

Introduktion till integrering av Schenkers e-tjänster. Version 2.0

Introduktion till integrering av Schenkers e-tjänster. Version 2.0 Introduktion till integrering av Schenkers e- Version 2.0 Datum: 2008-06-18 Sida 2 av 8 Revisionshistorik Lägg senaste ändringen först! Datum Version Revision 2008-06-18 2.0 Stora delar av introduktionen

Läs mer

Design och underhåll av databaser

Design och underhåll av databaser Design och underhåll av databaser 1. Modell av verkligheten 2. Normalformer 3. Introduktion till DDL 4. Skapa databaser 5. Skapa tabeller 6. Skapa index 7. Restriktioner 8. Ta bort databaser, tabeller

Läs mer

Coridendro ett verktyg för att grafiskt åskådliggöra incidensen av malignt melanom inom olika släkter

Coridendro ett verktyg för att grafiskt åskådliggöra incidensen av malignt melanom inom olika släkter Datavetenskap Opponenter: Daniel Jansson Mikael Jansson Respondenter: Mats Almgren Erik Hansen Coridendro ett verktyg för att grafiskt åskådliggöra incidensen av malignt melanom inom olika släkter Oppositionsrapport,

Läs mer

Heldag om FGS FGS:er och deras tekniska regelverk. Karin Bredenberg, FGS funktionen. Standarder. FGS:er och deras tekniska regelverk 1

Heldag om FGS FGS:er och deras tekniska regelverk. Karin Bredenberg, FGS funktionen. Standarder. FGS:er och deras tekniska regelverk 1 FGS:er och deras tekniska regelverk Karin Bredenberg, FGS funktionen Standarder 2 FGS:er och deras tekniska regelverk 1 Standarder Det finns många standarder och ingen bild med alla på Det finns inte heller

Läs mer

Strukturering med XML och DTD

Strukturering med XML och DTD Föreläsning i webbdesign Strukturering med XML och DTD Rune Körnefors Medieteknik 1 2012 Rune Körnefors rune.kornefors@lnu.se PresentaCon SCl Layout OrganisaCon/struktur InformaConsobjekt Länkar Innehåll/data

Läs mer

Tips och tricks 1 Cadcorp SIS 5.2 2003-03-03

Tips och tricks 1 Cadcorp SIS 5.2 2003-03-03 Tips och tricks 1 Cadcorp SIS 5.2 2003-03-03 Skapa en raster pensel från en Windows bakgrund (1) 1. Kontrollera att Paper är uppsatt som koordinatsystem/projektion 2. Öppna en Bitmap fil i ett tom fönsterfil

Läs mer

Grunderna i SQL del 1

Grunderna i SQL del 1 Grunderna i SQL del 1 1. SELECT-frågor 2. SELECT 3. WHERE 4. ORDER BY 5. Inre join 6. Yttre join 7. Andra typer av join 8. Union 9. Aggregatfunktioner 10. Gruppera och summera Kap. 3 Kap. 4 Kap. 5 utom

Läs mer

Retrieve a set of frequently asked questions about digital loans and their answers

Retrieve a set of frequently asked questions about digital loans and their answers GetFAQ Webservice name: GetFAQ Adress: https://www.elib.se/webservices/getfaq.asmx WSDL: https://www.elib.se/webservices/getfaq.asmx?wsdl Webservice Methods: Name: GetFAQ Description: Retrieve a set of

Läs mer

Vad är XML XML. Exempel - SMIL. Exempel - XHTML. extensible Markup Language

Vad är XML XML. Exempel - SMIL. Exempel - XHTML. extensible Markup Language XML Vad är XML extensible Markup Language 2D1525 Programmering för interaktiva medier http://www.nada.kth.se/kurser/kth/2d1525/ Ett meta-märkspråk med vilket man kan bygga märkspråk som xhtml, wml, smil

Läs mer

Schematransformation SLU

Schematransformation SLU 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...

Läs mer

Objektorienterad programmering

Objektorienterad programmering Objektorienterad programmering Emil Ahlqvist (c10eat@cs.umu.se) Didrik Püschel (dv11dpl@cs.umu.se) Johan Hammarström (c08jhm@cs.umu.se) Hannes Frimmel Moström (c10hml@cs.umu.se) 1 1. Introduktion 1.1 Objektorienterad

Läs mer

Uppmärkningsspråk. TDP007 Konstruktion av datorspråk Föreläsning 3. Peter Dalenius Institutionen för datavetenskap

Uppmärkningsspråk. TDP007 Konstruktion av datorspråk Föreläsning 3. Peter Dalenius Institutionen för datavetenskap Uppmärkningsspråk TDP007 Konstruktion av datorspråk Föreläsning 3 Peter Dalenius Institutionen för datavetenskap 2017-01-26 2 Vad handlar det andra seminariet om? Strukturerad text Uppgifter Hämta information

Läs mer

XML. Dagens föreläsning. Vad är XML extencible Markup Language. Exempel - XHTML

XML. Dagens föreläsning. Vad är XML extencible Markup Language. Exempel - XHTML Dagens föreläsning XML D151 Databasteknik och datorkomunikation http://www.csc.kth.se/dd1051/ Syfte Få en introduktion till XML, vilket är det vanligaste dataformatet för att strukturera data idag. Mål

Läs mer

Dagens föreläsning. Vad är XML. Exempel - XHTML. extencible Markup Language

Dagens föreläsning. Vad är XML. Exempel - XHTML. extencible Markup Language Dagens föreläsning 2D1522 Datorteknik och -kommunikation 2D2051 Databasteknik och datorkomunikation http://www.nada.kth.se/kurser/kth/2d1522/ http://www.nada.kth.se/kurser/kth/2d2051/ Syfte Få en introduktion

Läs mer

ISO 19100-serien världsstandarder för Geografisk Information

ISO 19100-serien världsstandarder för Geografisk Information 2003-08-18 1 (6) Handläggare Handled by Jörgen Wyke, 08-555 520 24 SIS/TK 323 N 1238 ISO 19100-serien världsstandarder för Geografisk Information Innehåll: BAKGRUND...1 MÅL...1 MER INFORMATION...1 ARBETSPROGRAM...1

Läs mer

Uppmärkningsspråk. TDP007 Konstruktion av datorspråk Föreläsning 3. Peter Dalenius Institutionen för datavetenskap

Uppmärkningsspråk. TDP007 Konstruktion av datorspråk Föreläsning 3. Peter Dalenius Institutionen för datavetenskap Uppmärkningsspråk TDP007 Konstruktion av datorspråk Föreläsning 3 Peter Dalenius Institutionen för datavetenskap 2015-01-29 Vad handlar det andra seminaret om? Strukturerad text Uppgifter Hämta information

Läs mer

Programmering A. Johan Eliasson johane@cs.umu.se

Programmering A. Johan Eliasson johane@cs.umu.se Programmering A Johan Eliasson johane@cs.umu.se 1 Jag Undervisar mest grundläggande programmering på Institutionen för datavetensakap Applikationsutveckling för iphone Applikationsutveckling i Java Datastrukturer

Läs mer

Data visualization on Android

Data visualization on Android Datavetenskap Opponenter: Tobias Eriksson, Agni Rizk Respondent: Victor Ulhagen Data visualization on Android Oppositionsrapport, C/D-nivå 2010:xx 1 Sammanfattat omdöme av examensarbetet Rapporten är bra

Läs mer

Innehåll Introduktion... 3 InteractiveScene.config... 3 Scener <scenes>... 3 Typsnitt <fonts>... 3 Övergångar <transitions>...

Innehåll Introduktion... 3 InteractiveScene.config... 3 Scener <scenes>... 3 Typsnitt <fonts>... 3 Övergångar <transitions>... Innehåll Introduktion... 3 InteractiveScene.config... 3 Scener ... 3 Typsnitt ... 3 Övergångar ... 4 Mall för slide ... 5 , ...

Läs mer

Omtentamen i OOSU2, 21 augusti 2014

Omtentamen i OOSU2, 21 augusti 2014 Omtentamen i OOSU2, 21 augusti 2014 Maxpoäng: 50. Betygsgränser: A: 90 % + B: 80 % + C: 70 % + D: 60 % + E: 50 % + Mindre än 50 % ger underkänd tentamen. Är det något du inte uppfattar så förklara hur

Läs mer

DP7 Kompletterande information

DP7 Kompletterande information Magnus G 2013-12-19 1.1 2(9) INNEHÅLLSFÖRTECKNING 1. DOKUMENTINFORMATION...4 1.1 SYFTE...4 1.2 MÅLGRUPP...4 2. ALLMÄNT...4 2.1 ALLMÄNT...4 2.1.1 Validering...4 2.1.2 Tomma element bör inte vara med...4

Läs mer

Sätt att skriva ut binärträd

Sätt att skriva ut binärträd Tilpro Övning 3 På programmet idag: Genomgång av Hemtalet samt rättning Begreppet Stabil sortering Hur man kodar olika sorteringsvilkor Inkapsling av data Länkade listor Användning av stackar och köer

Läs mer

Konstruktion av datorspråk

Konstruktion av datorspråk Konstruktion av datorspråk Fö3: Uppmärkningsspråk Peter Dalenius petda@ida.liu.se Institutionen för datavetenskap Linköpings universitet 2009-01-29 Översikt Uppmärkningsspråk Struktur och specifikation

Läs mer

Projektarbete 2: Interaktiv prototyp

Projektarbete 2: Interaktiv prototyp Projektarbete 2: Interaktiv prototyp Jonatan Hilmarch (Grupp 13) 880427-5595 hilmarch@skip.chalmers.se Kurs: Människa-Datorinteraktion TIG061 HT 2010 Projekt 1 - en tillbakablick Enligt projektets systemdefinition

Läs mer

Mobila lösningar på Jordbruksverket. Standardprogram och Öppen Källkod

Mobila lösningar på Jordbruksverket. Standardprogram och Öppen Källkod Mobila lösningar på Jordbruksverket Standardprogram och Öppen Källkod Jordbruksverket Åke Svensson SWECO Gunnar Esping Innehåll Jordbruksverket Mobila fältkontroller Blockinventeringen jordbruksblock Standardprogram

Läs mer

Prova på-laboration i PHP Johan Sjöholm johsj@ida.liu.se Institutionen för datavetenskap, Linköpings universitet 2009-08-09

Prova på-laboration i PHP Johan Sjöholm johsj@ida.liu.se Institutionen för datavetenskap, Linköpings universitet 2009-08-09 Prova på-laboration i PHP Johan Sjöholm johsj@ida.liu.se Institutionen för datavetenskap, Linköpings universitet 2009-08-09 1. Introduktion till webbprogrammering Webbprogrammering består av ett antal

Läs mer

Förvaltningsgemensam specifikation för leverans av enstaka publikationer till Kungliga biblioteket (FGS-PUBL)

Förvaltningsgemensam specifikation för leverans av enstaka publikationer till Kungliga biblioteket (FGS-PUBL) Datum: 2016-02-17 Version 1.2 Förvaltningsgemensam specifikation för leverans av enstaka publikationer till Kungliga biblioteket (FGS-PUBL) Referens till det här dokumentet: http://www.kb.se/namespace/digark/deliveryspecification/deposit/fgs-publ/

Läs mer

Föreläsning 3.1: Datastrukturer, en översikt

Föreläsning 3.1: Datastrukturer, en översikt Föreläsning.: Datastrukturer, en översikt Hittills har vi i kursen lagt mycket fokus på algoritmiskt tänkande. Vi har inte egentligen ägna så mycket uppmärksamhet åt det andra som datorprogram också består,

Läs mer

WD406F - Interaktiva medier I 7,5hp Moment: Web Usability Inlämningsuppgift 1ab. Wynona Ekesrydh 2010-12-13

WD406F - Interaktiva medier I 7,5hp Moment: Web Usability Inlämningsuppgift 1ab. Wynona Ekesrydh 2010-12-13 Här följer min reflektion över innehållet i Jonathan Lazars bok Web Usability, kapitel 1 2, 6 7. Webbanvändbarhet För att infrastrukturen ska fungera behövs system som på ett enkelt och effektivt sätt

Läs mer

Prioriterade standarder, Handledning, Vägledning, Utbildning Mats Åhlin

Prioriterade standarder, Handledning, Vägledning, Utbildning Mats Åhlin Prioriterade standarder, Handledning, Vägledning, Utbildning Mats Åhlin 2018-05-03 TK 323 Geodata Vad gör vi? ISO CEN SIS SS-EN ISO 6709 Standard representation of geographic point location by coordinates

Läs mer

ÖrebroCupen. Institutionen för Ekonomi, Statistik och Informatik, ESI Informatik, Klientprogrammering för webbsystem, 5 poäng

ÖrebroCupen. Institutionen för Ekonomi, Statistik och Informatik, ESI Informatik, Klientprogrammering för webbsystem, 5 poäng Institutionen för Ekonomi, Statistik och Informatik, ESI Informatik, Klientprogrammering för webbsystem, 5 poäng Examinationsuppgift VT 2005 Ver 1.2 ÖrebroCupen Mathias Borg, mathias.borg@esi.oru.se Benny

Läs mer

Grafisk visualisering av en spårbarhetslösning

Grafisk visualisering av en spårbarhetslösning Datavetenskap Opponenter Johan Kärnell och Linnea Hjalmarsson Respondenter Agni Rizk och Tobias Eriksson Grafisk visualisering av en spårbarhetslösning Oppositionsrapport, C-nivå Report 2011:06 1. Generell

Läs mer

Labbrapport: HTML och CSS

Labbrapport: HTML och CSS Labbrapport: HTML och CSS Utförd av: Natalie Olmosse Mailadress: natalie.olmosse@gmail.com Datum: 2015 12 18 Kursansvarig: Karin Fahlquist Övriga lärare: Ulrik Söderström Första inlämningen Resultat (Godkänd/Retur):

Läs mer

Informationsmodellering och e-infrastrukturer

Informationsmodellering och e-infrastrukturer Informationsmodellering och e-infrastrukturer Semiotik Sign = Tecken Semiotik = Teckenlära Tecken är representationer Tecken är intentionella Tecken förmedlar information Figure 3.1: Levels of semiotics

Läs mer

Programmeringsteknik med C och Matlab

Programmeringsteknik med C och Matlab Programmeringsteknik med C och Matlab Kapitel 2: C-programmeringens grunder Henrik Björklund Umeå universitet Björklund (UmU) Programmeringsteknik 1 / 32 Mer organisatoriskt Imorgon: Datorintro i lab Logga

Läs mer

Vem är vem på kursen. Objektorienterad programvaruutveckling GU (DIT011) Kursbok Cay Horstmann: Big Java 3rd edition.

Vem är vem på kursen. Objektorienterad programvaruutveckling GU (DIT011) Kursbok Cay Horstmann: Big Java 3rd edition. Institutionen för Datavetenskap Göteborgs universitet HT2009 DIT011 Vem är vem på kursen Objektorienterad programvaruutveckling GU (DIT011) Kursansvarig : Katarina Blom, tel 772 10 60 Rum: 6126 (E-huset)

Läs mer

Introduktion Schenker-BTL AB, Stab IT Beskrivning över informationsintegreringmed Schenker, metodbeskrivning version 1.

Introduktion Schenker-BTL AB, Stab IT Beskrivning över informationsintegreringmed Schenker, metodbeskrivning version 1. Schenker har interna system som handhar information som är av intresse för våra kunder/partners. Idag finns ett flertal av dem tillgängliga via Internet, sk Online-tjänster. Dessa erbjuder inte bara hämtning

Läs mer

Webbteknik. Innehåll. Historisk återblick Teknisk beskrivning Märkspråk Standardisering Trender. En kort introduktion

Webbteknik. Innehåll. Historisk återblick Teknisk beskrivning Märkspråk Standardisering Trender. En kort introduktion Webbteknik En kort introduktion Innehåll Historisk återblick Teknisk beskrivning Märkspråk Standardisering Trender 1 Historisk återblick 89 CERN Tim Berners Lee Ett plattformsoberoende sätt att sprida

Läs mer

Introduk+on +ll programmering i JavaScript

Introduk+on +ll programmering i JavaScript Föreläsning i webbdesign Introduk+on +ll programmering i JavaScript Rune Körnefors Medieteknik 1 2012 Rune Körnefors rune.kornefors@lnu.se Språk Naturliga språk Mänsklig kommunika+on T.ex. Svenska, engelska,

Läs mer

ANVÄNDARMANUAL. handdatorer i ängs- och betesmarksinventeringen. för

ANVÄNDARMANUAL. handdatorer i ängs- och betesmarksinventeringen. för ANVÄNDARMANUAL handdatorer i ängs- och betesmarksinventeringen för Ändringshantering Ansvarig för dokumentet: Maria Hall Diemer Datum Ändring Ansvarig 2010-05-11 Dokumentet skapades (version 1.0.0) Edward

Läs mer

Tentamen OOP 2015-03-14

Tentamen OOP 2015-03-14 Tentamen OOP 2015-03-14 Anvisningar Fråga 1 och 2 besvaras på det särskilt utdelade formuläret. Du får gärna skriva på bägge sidorna av svarsbladen, men påbörja varje uppgift på ett nytt blad. Vid inlämning

Läs mer

Föreläsning 4: Poster

Föreläsning 4: Poster Föreläsning 4: Poster Följande är genomgånget: type Person_Type is Namn : String(30); Skonr : Float; Kon : Boolean; Diskussion runt detta med olika typer m.m. Har tagit upp vilka operationer man kan göra

Läs mer

SMD 134 Objektorienterad programmering

SMD 134 Objektorienterad programmering SMD 134 Objektorienterad programmering Dagens agenda: Typer i Java: primitiva datatyperna, referenstyper Variabler och variabeltilldelningar med primitiva typer Konstanter av de olika typerna. Heltalsräkning

Läs mer

Dagens föreläsning. Repetition. Repetition - Programmering i C. Repetition - Vad C består av. Repetition Ett första C-program

Dagens föreläsning. Repetition. Repetition - Programmering i C. Repetition - Vad C består av. Repetition Ett första C-program Dagens föreläsning Programmeringsteknik för Ingenjörer VT05 Föreläsning 3-4 Repetition Datatyper Uttryck Operatorer Satser Algoritmer Programmeringsteknik VT05 2 Repetition Repetition - Programmering i

Läs mer

Major Release 3.1. Vad innebär Major Release 3.1 för svenska användare?

Major Release 3.1. Vad innebär Major Release 3.1 för svenska användare? Major Release 3.1 Vad innebär Major Release 3.1 för svenska användare? Agenda Vad förändras och vad innebär det? Förändringarna i detalj Dokumentation Sammanfattning Vad förändras och vad innebär det?

Läs mer

ANVÄNDARMANUAL. handdatorer i ängs- och betesmarksinventeringen. för

ANVÄNDARMANUAL. handdatorer i ängs- och betesmarksinventeringen. för ANVÄNDARMANUAL handdatorer i ängs- och betesmarksinventeringen för Ändringshantering Ansvarig för dokumentet: Maria Hall Diemer Datum Ändring Ansvarig 2010-05-11 Dokumentet skapades (version 1.0.0) Edward

Läs mer

extensible Markup Language

extensible Markup Language Datavetenskap Opponenter: Björn Olsson Andreas Svensson Respondenter: Sanaa Al-abuhalje Afrah Al-abuhalje XML extensible Markup Language Oppositionsrapport, C-nivå 2007:06 1 Sammanfattat omdöme av examensarbetet

Läs mer

Översikt. Installation av EasyPHP 1. Ladda ner från http://www.easyphp.org/ Jag använder Release 5.3.4.0 2. Installera EasyPHP.

Översikt. Installation av EasyPHP 1. Ladda ner från http://www.easyphp.org/ Jag använder Release 5.3.4.0 2. Installera EasyPHP. Laboration 1 Översikt 1. Att komma igång med laborationsmiljön a. installera Aptana Studio 3 b. Installera EasyPHP 2. Testa lite programmering a. Testa enkla uppgifter b. Testa automatiskt 3. Skapa inloggningsformulär

Läs mer

Grundläggande programmering med C# 7,5 högskolepoäng

Grundläggande programmering med C# 7,5 högskolepoäng Grundläggande programmering med C# 7,5 högskolepoäng Provmoment: TEN1 Ladokkod: NGC011 Tentamen ges för: Omtentamen DE13, IMIT13 och SYST13 samt öppen för alla (Ifylles av student) (Ifylles av student)

Läs mer

Det finns en referensbok (Java) hos tentavakten som du får gå fram och läsa men inte ta tillbaka till bänken.

Det finns en referensbok (Java) hos tentavakten som du får gå fram och läsa men inte ta tillbaka till bänken. Tentamen Programmeringsteknik I 2014-10-17 Skrivtid: 0800-1300 Hjälpmedel: Java-bok Tänk på följande Det finns en referensbok (Java) hos tentavakten som du får gå fram och läsa men inte ta tillbaka till

Läs mer

Användarmanual HOIF.org

Användarmanual HOIF.org Användarmanual HOIF.org HOIF.org 2013-05-21 37 sidor Användarmanual för HOIF.org Introduktion Det här är en manual till alla användare på hemsidan HOIF.org Hur får jag ett användarkonto? För att kunna

Läs mer

L0009B. Moment. Introduktion till geografiska databaser: G:\L0009B\Allmänt\IntroGeoDB.pdf (F)

L0009B. Moment. Introduktion till geografiska databaser: G:\L0009B\Allmänt\IntroGeoDB.pdf (F) L0009B Moment FL 1: Kursintroduktion. Kursinformation: G:\L0009B\Allmänt\KursInformationL0009B.pdf (F) Kursplan: Se https://portal.student.ltu.se/stuka/kurs.php?kurs=l0009b&lang=swe (F) Allt som markerats

Läs mer

Dataproduktspecifikation Projektionszoner Sweref 99 Trafikverket. Version 5.0

Dataproduktspecifikation Projektionszoner Sweref 99 Trafikverket. Version 5.0 Dataproduktspecifikation Projektionszoner Sweref 99 Trafikverket Version 5.0 Ändringsförteckning Fastställd version Dokumentdatum Ändring 4.0 2016-01-07 Version 4.0 är den första versionen av dokumentet

Läs mer

Textbearbetning i skalet och man-sidor

Textbearbetning i skalet och man-sidor Kapitel 5 Textbearbetning i skalet och man-sidor Vi har redan använt skalkommandon för att göra saker textfiler. Här kommer gomgång av sådana kommandon som vi redan använt, några nya varianter, samt ett

Läs mer

Geografisk Indelning Direkt v teknisk beskrivning

Geografisk Indelning Direkt v teknisk beskrivning Geografisk Indelning Direkt v2.0.0 - teknisk beskrivning Dokumentversion 1.0 Gränssnittsdefinition Åtkomstpunkt Verifiering Produktion https://servicesver.lantmateriet.se/distribution/produkter/geografiskindelning/v2

Läs mer

Geografisk information Representation av förändringar i datamängder

Geografisk information Representation av förändringar i datamängder SVENSK STANDARD Fastställd 2006-03-08 Utgåva 1 Geografisk information Representation av förändringar i datamängder Geographic information Representation of changes in datasets ICS: 35.020.00; 35.240.01;

Läs mer

XML. Extensible Markup Language

XML. Extensible Markup Language XML Extensible Markup Language XML - 1969 Generalized Markup Language (GML) 1979-85 Standard Generalized Markup Language (SGML) 1990 HyperText Markup Language (HTML) 1996-98 Extensible Markup Language

Läs mer

- - - W e b d e s i g n s k o l a n - - - B i l d e r

- - - W e b d e s i g n s k o l a n - - - B i l d e r skriv ut» B i l d e r Att använda bilder kan vara ett sätt att lyfta fram ett skrivet budskap eller helt enkelt för att göra webplatsen mer attraktiv och lättnavigerad. Bilder skapar du själv i ett bildbehandlingsprogram

Läs mer

RIV TA Domänschema 2.1

RIV TA Domänschema 2.1 RIV TA Domänschema 2.1 RIV Tekniska Anvisningar CeHis Arkitekturledning Sida: 1 (8) RIV TA Domänschema 2.1 RIV Tekniska Anvisningar 2012-01-03 RIV TA Domänschema 2.1 RIV Tekniska Anvisningar CeHis Arkitekturledning

Läs mer

KUNDREGISTER Sid 2(7) Teknisk specifikation

KUNDREGISTER Sid 2(7) Teknisk specifikation KUNDREGISTER Sid 1(7) Kundregister Innehållsförteckning 1 Allmänt...2 1.1 Inledning...2 1.2 Disposition...2 1.3 Ordlista...2 1.4 Referenser...2 2 Systemöversikt...3 3 Systemlösning...4 3.1 Kundregisterfiler...4

Läs mer

Tillgänglighetskrav på teknik Dessa krav baseras på WCAG 2.0, http://www.w3.org/tr/wcag20/

Tillgänglighetskrav på teknik Dessa krav baseras på WCAG 2.0, http://www.w3.org/tr/wcag20/ Tillgänglighetskrav på teknik Dessa krav baseras på WCAG 2.0, http://www.w3.org/tr/wcag20/ UPPDRAGSGIVARE: Malmö stad VÅR REFERENS: Andreas Cederbom 08-555 770 64 andreas.cederbom@funkanu.se DATUM: 2009-04-03

Läs mer

Objektorienterad programmering D2

Objektorienterad programmering D2 Objektorienterad programmering D2 Laboration nr 2. Syfte Att få förståelse för de grundläggande objektorienterade begreppen. Redovisning Källkoden för uppgifterna skall skickas in via Fire. För senaste

Läs mer

Delrapport DP3. FGS för paketstruktur för e-arkiv Bilaga 1 METS

Delrapport DP3. FGS för paketstruktur för e-arkiv Bilaga 1 METS Delrapport DP3 FGS för paketstruktur för e-arkiv Bilaga 1 METS Karin Bredenberg & Mats Berggren IT/SoU 010-476 71 23 2013-01-14 2.0 1(9) INNEHÅLLSFÖRTECKNING 1. BILAGA 1: METS...3 1.1 INTRODUKTION...3

Läs mer

Laborationer i kursmomentet Datoranvändning E1. Laboration nr 5: Mer om FrameMaker

Laborationer i kursmomentet Datoranvändning E1. Laboration nr 5: Mer om FrameMaker Sid 1 Laborationer i kursmomentet Datoranvändning E1 http://www.etek.chalmers.se/~hallgren/eda/ : Mer om FrameMaker 1996, 1997 Magnus Bondesson 1998 och 99-09-22 Thomas Hallgren 1 Introduktion I Laboration

Läs mer

ALEPH ver. 18 ALEPH Digital Asset Module (ADAM)

ALEPH ver. 18 ALEPH Digital Asset Module (ADAM) ALEPH ver. 18 ALEPH Digital Asset Module (ADAM) Fujitsu, Westmansgatan 47, 582 16 Linköping Innehållsförteckning 1. INLEDNING...1 2. SKAPA NYA OBJEKT...1 3. OBJEKTLISTA...2 4. FORMULÄR...3 4.1 Objektinformation...3

Läs mer

Services + REST och OAuth

Services + REST och OAuth Services + REST och OAuth Syftet med Services Skapa ett Drupal API för att exponera webb- API:er. Officiella versionen - Create a unified Drupal API for web services to be exposed in a variety of different

Läs mer

Inspektion Användarmanuel

Inspektion Användarmanuel Onix AS Version 1.0.5.0 16.12.2014 2014 Inspektion Användarmanuel Denna applikation kan du enkelt kontrollera utrustningar i Utrustningsportalen. 0 S i d a INNEHÅLLSFÖRTECKNING Sida INLEDNING... 3 STARTA

Läs mer

Övningar Dag 2 En första klass

Övningar Dag 2 En första klass Kurs i C++ Sid 1 (5) Övningar Dag 2 En första klass Denna övning går ut på att steg för steg bygga upp en klass och skapa objekt. Vi kommer att utgå från en sammansatt datatyp i en struct och parallellt

Läs mer

Kapitel 15: Data/Matrix Editor

Kapitel 15: Data/Matrix Editor Kapitel 15: Data/Matrix Editor 15 Översikt över Data/Matrix Editor... 226 Översikt över list-, data- och matrisvariabler... 227 Starta en Data/Matrix Editor-session... 229 Mata in och visa cellvärden...

Läs mer

Beijer Electronics AB 2000, MA00336A, 2000-12

Beijer Electronics AB 2000, MA00336A, 2000-12 Demonstration driver English Svenska Beijer Electronics AB 2000, MA00336A, 2000-12 Beijer Electronics AB reserves the right to change information in this manual without prior notice. All examples in this

Läs mer

Kravspecifikation. Hantering av systemdokument

Kravspecifikation. Hantering av systemdokument Kravspecifikation Hantering av systemdokument Av: Ingegerd Gustavsson & Dokumentnr: P0 Utgåva: 2 Datum: 01-05-18 Tillgänglighet: Fri spridning Kravspecifikation Sida 1 (12) Dokumenthistoria Utgåva Beskrivning

Läs mer

Instruktion för sökning i Tabellverket på nätet. Startsida

Instruktion för sökning i Tabellverket på nätet. Startsida Instruktion för sökning i Tabellverket på nätet Denna kortfattade instruktion hjälper dig att navigera i söksystemet och att göra sökningar på rätt sätt. Startsida Först kommer du till söksystemets startsida

Läs mer

TJÄNSTEBESKRIVNING FASAD Tjänstebaserad direktåtkomst Adress

TJÄNSTEBESKRIVNING FASAD Tjänstebaserad direktåtkomst Adress 2015-11-27 TJÄNSTEBESKRIVNING FASAD Tjänstebaserad direktåtkomst Adress Extern dokumentation - fasadsystemet Dokumentation Tjänstebaserad uppdatering: Startsida Informationsutbytesmodeller (IUM): http://www.lantmateriet.se/global/qualiware/specifikation-gdl/index.htm

Läs mer

Manual för version V2

Manual för version V2 Innehållsförteckning 1. Om 2. Installera Administration 3. Programmets skrivbord 4. Lägga upp din första kund 5. Kontaktpersoner 6. Besiktningsadresser 7. Kontrollpunkter/Besiktningspunkter 8. Koppla kontrollpunkter/besiktningspunkter

Läs mer

Namn: (Ifylles av student) Personnummer: Tentamensdatum: 2013-03-25 Tid: 14.00 19.00. Hjälpmedel: Inga hjälpmedel

Namn: (Ifylles av student) Personnummer: Tentamensdatum: 2013-03-25 Tid: 14.00 19.00. Hjälpmedel: Inga hjälpmedel Webbprogrammering Provmoment: Ladokkod: Tentamen ges för: Tentamen NWP011 Systemarkitektprogrammet 7,5 högskolepoäng Namn: (Ifylles av student) Personnummer: (Ifylles av student) Tentamensdatum: 2013-03-25

Läs mer

Tips & tricks för redigering

Tips & tricks för redigering Tips & tricks för redigering Det har kommit flera nyheter och förbättringar i redigeringsmiljön och användargränssnittet för version 10.0. Den första stora skillnaden som märks är att redigeringsverktygsfältet

Läs mer

Administrationsverktyg för marinvåg

Administrationsverktyg för marinvåg Computer Science Opponent(s): Ewelina Helmersson & Mollin Widegren Respondent(s): Christer Oscarsson & Jonas Larsson Administrationsverktyg för marinvåg Opposition Report, C-level 2010:VT 1 En generell

Läs mer

Standarder för geodata

Standarder för geodata Standarder för geodata. SIS, Swedish Standards Institute utarbetar tillsammans med företag, organisationer och myndigheter, svenska och deltar i internationell standardisering. Inom området geodata är

Läs mer

Verksamhetsplan för SIS/TK 466 Belägenhetsadresser

Verksamhetsplan för SIS/TK 466 Belägenhetsadresser VERKSAMHETSPLAN 1(9) Verksamhetsplan för SIS/TK 466 Belägenhetsadresser kommun kommundel gatuadressområde metertalsadressområde byadressområde gatuadressplats metertalsadressplats gårdsadressområde byadressplats

Läs mer

TDIU01 - Programmering i C++, grundkurs

TDIU01 - Programmering i C++, grundkurs TDIU01 - Programmering i C++, grundkurs Sammanfattning period 1 Eric Elfving Institutionen för datavetenskap 1 oktober 2013 Översikt Ett C++-programs uppbyggnad Variabler Datatyper Satser Uttryck Funktioner

Läs mer

ITK:P2 F1. Hemsidor med HTML HTML. FTP, HTTP, HTML, XML och XHTML

ITK:P2 F1. Hemsidor med HTML HTML. FTP, HTTP, HTML, XML och XHTML ITK:P2 F1 FTP, HTTP, HTML, XML och XHTML DSV Peter Mozelius 1 Hemsidor med HTML Hur många av er har provat på att bygga en egen hemsida med HTML eller XHTML? För hand eller med hjälpverktyg? Har ni lagt

Läs mer

Bilaga 3. En redogörelse kring metadata och XML. Status Slutlig. Sid 1 (7) Dokumenttyp. Versionsdatum

Bilaga 3. En redogörelse kring metadata och XML. Status Slutlig. Sid 1 (7) Dokumenttyp. Versionsdatum XML 1 (7) XML Bilaga 3 XML 2 (7) Innehållsförteckning 1. BAKGRUND... 3 2. OM METADATA... 3 3. INFORMATIONSPAKET... 3 3.1 PAPPER LÄGGS I ARKIVBOXAR... 4 3.2 INFORMATIONSPAKET I XML FÖR ELEKTRONISKA HANDLINGAR...

Läs mer

Uppmärkningsspråk. TDP007 Konstruktion av datorspråk Föreläsning 4. Peter Dalenius Institutionen för datavetenskap

Uppmärkningsspråk. TDP007 Konstruktion av datorspråk Föreläsning 4. Peter Dalenius Institutionen för datavetenskap Uppmärkningsspråk TDP007 Konstruktion av datorspråk Föreläsning 4 Peter Dalenius Institutionen för datavetenskap 2015-02-03 Från förra gången XML-dokument specificeras med t.ex. en DTD Två olika sätt att

Läs mer

Föreläsning 6: Introduktion av listor

Föreläsning 6: Introduktion av listor Föreläsning 6: Introduktion av listor Med hjälp av pekare kan man bygga upp datastrukturer på olika sätt. Bland annat kan man bygga upp listor bestående av någon typ av data. Begreppet lista bör förklaras.

Läs mer

Systembeskrivning.

Systembeskrivning. KTH Institutionen för Numerisk Analys och Datalogi Systembeskrivning RedInc www.nada.kth.se/projects/prom03/redinc Uppdragsgivare: Projektmedlemmar: Harald Kjellin Daniel Oscarsson Rikard Laxhammar Tommy

Läs mer

Quick Guide till Mahara och din Portfolio

Quick Guide till Mahara och din Portfolio Quick Guide till Mahara och din Portfolio 2012-05-20 A. Arstam Sida 1 Quick Guide till Mahara och din Portfolio Syftet med portfolion är att Du genom reflektion och självutvärdering ska få insikt i ditt

Läs mer

Databasens består av: Tabell Kolumner fält Rader poster (varje post är unik)

Databasens består av: Tabell Kolumner fält Rader poster (varje post är unik) Databasföreläsning Databasens består av: Tabell Kolumner fält Rader poster (varje post är unik) Tabeller Personer Databas Nummer Namn Födelseår 1 Tina 1950 2 Siv 1965 3 Olle 1980 Platt databas: all information

Läs mer

SVENSK STANDARD SS-EN ISO 19108:2005/AC:2015

SVENSK STANDARD SS-EN ISO 19108:2005/AC:2015 SVENSK STANDARD SS-EN ISO 19108:2005/AC:2015 Fastställd/Approved: 2015-07-23 Publicerad/Published: 2016-05-24 Utgåva/Edition: 1 Språk/Language: engelska/english ICS: 35.240.70 Geografisk information Modell

Läs mer

Anvisningar för ifyllning av Excelark för databaser (sekventiella textfiler)

Anvisningar för ifyllning av Excelark för databaser (sekventiella textfiler) 2009-10-09 (reviderad 2011-01-04, 2011-01-31, 2011-10-03, 2012-02-20, 2012-09-17, 2014-05-09) Riksarkivet Anvisningar för ifyllning av Excelark för databaser (sekventiella textfiler) 1 Anvisningar för

Läs mer

JHS 193 Unik identifierare för geografisk information Bilaga 1. Process för att bilda URI

JHS 193 Unik identifierare för geografisk information Bilaga 1. Process för att bilda URI JHS 193 Unik identifierare för geografisk information Bilaga 1. Process för att bilda URI Version: 1.0 Publicerad: 2.9.2015 Giltighetstid: tills vidare Innehåll 1 Inledning...1 2 Skapande av lokal identifierare

Läs mer

Dokumentschema förpackning av externa objekt. Version: 1.0 Status: Standard Datum: 2006-05-15

Dokumentschema förpackning av externa objekt. Version: 1.0 Status: Standard Datum: 2006-05-15 Dokumentschema förpackning av externa objekt Version: 1.0 Status: Standard Datum: 2006-05-15 Externa objekt 2 Dokumentschema förpackning av externa objekt... 1 1. Förpackning av externa objekt... 3 1.1.

Läs mer

Objektsamlingar i Java

Objektsamlingar i Java 1 (6) Objektsamlingar i Java Objektorienterad programmering 3 Syfte Att ge träning i att använda objektsamlingar i Java. Mål Efter övningen skall du kunna använda objektsamlingsklasserna ArrayList och

Läs mer

Tentamen för kursen Objektorienterad programvaruutveckling GU (DIT010)

Tentamen för kursen Objektorienterad programvaruutveckling GU (DIT010) Tentamen för kursen Objektorienterad programvaruutveckling GU (DIT010) Tid: Onsdagen 15 december 2004, 8:30 till 13:30 Plats: M Ansvarig lärare: Katarina Blom, tel 772 10 60. Läraren besöker tentamen kl

Läs mer