Gå til sidens indhold

Datafordeleren leverer grunddata til tiden

Datafordeleren er den nye platform, som leverer offentlige grunddata om adresser, bygninger og matrikler til den statslige forvaltning, kommunerne og de innovative private virksomheder. Men en ny platform er også en ny måde at arbejde på, når data skal spille sammen med opgaverne. Det kræver, at brugerne er parat til at omstille arbejdsgange og systemer.

Det er dejligt vejr i januar. Højt solskin og et metrotog i fuld fart på vej mod Ørestaden. Passagererne misser lysforskrækket med de vintertrætte øjne, mens de kan nyde udsigten ud over det flade Amager. Toget er netop skudt op fra den mørke tunnel og ruller videre på blanke skinner ind mod stationen ved Danmarks Radios blå bygning. Sydpå er der nyt byggeri langs det meste af horisonten. Det skal ældre københavnere vænne sig til at se på. Engang var der grønne områder, så langt øjet rakte.

Jeg er på vej til Ørestads Boulevard nummer 41 for at lave et interview. For at forsøde togturen har jeg musik fra min mobil i høretelefonerne. Bob Dylan synger om tiderne, der forandrer sig. Det lyder helt rigtigt, når jeg sidder i et metrotog på vej mod en helt ny bydel.

Toget ankommer til Bella Center metrostation. Jeg er en halv time for tidligt på den og har god tid til at kigge mig omkring i de nybyggede omgivelser langs Ørestads Boulevard. Jeg skal besøge den internationale rådgivningsvirksomhed Sweco, som holder til i en stor kantet bygning næsten ved siden af stationen. Bygningen dækker en matrikel, som indeholder husnumrene 41 og 43 på boulevarden. Jeg skal om på bygningens sydlige solside for at finde indgangen til nummer 41 og receptionen.

Jeg runder hjørnet og kan se ud over den næste matrikel. Det er en stor byggegrund, hvor to store gravemaskiner flytter jord og grus. Med en barnlig fascination af maskinerne finder jeg en god plads i solen for at kigge på, mens de kører og drejer med deres skovle. Den ene gravemaskine er i gang med at lave en midlertidig vej til lastbilerne, som skal bringe elementer til det kommende hus ind på grunden. Det kræver god forberedelse, når en stor byggegrund skal have materialer og mandskab til de forskellige faser af byggeriet.

Mens Dylan er gået elektrisk på guitaren i mine ører og synger om, at han aldrig mere vil arbejde på Maggies Farm, overvejer jeg, om der mon allerede er forberedt husnumre til den kommende bygning? Husnumre er nødvendige, når vi skal finde den rigtige indgang til bygningerne. Derfor kobler vi vejens navn med nummeret over døren til en indgang på en bygning. Tilsammen er det en adresse. Det er alt sammen en del af de grunddata, som hjælper myndigheder og virksomheder med at holde styr på, hvor og hvornår og hvordan de skal løse deres opgaver.

Allerede nu må arbejderne på byggepladsen vide, hvilken adresse de arbejder på. Selvom der endnu ikke står et hus på grunden, må adressen stå på sedlerne, som chaufførerne på lastbilerne kører efter, når de leverer materialer. Der må også ligge en byggesag med en adresse hos kommunen, som viser, hvad der er givet tilladelse til at bygge på grunden. Forsyningsselskaberne skal kende adressen, når de skal etablere forbindelser til elektricitet, renovation, vand og varme.

Sweco er en virksomhed, der er specialiseret i at rådgive arkitekter og ingeniører, som blandt andet arbejder med byplanlægning og byggesager. Det kræver masser af viden i form af data, som de ansatte hos Sweco henter og bearbejder. Datafordeleren er på vej til blive Swecos eneste og vigtigste kilde til grunddata om adresser og ejendomme.

Webbruger og tjenestebrugere

