SOSI-dotformatet må dø!

I etterkant av foredraget mitt om standarder på FOSS4Gno dreide diskusjonen seg om min påstand om at “SOSI-dotformatet må dø”. Jeg tenkte jeg skulle utdype argumentene som ble “kastet mot meg”, samt gå litt mer i dybden på hvorfor jeg synes det burde avgå ved døden.

Først vil jeg gjennomgå hva vi snakker om her, slik at vi tenker på det samme. SOSI (Samordnet Opplegg for Stedfestet Informasjon) er både en “informasjonsstandard” og et dataformat. Informasjonsstandarden SOSI er noe andre land misunner kart-Norge, all den tid alle kartaktører har en felles måte å beskrive geografisk informasjon med atributter på. Jeg er på ingen måte noen kjenner av SOSI som en informasjonsstandard, men jeg er helt enig med de aller fleste her: det er et gode. SOSI er bra!

Dog, og her kommer poenget jeg også gjorde i foredraget mitt, dataformatet SOSI realiseres i, det såkalte “dotformatet” (.sos) er en helt annen historie. Det er fullt mulig å bruke andre dataformater enn dotformatet til å bære SOSI-data, og det mener jeg absolutt er på overtid å få til.

Det jobbes med å gå over til XML som dataformat for SOSI, men om det er “bedre” eller “riktig” er ikke poenget mitt nå. Poenget mitt er at det eksisterende dotformatet, som sagt, må dø. Det lever på overtid.

Dette vakte jo endel reaksjoner, såpass at det ble påpekt at “å kødde med sosi er som å kødde med sodd, troll og 17.mai” . I hovedsak var argumentene disse (med forbehold om at jeg husker riktig. Jeg husker heller ikke hvem som kom med hvilke innvendinger):

1. “SOSI er et gode. Andre land misunner oss SOSI.”
– Som sagt, SOSI som informasjonsstandard har jeg ikke noen problemer med. Det er dataformatet jeg ikke liker. Ergo ikke et godt argument.

2. “Dotformatet har fungert godt i mange år (siden 1987 ifølge wikipedia) og fungerer godt i dag. Du er ung og uerfaren, når du blir eldre vil du ikke skjønne hvorfor de unge kritiserer GML eller GeoJSON eller hva det nå er du vil ha.”
– “If it ain’t broken, don’t fix it” har aldri tatt verden videre. Jeg mener at det har skjedd såppass mye i IT-verdenen siden jeg var 3 år (ja, jeg er 3 år eldre enn SOSI tydligvis) at det er på tide å oppdatere seg. Til påstanden om at jeg er for ung: jeg håper inderlig at neste generasjon ønsker å gå bort fra de formatene vi bruker i dag. De er på ingen måte perfekte, og jeg håper ikke teknologiutviklingen stopper i 2013.

3. “Er egentlig XML så mye bedre?”
– Jeg vet ikke. Kanskje ikke, men det i seg selv gjør ikke dotformatet bra.

4. “Du skal ikke trenge å lese SOSI manuelt. Syntaksen har ikke noe å si, det finnes programvare for å lese det”.
– “Menigmann” skal ikke trenge å lese SOSI-dotformat, ei heller skrive det. Som utvikler er jeg nødt til det. Bibliotekene som finnes er enten proprietære fra de store selskapene (og koster dermed penger) eller ganske hårete å ta i bruk (OGR må kompileres med FYBA). I tillegg er de eksisterende sosi-dotformat-bibliotekene knytett til gitte programmeringspråk, DLL-filer eller c-bindinger. Hva om jeg vil parse dotformat i nettleseren via JavaScript? På en Android-telefon?

Avslutningsvis vil jeg referere noen svar jeg fikk på Twitter på mitt spørsmål om hva folk synes om dotformatet:

“Generelt ganske forferdelig?!”
“SOSI er helt konge, og treprikksnivå er toppen :)”
“greit men sært.. funker til sitt bruk men ikke mer enn det..”

Dermed: Sosi-dotformatet er et gammelt, særnorsk, format uten støtte i de store programvarepakkene (ja, det finnes norske tillegg og tilpassninger, men ikke out-of-the-box). Det egner seg kanskje til internt bruk i systemer som ikke skal byttes ut, eller for de som har inngående kjennskap til fagfeltet. Derimot, når Kartverket slipper frie data over en lav sko og det første “Petter Smart”-typer som skal lage gode (åpne?) løsninger med disse dataene møter er valget mellom å betale ut av det hvite i øyet for en programpakke for å lese disse åpne dataene, eller må manuelt kompilere FYBA og gdal for å lese dataene kan man lure på hvem dataene er beregnet for.

Dermed er min bønn, sett fortgang i arbeidet med å fase ut dotformatet, tilby alltid alternative formater ved nedlasting av kartdata og innse at selv om du “snakker SOSI i søvne” og synes det er det beste som har skjedd kartnorge: Innse at hvis kartdata skal være noe mer enn en godt bevart hemmelighet menigheten har mulighet til å jobbe med må noe gjøres. Jeg vil tro mange heller laster ned OpenStreetMap-data, banker det inn i PostGIS med osm2pg enn å betale for FME med norske tillegg for å få tak i indrefileten (ja, jeg er klar over at Kartverket tilbyr GeoJSON i tillegg til dotformat, men la meg få være litt dramatisk her.). Forvent heller ikke å kunne spare lisenskostnader ved bruk av “fri programvare” om SOSI inn og ut av løsningen er et absolutt krav: det finnes nemmelig ingen gode løsninger her.

Sånn. Let the flamewar begin!

 

Se forresten også http://labs.kartverket.no/sos/ for en (litt mer teknisk?) gjennomgang av “problemet” med dotformatet.

6 thoughts on “SOSI-dotformatet må dø!

  1. Alexander Salveson Nossum

    Strålende post Atle! Sier meg hjertens enig i at .sos bør få avgå etter et langt og vellykket liv. Standarden er, som du også sier, blant verdens beste. GML-realisering er jo på gang, men det florerer noen rykter om at også der skal æøå tillates i attributtnavn.. Det støttes jo teoretisk men blir jo, i likhet med .sos, veldig tungvint for oss utviklere – for ikke snakke om utenlandske utviklere, hvis de noen gang skulle være interessert i norske kartdata.

    “If it ain’t broken – fix it” er nok et bra paradigme oss jyplinger bør leve etter for å vise at verden faktisk kan, og bør, bevege seg fremover uten at det nødvendigvis er krig, fred eller fungerende formater som er motivasjonen 🙂

  2. Thomas Hirsch

    Selv synes jeg jo at SOSI ligner veldig sånne hippe standarder som YAML[0] – et format som ble utviklet fordi ingen[tm] klarer å lese XML eller virkelig har behov for skjema. 😉 For alle de andre kommer det å bli SOSI/GML i den nærmere fremtiden.

    [0] http://yaml.org/

  3. Pål Julius Skogholt

    Men korleis går eg fram dersom eg faktisk vil bruke data frå kartverket til eit hobbyprosjekt i GRASS GIS eller noko slikt. Må innrømme at eg vart litt skuffa då eg oppdaga at data frå kartverket var ubrukeleg for oss vanlege folk

  4. André Berger

    Jeg er heller ikke overbegeistret for .sos. Jeg kan riktignok bruke Sosi2Shape for å få shapefiler, men det er ikke ideelt og virker ikke alltid. Så jeg skal prøve andre metoder nå. Takk for linken nederst i posten.

  5. Pingback: Norge Digitalt Teknologiforum | Hc Svnt Dracones

Leave a Reply

Your email address will not be published. Required fields are marked *