No:Import av stedsnavn fra SSR2

From OpenStreetMap Wiki
Jump to: navigation, search

DRAFT - UNDER CONSTRUCTION

Introduksjon

Kartverket har satt i produksjon 2. versjon av Sentralt Stedsnavnregister, SSR2. I forbindelse med dette er det nødvendig å hente ut stedsnavn til OpenStreetMap på nytt. Dette dokumentet beskriver datamodellen for SSR2 og reglene for konvertering fra SSR2 til OSM.

Dokumentasjon fra Kartverket: Produktspesifikasjon Stedsnavn 5.0

Skjema i maskinlesbar form: http://skjema.geonorge.no/SOSI/produktspesifikasjon/Stedsnavn/5.0/

Oppskrift for nedlastning fra SSR2: User:NKA/Laste ned fra SSR2

Google Disk folder for eksempler etc: Stedsnavn katalog

Språk

Stedsnavn i SSR2 kan være på opptil 5 forskjellige norske språk (norsk, lulesamisk, nordsamisk, sørsamisk og kvensk). I tillegg finnes stedsnavn på andre språk, f.eks. Margaretakyrkan (svensk) og American Lutheran Church (engelsk).

Stedsnavnloven slår fast at "samiske og kvenske stadnamn som blir nytta blant folk som bur fast på eller har næringsmessig tilknyting til staden, skal til vanleg brukast av det offentlege t.d. på kart, skilt, i register saman med eventuelt norsk namn." I forskriften til loven heter det videre: "Har eit objekt samisk eller kvensk namn i tillegg til eit norskspråkleg namn, og namneformene er i bruk blant folk som bur fast på eller har næringsmessig tilknyting til staden, skal begge eller alle namna brukast." Og videre: "På skilt eller kart o.l. der det blir brukt meir enn eitt namn, skal kommunen fastsetje rekkjefølgja av namna."

Et offentlig kart skal dermed en del steder angi stedsnavn for et objekt med flere språk. I SSR2 finnes det ferdig informasjon om hvilken rekkefølge som skal brukes per sted. Det er ikke offentlige myndigheter som står bak OpenStreetMap, og vi må avgjøre om vi likevel skal å følge de samme reglene som det offentlige bruker. Lokale bidragsytere kan uansett overstyre valget ved å endre navnetagging ut i fra lokale forhold.

Tagging i OSM

Det skal produseres én fil per kommune (navngitt med kommunenr og kommunenavn) og disse skal grupperes i én folder per fylke (navngitt med fylkesnavn).

Stedsnavnene fra SSR2 skal tagges på følgende måte i OSM.

Tag Beskrivelse
name=* Den prioriterte skrivemåten for stedet. Bindestrek mellom eventuelt forskjellige språk.
alt_name=* Ingen, en eller flere alternative skrivemåter, adskilt med ";"
historic_name=* Ingen, en eller flere historiske skrivemåter, adskilt med ";"
name:xx=* Som over, dersom flere språk. Der et annet språk enn norsk har prioritert rekkefølge brukes dette også for norsk.
alt_name:xx=* Ditto
historic_name:xx=* Ditto
ssr:stedsnr=* Stedsnummer, unik identifikator i SSR2, f.eks. 464315.

Brukes til å slå opp faktaarket om stedet, f.eks. https://stadnamn.kartverket.no/fakta/464315.