Der er rart i Swecos reception. Duften af velbrygget barista kaffe står fornemt op fra det papkrus, jeg holder i min hånd. Solen skinner ind gennem de store vinduer, og projektleder Flemming Nymann Larsen er allerede på vej for at byde mig velkommen. Jeg har sammen med kaffen fået et midlertidigt adgangskort, som Flemming viser mig, hvordan man scanner for komme igennem de hvide sluser og videre ind i bygningen. Jeg er nu registreret i Swecos maskineri.

Flemming har forberedt vores møde i et lille lokale med glasvægge ud mod byggegrunden og lyset fra solen. Der står en pc på bordet, som allerede er forbundet til den store skærm på den ene endevæg. Jeg tager min notatbog og en optager frem fra min taske. Jeg må godt optage vores samtale, så jeg kan citere Flemming korrekt.

Det er lidt over to år siden, at Flemming tog opgaven med at hente grunddata fra Datafordeleren på sig. Swecos oprindelige mission var at skaffe adgang til Datafordeleren, afklare de sikkerhedsmæssige ting og få hul igennem.

Flemming fortæller, at første skridt er at få den interne organisering på plads. Der er nogle organisatoriske ting i virksomheden, der skal være på plads, så man kan få adgang. Der skal blandt andet være en intern administrator i hvert projekt, som har ansvaret for den webbruger konto på Datafordeleren, hvor man opretter tjenestebrugere til at hente de forskellige typer af data fra tjenesterne.

Det er vigtigt at forstå, hvordan Datafordeleren fungerer med en webbruger konto, som administrerer og opretter tjenestebrugere. Det er via tjenestebrugerne, at man henter data fra langt de fleste tjenester. Der er kun få tjenester med data, som man kan hente helt anonymt bare med det rette kald. For eksempel husnumre fra Danmarks Adresseregister (DAR). Alle andre data på Datafordeleren kræver enten en tjenestebruger og adgangskode eller yderligere procedurer for at anmode om adgang, installere certifikater eller få godkendt virksomhedens IP adresse.

Webbruger

  • For at kunne logge på Selvbetjeningen skal du være oprettet som webbruger. Du anvender din webbruger til at oprette og administrere din organisations tjenestebrugere.

Tjenestebruger

  • For at kunne få adgang til de udstillede tjenester skal du logge på Selvbetjeningen med din webbruger og oprette en eller flere tjenestebrugere.

Læs mere om webbruger og tjenestebrugere på datafordeler.dk

Man skal også have forklaret dem, der skal hente og bruge data som tjenestebrugere i det daglige, hvad det drejer sig om. Det er måske ikke noget, de har gjort før. Hele den procedure er et lille projekt i sig selv. Man skal finde de personer, som skal have ansvaret for at hente data, og som kan gøre det.

I denne første proces var der ikke megen hjælp at hente i Datafordelerens dokumentation, som først er kommet bedre på plads senere.

Flemming har skrevet en guide til Sweco, hvoraf cirka halvdelen handler om det organisatoriske. Hvem skal man henvende sig til for at få det op at køre, og hvad man skal være opmærksom på. For eksempel at et certifikat i projekter til Swecos kunder skal være udstedt i kundens navn og ikke til Sweco, fordi det jo er kunden, som skal hente data, når de overtager den færdige løsning.

Opgaven med at få organiseret procedurerne blev løst, og Flemming fungerer nu som intern rådgiver i Sweco, når det gælder om at hente data fra Datafordeleren.

”Det var bøvlet, men sådan er det, når man er first mover,” siger Flemming og tager en velfortjent tår af sin kaffe. Jeg kigger ud af vinduet på den store byggegrund ved siden af. Der kunne være plads til to fodboldbaner ved siden af hinanden, hvis det ikke var, fordi der allerede er lagt planer, hvordan det kommende hus skal passe ind på Ørestads Boulevard i Københavns nye kvarter Ørestaden.

Lige nu arbejder en svejser på at tilpasse metallet, som skal stive siderne i hullerne til varmerør, hvor jorden stadig er løs. Det ser flot ud, når strålerne af ild flyver langt i luften over pladsen, som en slags små ekkoer af solen.

