Teknisk beskrivning av NGP

För att kunna hämta och ladda upp data till/från NGP används olika API:er.

Processkarta.
Hur du som konsument eller producent hittar eller publicerar data från geodatakatalogen. Klicka på bilden för att förstora den.

Om geodatakatalogen

Den tekniska delen av NGP kallas för Geodatakatalogen. Denna består utav fem API:er.

Du som konsument kommer i kontakt med följande API:er:

  • Geodatakatalog Sökning
  • Geodatakatalog Nedladdning
  • Geodatakatalog Visning

Du som producent kommer i stället i kontakt med följande API:er:

  • Geodatakatalog Uppladdning
  • Geodatakatalog Uppdatering

Geodatakatalog Sökning

Data som tillgängliggörs i NGP blir sökbara genom Geodatakatalog Sökning. Detta är ett API som följer STAC samt OGC API for Features (OAPIF). Vilka anrop som kan göras, och vilka möjligheter det finns att söka, beskrivs i API-beskrivningen för varje datamängd.

Observera att den data som erhålls efter en sökning kan vara en delmängd av den fullständiga informationen. Om så är fallet så behöver du använda Geodatakatalog Nedladdning för att få tillgång till den fullständiga informationen.

Geodatakatalog STAC Vektor

Geodatakatalog STAC Vektor används för att, genom datamängders metadata, hitta datamängder att ladda ned. Den liknar Geodatakatalog Sökning genom att huvudsyftet är att söka, men i regel sker inte sökning på objektnivå utan på datamängdsnivå. Till exempel att söka efter en datamängd som innehåller kommunindelningen så som den såg ut vid ett specifikt år.

Det är också möjligt, genom API-anropen, att hitta alla datamängder som är av en specifik typ. Till exempel att få en lista över datamängder som innehåller historiska kommunindelningar.

Vilka datamängder som kan laddas ned framgår av datamängdens sida.

Geodatakatalog Nedladdning

Geodatakatalog Nedladdning är en REST-tjänst för att ladda ned data. Nedladdning sker objekt för objekt, och nedladdningslänken erhålls genom att först göra en sökning med Geodatakatalog Sökning.

Geodatakatalog Direktåtkomst

Geodatakatalog Direktåtkomst ger tillgång till data direkt, utan att du behöver ladda ned data. API:et följer standarden OGC API for Features (OAPIF).

Geodatakatalog Visning

Geodatakatalog Visning är en WMS-tjänst som ger tillgång till informationen i form av kartor och bilder. Det går alltså att titta på informationen (i en programvara som kan anropa en WMS-tjänst), men inte interagera med den.

Geodatakatalog Visning kombineras med fördel med Geodatakatalog Sökning för att göra det möjligt att utveckla applikationer som både kan visualisera informationen i en karta, samt presentera enskilda objekts egenskaper.

Visningstjänster finns endast för vissa datamängder. Huruvida det finns en visningstjänst för en datamängd framkommer på datamängdens sida.

Om WMS-tjänster på OGC:s webbplats (på engelska, nytt fönster)

Geodatakatalog Uppladdning

Geodatakatalog Uppladdning används för att ladda upp filer (och ersätta gamla) som kompletterar enskilda objekt i en datamängd. Dessa filer kallas ibland för ”assets”, eller ”tilläggsinformation”.

När filer laddas upp så erhåller de en unik identifierare som ska infogas på rätt plats i domänobjektet. Var identifieraren ska finnas framgår av informationsutbytesmodellen för varje enskild datamängd.

Om en fil har laddats upp, men det inte finns något domänobjekt som hänvisar till filen, så kan filen komma att raderas.

Om hur du tekniskt tillgängliggör data

Geodatakatalog Uppdatering

Geodatakatalog Uppdatering används för att ladda upp (och uppdatera) de enskilda objekten i en datamängd.

Om hur du tekniskt tillgängliggör data

Domänobjekt och referensobjekt

I sammanhanget NGP så används begreppen domänobjekt och referensobjekt. Det finns en distinkt skillnad mellan dessa. Domänobjektet är det objekt som producenten laddar upp och kan alltså ses som originalet. Referensobjektet å andra sidan är det objekt som Lantmäteriet skapar utifrån domänobjektet, i syfte att indexera och göra informationen sökbar. Det här innebär att referensobjektet inte alltid innehåller den fullständiga datamängden.

Referensobjektet är det objekt som du får tillgång till när du använder dig av Geodatakataog Sökning. Domänobjektet får du tillgång till när du använder Geodatakatalog Nedladdning.

Tillämpning av GeoJSON

Mediatyp

Varje modellversion har en egen mediatyp som ska anges när domänobjektet laddas upp i Geodatakatalog Uppdatering. Mediatypen återfinns i länken till domänobjektet i Geodatakatalog Sökning och i Content-Type-headern från Geodatakatalog Nedladdning, så att klienter vet hur de ska läsa filen på rätt sätt.

Objekt och underobjekt

Vissa informationsområden har flera sorters domänobjekt. De är i så fall arrangerade i en hierarki, med ett huvudobjekt och ett antal underobjekt. I informationsmängden detaljplan finns till exempel huvudobjektet ”detaljplan” och underobjektet ”planbestämmelse”, där en instans av en detaljplan kan ha flera bestämmelser.

Alla objekt som hör till samma hierarki ska ligga ihop i samma fil - en fil per objektträd. Roten i filen är en GeoJSON Feature Collection, där varje ingående objekt är en Feature. En uppdatering av ett objekt betyder alltså att hela filen måste uppdateras.

På varje Feature bör attributet ”id” sättas. Om attributet är satt så ska värdet vara objektidentiteten. Om Featuren har en geometri bör även attributet ”bbox” sättas.

Geometri

I domänobjekten används GeoJSON för att beskriva en företeelses utbredning. Formatet har dock ett antal begränsningar och egenheter som plattformen har regler för.

Geometrier i plattformen har metadata knutet till sig i en geometrimodell där själva geometrin sätts i attributet ”position”. I en GeoJSON Feature förespråkas i stället att geometrin sätts i attributet ”geometry” i roten på objektet. En Feature kan dock bara ha en (1) geometri, vilket är ett problem för vissa informationsmängder.

Plattformen använder därför dessa regler för att placera geometrin:

  • Om företeelsen bara kan ha en geometri ska ”geometry” användas och ”position” ska inte sättas.
  • Om företeelsen kan ha flera geometrier ska ”geometry” sättas till null och ”position” användas i stället.

Även om en viss instans endast har en geometri ska ”position” användas om modellen tillåter flera geometrier. I detta fall tvingas ”geometry” till null i JSON-schemat.

GeoJSON tillåter normalt endast referenssystemet WGS 84. I ett tidigare utkast av standarden kunde attributet ”crs” sättas i en geometri eller Feature för att ange ett annat referenssystem. Detta används dock INTE av plattformen. I stället anges referenssystemet i attributet ”koordinatsystemPlan” (och ”hojdsystem”) i plattformens geometrimodell.

Geometrimodellen tillåter geometrityperna kropp och multikropp även om GeoJSON inte gör det. En kropp implementeras med en MultiPolygon, där varje yta är en av kroppens sidor. Alla ytor tillsammans måste forma en sluten kropp. En multikropp implementeras med en GeometryCollection, där varje ingående geometri är en kropp i form av en MultiPolyon.