(Denne URL'en er ikke ønsket i OSM)

ssr:navnetype=* Kode for type sted, f.eks. "kirke". Kodeliste Navneobjekttype
ssr:navnekategori=* Kode for hovedkategori sted, f.eks. "bebyggelse". Kodeliste Navneobjekthovedgruppe

I tillegg legges det opp til at mange stedsnavn vil få en place=* tag eller andre tags som hører til typen navn. Dette vil følge tabellen som ligger i Stedsnavn katalog

Datamodell og regler

Datamodellen som ligger til grunn i SSR2 tar utgangspunkt i et fysisk Sted, f.eks. en konkret gård, og legger så opp til et det kan være ett Stedsnavn (hovednavn) eller flere stedsnavn for dette fysiske stedet (sidenavn, undernavn eller historiske navn). Dersom stedet er navngitt på flere språk vil det også være ett eller flere stednavn per språk. Hvert av stedsnavnene kan så ha én eller flere Skrivemåter. Kasus er ikke brukt for norsk, men for de samiske og kvenske språkene kan det være flere kasusformer. Dokumentasjon angir forekomster av navnet i ulike kartutgaver og stedets koordinater kan da være brukt litt forskjellige for hver forekomst.

Hovedstruktur SSR2 datamodell

Sted

Det er kun ett Sted for hvert navngitte sted. Under Sted ligger så alle forskjellige navn på stedet. I OSM skal vi kun ha én node per Sted, mens alle varianter av navnet for dette stedet legges som ulike name:xx=* og alt_name:xx=* tags.

Aktuelle datafelt:

  • navneobjekthovedgruppe -> Ta vare på for å gruppere stedsnavnene i passende arbeidsmengde per kommune (terreng, markslag, ferskvann, sjø, bebyggelse, infrastruktur, offentligAdministrasjon, kultur). Forenkle offentligAdministrasjon til offentlig.
  • navneobjekttype -> Brukes for å hente OSM-tags fra regneark.
  • stedsstatus -> Bruk bare de Sted som har stedsstatus=aktiv.
  • språkprioritering -> Angir hvilken rekkefølge for språkene som skal brukes på det aktuelle stedet, dersom flere språk. Eksempel "smj-sme-sma-nor-fkv".
    • Avklare: Skal to navn brukes i name=*, tilsvarende dobbelt navn på veiskilt, f.eks. "<samisk> - <norsk>"?
  • stedsnummer -> Dette er identifikatoren i SSR2. Ta vare på og bruke for oppslag i Faktaark etc.
  • kommunenavn -> Brukes til å sortere per kommunefil
  • fylkesnavn -> Brukes til å sortere per fylkesfolder
  • posisjon -> Angir koordinatene til stedet. Koordinatene kan være et punkt (f.eks. en gård), en linje/kurve (f.eks. en elv) eller en flate/lukket polygon (eksempel?). Det kan være flere punkter, dvs. en "punktsky". Det første punktet i en slik punktsky var hovedposisjonen i SSR1, og er i følge Kartverket den naturlige å velge.
    • Avklare: Konvertere til kun punkter eller også ta videre linjer og flater?

Stedsnavn

Det er ett Stedsnavn for hvert språk og i tillegg ett Stedsnavn for hvert sidenavn/undernavn/historisk navn (dersom ikke bare ett hovednavn).

Dersom det er bare ett språk skal dette brukes i name=*, alt_name=* etc. Da behøves name:xx=*, alt_name:xx=* etc ikke. (Hvordan vite hvilket språk som da er i name=*?)

Aktuelle datafelt:

  • eksonym -> Er true for ikke-norske navn
  • navnestatus -> Verdier: hovednavn, sidenavn, undernavn, historisk. Dersom hovednavn finnes er det dette som skal brukes.
  • navnesakstatus -> Angir status for saksbehandlingen. Dersom vedtaket ikke kan prioritere (f.eks. ubehandlet?), kan det være mer enn én anbefalt Skrivemåte, ellers er det kun ett navn som skal være i name(:xx)=*
  • språk -> Angitt med tre-bokstavs koding. De følgende kodene er mest brukt, men andre er også i bruk (svensk, engelsk etc):
    • nor=norsk
    • smj=lulesamisk
    • sme=nordsamisk
    • sma=sørsamisk
    • fkv=kvensk

Skrivemåte

Det kan være én eller flere skrivemåter per språk og sidenavn/undernavn/historisk navn. Vi ser bort fra kasus og funksjonstillegg.

Dersom det er flere skrivemåter må vi finne prioritertSkrivemåte=true og legge i name=*, mens resterende samles i alt_name(:xx)=*. Dersom det er et hovednavn vil bare ett navn være prioritert, ellers hvis det er sidenavn vil det være to eller flere navn som er prioritert. Dersom det er flere språk vil dette gjenta seg også for det eller de andre språkene, slik at det kan bli flere navn i name=*.

  • stedsnummer / stedsnavnnummer / skrivemåtenummer -> Disse tre gir tilsammen en unik identifikator til skrivemåten (vi tar ikke vare på denne), bare stedsnummer.
  • langnavn -> Her er navnet som skal brukes.
  • skrivemåtestatus -> Bare bruke de skrivemåtene som har skrivemåtestatus godkjent, vedtatt, vedtattNavneledd, uvurdert, privat, historisk.
    • Avklare: Bruke old_name=* for skrivemåtestatus=historisk? Eller bare for navnestatus=historisk?
    • Avklare: Bruke loc_name=* for skrivemåtestatus=foreslått og avslått? Dette er i så fall en skrivemåte som noen lokalt har ønsket fordi den har vært i bruk.
  • prioritertSkrivemåte -> Når true skal skrivemåten brukes i hovedformen name(:xx)=*, ellers i alt_name(:xx)=* evt. old_name(:xx)=* eller loc_name(:xx)=* jmf. ovenfor.
    • Avklare: Ved vedtak som ikke kan prioritere kan det være mer enn én prioritert skrivemåte. Skal vi da ta med alle de prioriterte skrivemåtene i name eller skal vi velge én av dem, f.eks. bare velge den første?
    • Avklare: Steder kan også være uten prioriterte skrivemåter. Dersom flere skrivemåter, hvilken brukes da som hovedform?

Øvrige data brukes ikke.

Import til OSM

Det vil være to alternative måter å importere stedsnavnene til OSM: 1) Manuell import per kommune, 2) Maskinell import med matching mot eksisterende navn i OSM. Erfaringen fra SSR1 er at den manuelle import-metoden ikke fikk tilstrekkelig interesse, og det ble importert få stedsnavn til OSM.

Manuell import

Ved denne metoden må man som for N50 og Elveg ta ansvar for en kommune og sørge for import av alle stedsnavn i denne kommunen. Det legges ut ferdige OSM importfiler inndelt etter kommune.