Adgang til ejendomsdata på Datafordeleren

Flemming har tændt den store skærm på væggen for at vise mig, hvordan han henter data fra Datafordeleren.

”Første skridt er organisation,” siger han. ”Andet skridt er at få adgang til data på Datafordeleren. Der skal vi have noget interface op og stå. Man skal ind og arbejde med JSON skemaerne, der ligger til download i Datafordelerens dokumentation. Jeg har lavet et program, som kan tage JSON ind og sprøjte et C# modul ud. Det vil sige datastrukturen i mundrette C# klasser. Hvis skemaerne er lavet ordentligt og rigtigt, og man ikke laver mærkelige ting, så sprøjter det bare ud. 56.000 linjers C# kode på alle registrene.”

Udviklere inden for it skriver programmer i kodesprog. JSON er et sprog, som mange udviklere bruger, når de skal hente eller sende data videre. JSON danner en struktur om data, som gør det lettere for udviklerne, når de skal kode programmer i for eksempel C#. På Datafordeleren kan udviklerne hente data i strukturer, som er beskrevet i JSON.

Registrene på Datafordeleren skriver JSON skemaer, som viser strukturen på data i tjenesterne.

Hent JSON skemaerne under hvert register i Datafordelerens dokumentation.

Flemmings program er baseret på en webbruger konto med tjenestebrugere, som er sat op, så de har adgang til at kalde Datafordeleren for at hente de forskellige data. Det fungerer automatisk, fordi det ikke er muligt for én udvikler at forholde sig til hele datastrukturen, når der er så mange data. JSON skemaerne beskriver datastrukturen, og Flemmings program henter data i JSON og omformer strukturen til kodesproget C#, så Swecos udviklere kan arbejde videre med data i deres vante kodesprog, når de laver løsninger til kunderne.

Det har kostet tid og penge at nå dertil, hvor programmet virker. Ikke alle JSON skemaerne på Datafordeleren har været lige lette at arbejde med. Flemming har været irriteret, når hans program er stødt ind i finurligheder, hvor de forskellige registre på Datafordeleren har lavet forskellige strukturer af JSON, i stedet for at der er en standard, som alle følger.

”Det er tit spidsfindige fejl, fordi dem, der har lavet strukturen, ved jo noget om det. Det er jo dygtige folk, der ved noget om det, de har lavet. Men for eksempel i Matriklens JSON skema har man brugt plus tegn og tegn for større end eller mindre end. Men i serier af objekter i JSON må man ikke bruge plus tegn eller tegn for større end eller mindre end. Der er tegnene brugt i forvejen og betyder noget andet. Lad os sige, jeg har tolv filer på Matriklen, og så vælter mit konverteringsprogram på fil fire, og så skal jeg til at finde problemet og rette i mit program for at korrigere for en forskellighed, der måske er en fejl i JSON strukturen,” fortæller Flemming.

Det har også givet problemer, når Flemming har arbejdet med JSON skemaer, hvor der er referencer til andre JSON skemaer. Flemming giver et eksempel:

”Det er rigtig smart, hvis man har adresse, der går igen mange steder, kan man referere til den, som for eksempel en DAR adresse – simpeladresse.JSON – så kan man skrive en #etellerandet inde i et skema og skrive, hvor den ligger. Problemet er bare, at det filnavn, man bruger til at referere til inde i skemaet, ikke er det samme, som det filnavn på filen man henter, og så skal man sidde og håndrette det. Det er ikke i orden med en reference, som ikke findes. Når der er fejl, som du ikke forstår, er du selv nødt til at sætte dig ind i, hvordan det hænger sammen. Så begynder tiden at løbe rigtig hurtigt. Projektet med at hente data på Datafordeleren udvikler sig til at blive et JSON projekt, og det kræver, at du ved, hvad du arbejder med.”

Flemming har mange gange skrevet og været i kontakt med Datafordelerens support, der sender hans spørgsmål videre til de registre, som har ansvaret for at strukturere deres data på Datafordeleren. Efterfølgende ændrer registrene i skemaerne, eller det bliver beskrevet i dokumentationen, hvordan data er struktureret.

