Heio!
Jeg ønsker å høre hva fellesskapet mener om en import og fast synkronisering av hjertestartere fra det norske Hjertestarterregisteret til OpenStreetMap.
Litt av tanken bak det er at Hjertestartere kan redde liv, men det hjelper lite hvis vi ikke har oppdatert og riktig informasjon.
Det er også per i dag er det et stort gap mellom antall registrerte hjertestartere i Hjertestarterregisteret som myndighetene drifter og det som finnes i OSM:
| Kilde | Antall |
|---|---|
| OpenStreetMap | 295 |
| Hjertestarterregisteret | 11 322 |
Så her har vi mulighet til over 11 000 nye hjertestartere som vi kan få inn i OSM-data ![]()
Hjertestarterregisteret har gitt OSM tillatelse til å bruke dataene deres under lisen som OSM bruker (Open Database License (ODbL) 1.0).
Siden de har gitt meg API-tilgang har jeg raskt utviklet et synkroniseringsverktøy som:
-
Importerer nye hjertestartere fra registeret som ikke finnes i OSM
-
Oppdaterer eksisterende noder hvis dataene har endret seg (f.eks. åpningstider, lokasjon, etc.)
-
Fjerner noder for hjertestartere som ikke lenger finnes i registeret
Verktøyet har noen sjekker som:
-
Unngår duplikater: Før en ny node opprettes, sjekkes det om det finnes en eksisterende AED-node innen 20 meter. I så fall hoppes opprettelsen over og logges som en advarsel.
-
Bevarer eksisterende data: Ved sletting bekreftes det at noden kun inneholder AED-relaterte tags. Hvis noden har andre tags (f.eks. butikk, bygg), slettes den ikke.
-
Sporer importerte noder: Alle importerte noder tagges med ref:hjertestarterregister= for å tydelig identifisere hvilke noder som er administrert av synkroniseringsverktøyet.
-
Oppdaterer kun ved endringer: Noder oppdateres bare hvis det faktisk er endringer i dataene (lokasjon > 10m forskjell, eller endrede tags).
-
Håndterer duplikate refs: Hvis flere OSM-noder har samme ref:hjertestarterregister-verdi, rapporteres dette som et problem.
-
Batcher: Alle endringerinnen 20 kilometer kommer som en changeset. Dette er for å unngå store changesets som dekker hele landet.
Verktøyet mapper data fra registeret til standard OSM-tags:
-
emergency=defibrillator
-
emergency:phone=113
-
name=* (navn på lokasjon)
-
opening_hours=* (basert på registrerte åpningstider fra eier)
-
defibrillator:location=* (beskrivelse av plassering)
-
level=* (etasje)
-
ref:hjertestarterregister=*
Tenker planen er å kjøre synkroniseringsjobben daglig for å holde dataene oppdatert. Men en liten nettside for å følge med på import-status og eventuelle problemer på https://hjertestarterregister2osm.johand.dev/
Koden vil bli publisert på GitHub etter at det er oppnådd konsensus i fellesskapet, men jeg trenger bare å rydde opp litt først ![]()
Her er en .geojson eller en osc med hva som den har greit å mappe hvis dere ønsker å ta en titt på output
Så spørsmålet mitt til felleskapet er om det er det støtte for denne importen? Er det noen andre bekymringer eller forslag?
Er første gang jeg ser på automatiserte redigeringer, så jeg setter stor pris på all tilbakemelding! Har jeg skjønt det riktig så skal det vel også lages noen wiki inlegg om importeringen etc?