Sannsynligvis vil det være enklest å bruke Conflation plugin for å matche mot eksisterende navn. Man laster først hele kommunen i JOSM i lag 1 og har stedsnavnene i lag 2.

  • Subject settes til alle objekter som har en name-tag med unntak av veier og jernbanelinjer (og sikkert flere andre).
  • Reference settes til samtlige stedsnavn i importfilen, eventuelt et passende utvalg for å gjøre jobben overkommelig, f.eks. én hovedkategori om gangen (da bør utvalget i Subject tilpasses den kategorien navn som er valgt).
  • Distance settes til en passende feilmargin, f.eks. 500 meter (man kan prøve seg frem flere ganger og vurdere treffene).

Deretter går man gjennom alle treff og avgjør om treffet er riktig og skal oppdateres (trykker da Conflate og behandler eventuelle konflikter) eller om treffet var falskt og skal ignoreres (stedsnavnet må da kopieres manuelt over fra lag 2 til lag 1). Til slutt kopiers samtlige stedsnavn i Reference only som ikke fikk treff over fra lag 2 til lag 1.

Etterpå bør man gå igjennom alle navnene (søke etter alle objekter i JOSM som er modified) med To-do plugin og se at plasseringen er i orden samt knytte stedsnavnet til et objekt i OSM, for eksempel flette et stedsnavn for et vann sammen med det aktuelle vannet som allerede er kartlagt. For en del navnetyper kan det være aktuelt å kjøre Conflation separat per navnetype, f.eks. velge natural=water i Subject og alle navn for vann i Reference.

Maskinell import

Ved denne metoden må man ha et ferdig program som kan kjøres for den aktuelle kommunen og som gjennomfører flettingen automatisk. Programmet kan gjerne være et plugin i JOSM slik at man der kan variere utvalget som skal behandles. Man kan tenke seg ulike grader av sofistikering:

  • Basis funksjonalitet må være et programmet forsøker å matche like navn (name, alt_name, historic_name etc) mellom OSM og importfilen/utvalget. Dersom det er treff innenfor en gitt radius har man da to valg:
    • Programmet kan enten flette sammen de to objektene og bruke det importerte navnet selv om treffet kan ha vært mellom et alt_name i OSM og et name i importfilen, siden importen skal inneholde de offisielle stedsnavnene.
    • Eller det aktuelle stedsnavnet fra importfilen kan legges i en OSM loggfil slik at det kan håndteres manuelt etterpå.
  • En raffinering av dette kan være at det kommer opp et spørsmål om hva man skal foreta seg.
  • En ytterligere raffinering vil være at programmet ikke bare matcher navn men også type objekt, f.eks. at et stedsnavn for vann automatisk tilordnes det natural=water objektet som omfavner koordinatpunktet for stedsnavnet.

Et alternativ til å kjøre én kommune om gangen er å først importere samtlige stedsnavn i hele Norge inn i OSM bortsett fra de navn som får treff mot eksisterende navn i OSM. Disse treffene legges i loggfiler som så behandles manuelt. Denne metoden vil nok være den mest effektive men forutsetter at man får til en god matching av objekter, f.eks. mot vann. Man må også kunne holde noen kommuner utenfor dersom det allerede er lagt inn mange navn i kommunen, evt. bare hente inn visse navnekategorier.

Av ca 1 million navn i SSR er det anslått at færre enn 5% allerede er inne i OSM. Dermed er det fremdeles fullt mulig å bruke en maskinell import-metode.

Avklaringer fra Kartverket

Her er noen spørsmål som er avklart mot Kartverket:

  • Stemmer det at prioritertSkrivemåte=true kun for én instans per (fysisk) Sted, bortsett fra når navnesakstatus=ubehandlet ? 
    • Svar: For alle stedsnavn med mer enn en skrivemåte der disse er av lik status så vil en av de være prioritert utenom ved vedtak der enn ikke kan prioritere.
  • Bruker man dobbelt navn på kartet der det finnes to språk, f.eks. "<samisk navn> - <norsk navn>", eller kun det ene språket som prioriteres først? 
    • Svar: Man bruker flere navn der det er flere hovednavn av forskjellig språk, i den rekkefølgen som språkprioriteringen anngir. Dersom det er flere sidenavn innenfor hvert språk skal også de brukes.
  • Det kan finnes mange posisjoner (koordinater) per Sted. Hvilken posisjon brukes når dette utplukket skal være automatisert? Er det den første, beregner man et snitt av posisjonene, eller ...? 
    • Svar: Dersom det ikke er flate eller kurve, er det nok den første koordinaten som vil være den beste, da dette var hovedkoordinaten i det gamle systemet.

Se også

Stedsnavnloven 18. mai 1990

Forskift om stedsnavn 23. mai 2017

kartverket.no/kart/stedsnavn/

Produktspesifikasjon Stedsnavn 5.0

Kartverket web service API dokumentasjon for stedsnavn

Gammel importside for SSR1

GitHub gammel versjon for SSR1