I det store og hele er Flemmings program nu på plads, som et generelt værktøj der henter alle data fra Datafordeleren. I praksis mener Flemming ikke, at der er nogen, som har brug for alle data på én gang. Men programmet fungerer som et værktøj, hvor en udvikler med måske fire linjers kode kan trække data fra Datafordeleren om for eksempel en byggegrund. Dermed er Sweco godt i gang med skifte fra at betale for at hente ejendomsdata fra deres hidtidige kilde Den Offentlige Informationsserver (OIS) til at hente gratis data på Datafordeleren.

Hændelser i data

Flemming flytter sin stol, fordi solen nu skinner direkte ind på os og blænder ham. Solen står lavt i januar, og når der kommer en bygning på nabogrunden, vil den skygge for mødelokalet i en del af vinterhalvåret.

Jeg spørger Flemming, om han allerede nu kan hente husnummeret på den bygningen, der skal ligge på grunden ved siden af. Det er muligt, men det vil være lettere med et andet værktøj, hvor vi ikke skal hente hele datasættet, men bare kan kalde den specifikke byggegrund. Bygningen er allerede registreret både med adresse og husnummer i Danmarks Adresseregister og som en ejendom i Bygnings- og Boligregisteret (BBR). Den har sågar fået sit helt eget BFE nummer, som er det fælles id, alle registrene på Datafordeleren bruger, når de henviser til den samme bygning i ejendomsdata.

Allerede når bygningen på nabogrunden er planlagt, vil den blive registreret som et element med blandt andet adresse, husnummer og BFE nummer i registrene. Det vil sige, at der er et tidspunkt for, hvornår bygningen bliver registreret som en kommende genstand på grunden, og dermed oprettet som et element i data. Det er det, som bliver kaldt en hændelse i data på Datafordeleren.

En hændelse er, når der sker noget. For eksempel når man i en kommunal forvaltning registrerer en planlagt ny bygning. I de fælles offentlige registre betyder det, at der sker en ændring af data. En hændelse kan således være resultatet af et trin i en forvaltningsproces, som opretter, ændrer eller sletter data i et register.

Læs mere om hændelser i Datafordelerens dokumentation.

Flemming fortæller, at i brugen af data er det vigtigt at planlægge, hvornår hændelserne skal opdatere de data, man bruger til løse opgaverne. Hvis en chauffør på en lastbil med materialer har planlagt en rute til byggegrunden på Ørestads Boulevard i sit system, og adressen bliver ændret, fordi bygningen skal have flere husnumre, skal ændringen ikke slå igennem, mens han er ude og køre. Så bliver han jo sendt forkert i byen. Han kommer ud, og så er indgangen til byggepladsen ikke der, hvor han er blevet sendt til.

”Når man kører hændelsessystemet på Datafordeleren, skal man forstå, at man får en hændelse smidt i hovedet, hvor man får en primær nøgle. Den hedder så tilfældigvis ID localid. Den primær nøgle bruger man til at lave et opslag,” siger Flemming og forsætter:

”Vi har kunder, hvor vi holder styr på deres matrikler. Der vil de jo gerne vide, hvis der bliver lavet om i lokalplaner og servitutter og alle mulige BBR ting. Derfor skal vi bruge hændelsestidspunktet, når man kalder tilbage for at få de korrekte data på et bestemt tidspunkt. Det er alpha og omega med en god vejledning, og den fandt jeg i Datafordelerens dokumentation. Der kan man læse, at man skal spole tilbage, når man henter data for at sikre, at der ikke er slæk i data. Jeg tror, det er et minut, man trækker fra, når man henter.”

Det med at være det korrekte sted på det rigtige tidspunkt, kender jeg godt. Som fodboldspiller har jeg spillet på et førstehold, som førte 7-0 efter 10 minutter. Mens vores andethold på banen ved siden af samtidig var bagud med 0-7. Der var blevet byttet om på de to holdopstillinger, så førsteholdene spillede mod andetholdene. Det blev opdaget af holdlederne, og kampene begyndte forfra med de rette modstandere. Vi vandt alligevel, selvom begge kampe blev forkortet, fordi der kom andre hold og skulle spille på banerne til deres aftalte tid. Men hvordan holder Flemming styr på data og tider i sit system?

Data har flere tider

Når der er hændelser i data, skal man holde øje med bitemporaliteten. Det vil sige, hvornår en hændelse er registreret, og hvornår den er trådt i kraft som gældende. Faktisk kan byggegrunden ved siden af Sweco være både tom og bebygget, alt afhængig af hvilket tidspunkt man kalder data.

Flemming beskriver det som to tilstande, hvor der i fremtiden vil stå en bygning på grunden, og der lige nu er ved at blive bygget en. Det gælder om at vide, hvilken tilstand man skal bruge data på og så kalde med det tidspunkt. Datafordeleren sender hændelserne derudaf i en uendelig perlerække, og man skal synkronisere sine data med hændelser som opretter, sletter eller ændrer de registreringer, der er i data.

Bitemporalitet - også kaldet dobbelthistorik – bliver brugt at forbedre sporbarhed i registreringer. Dobbelthistorik giver mulighed for at søge data baseret på både virkningstid og registreringstid.

  • Virkningstid - Hvad var gældende på et givent tidspunkt?
  • Registreringstid - Hvornår blev det registreret, hvad der var gældende?

 

Læs mere om bitemporalitet i Datafordelerens dokumentation.

Det er kompliceret, og jeg kæmper med at følge med Flemmings forklaring af, hvordan man skal hente data på Datafordeleren, som man opdaterer med et abonnement på hændelser. Pointen er, at man skal have en tidsplan for at hente data fra Datafordeleren og efterfølgende supplere dem med de hændelser, som hele tiden sker i virkeligheden og bliver registreret i data.

”Det er alfa og omega, at man kalder med tidspunktet for registreringen af hændelsen. Tidsstemplet for hvornår hændelsen er sket. Det tidspunkt skal du holde i hånden, og så skal du holde det id på, hvad det er for et element, der er ændret. Id varierer efter, hvad du spørger om. Dem skal du sende til Datafordeleren,” forklarer Flemming.

Flemming har lagt en kode ind i sit system, som sørger for at opdatere de data, som Sweco henter regelmæssigt. Dermed bliver data automatisk opdateret med hændelser, som er sket eller kommer til at ske. Det fungerer rigtig godt, mener Flemming. Ligesom drift af Datafordeleren også fungerer godt. Data kommer til tiden og i en lind strøm. Der er sat mål for, hvor hurtigt Datafordeleren skal levere data på de forskellige tjenester, og Flemmings oplevelse er, at de bliver overholdt til punkt og prikke.

Solen har flyttet sig igen, og det er tid til at sige tak til Flemming, fordi jeg måtte besøge ham og Sweco. Det har været interessant at tale om Datafordeleren og se, hvordan Flemming har arbejdet med at omstille Swecos kilde til grunddata om ejendomme fra OIS til Datafordeleren.

På vej hjem i metroen hører jeg igen Bob Dylan. Nu synger han om, at der er megen forvirring, men at det nok skal gå alt sammen. Dengang stod Dylan i et vadested mellem den akustiske musik, som havde gjort ham kendt, og den elektriske som han vidste blev fremtiden.

Det må være lidt det samme for udviklerne i forvaltningen og i virksomhederne. De skal til at omstille sig til at hente grunddata fra Datafordeleren, fordi registrene lukker for de hidtidige kilder. Så kan man kun hente grunddata på Datafordeleren.

På plads i Styrelsen for Dataforsyning og Effektivisering bruger jeg min tjenestebruger til at lave et kald på Datafordeleren. Den nye bygning på Ørestads Boulevard har allerede en adresse med husnumrene 45 og 47.

Log på Datafordeleren