User:FredrikLindseth/N50framgangsmåte

From OpenStreetMap Wiki
Jump to: navigation, search

N50import fra Kartverket

Oppsett

  • Installer python
  • Installer pakkene lxml og requests
    • F.eks. via pip med pip install lxml og pip install requests
  • Last ned verktøy fra [1](github.com/tibnor/kartverket2osm)
    • Noter deg stien hvor replaceWithOsm.py ligger og bruk en fullstendig eller relativ path som peker til replaceWithOsm.py — f.eks. kan du legge kartverket2osm som en mappe under $HOME/bin og kjøre kommandoen slik: python $HOME/bin/kartverket2osm/replaceWithOsm.py del.osm del2.osm --import:water
  • Installer UtilsPlugin2 i JOSM (Edit - Preferences - Plugin)
    • Denne gir man muligheten til å "Replace Geometry" dvs flette nye og gamle data uten å miste historikken
    • Bind "Replace Geometry"snarveien til noe enklere enn det som er standard, f.eks. "Ctrl+Q". Dette er kun for å gjøre det litt enklere å bruke dette verktøyet: Edit - Preferences - Keyboard shortcuts - Tool: Replace Geometry = Ctrl+Q
  • Installer kartverketimport-pluginen i JOSM (Edit - Preferences - Plugin)
    • Denne brukes for halvautomatisk korreksjon av retning på elver og bekker
  • Sørg for å ha opprettet en dedikert import_bruker og logg inn med denne. All importdata skal lastes opp med en egen bruker
    • Denne skal ha et navn på formen "brukernavn\_import", der "brukernavn" er ditt vanlige brukernavn
    • Les her for mer info

Last ned data

{{Topography import Norway assignment
| status = påbegynt
|kommunenummer=0000
|relation = 000000
|kommunenavn=kommunenavn
|user =   [[User:brukernavn|visningsnavn]]
|mentor =  
|kommentar = 
|kyst = 0
| vann = 0
| areal =0
| start = dato
| slutt = dato
}}
  • Last ned data for den kommunen du vil importere herfra og pakk ut filen
    • Filen man laster er en ZIP og innholder filer med navn xxxx__type_part_yy.yy_zz.zz.osm. Der xxxx er kommunenummeret, type er coast, water eller landcover, yy.y er nedre breddegrad og zz.z er venstre lengdegrad.

Import av kystlinje

  • Åpne den første filen xxxx_coast_part_0_yy.yy_zz.zz.osm i JOSM
  • Søk etter "FIXME"="Check direction of coastline. Land should be on the left side and water on the right side." og sørg for at alt er korrekt og deretter fjern denne taggen
  • Last ned data fra OSM som dekker området til denne filen
  • Marker en bit med gammel kyst og en bit med ny kyst og "Replace Geometry" (Ctrl+Q)
    • Velg source=Kartverket N50 og klikk "Apply"
  • Gjenta dette til hele kysten i denne delfilen er byttet ut
  • Når du er ferdig med å bytte ut alle kystbitene i denne delfilen:
    • Søk etter dette i JOSM: natural=coastline -source="Kartverket N50" for å se om du har glemt å fjerne noen gamle kystlinjer hvor det har blitt importert ny
    • Søk etter dette i JOSM: source:PGS type:node modified og fjern denne taggen fra noden.
  • Etter man har er ferdig med å erstatte kystlinje og rette opp i feil trykk på "Validation" (Shift+V eller knappen nede til høyre) i JOSM og se spesielt etter Reversed coastline, Unordered coastline og Unconnected coastline
  • Last opp og marker changesettet med feks Kartverket N50 coastline import part 1/x og kilde/source "Kartverket"
  • Gjenta dette for alle delfilene i denne kommunen

En stund(neste dag) etter du har importert kan man bruke dette verktøyet for å se om man har gjort noe feil

Import av elver og vann

VIKTIG: import av data for kommuner med kyst bør gjøres etter at kysten er importert, for å unngå merarbeid.

  • Åpne den første filen xxxx_water_part_0_yy.yy_zz.zz.osm i JOSM
  • Trykk på "Validation"
  • Under "Errors" dukker det gjerne opp Waterway duplicated nodes - Duplicated nodes, klikk på den kategorien og klikk "Fix"
  • Under "Warnings" dukker det gjerne opp Mixed type duplicated nodes - Duplicated nodes, klikk på denne kategorien og klikk "Fix"
  • Søk etter "FIXME=*" (store bokstaver i fixme), man får da opp alle elver der retningen er usikker
    • Disse behandles halvautomatisk ved hjelp av tibnors JOSM-plugin (installasjon er beskrevet ovenfor under "Oppsett")
    • Pluginen finner man på verktøyslinjen: More tools - Check directions of streams
    • Pluginen vil da gå igjennom hver elv med FIXME:Check direction of stream. For hver av disse får du opp en boks der du velger Correct/Wrong/Ignore/Stop.
    • Endel bekker må manuelt splittes der retning skal endres. F.eks. hvis to bekker møtes men henger sammen som én linje.. Trykk Ignore på disse og ta dem manuelt etterpå.
  • Søk også etter "Fixme=*"(små bokstaver i fixme), du får da opp elver/riverbanks med manglende midtlinje (Tag:waterway=riverbank).
  • Legg til midtlinjer, koble på bekker/elver som kommer innpå, og fjern Fixme-taggen
    • For å tegne midtlinjer er "Viewport Following (Ctrl+Shift+F)" et nyttig verktøy. Da flyttes fokuset på skjermen nedover elven etterhvert som du tegner
  • Lagre filen, feks med samme navnet den allerede har (Ctrl+S i JOSM)
  • Nå må man kjøre programmet replaceWithOsm.py for å flette sammen denne datafilen med data fra OSM
  • Programmet kan kjøres slik python replaceWithOsm.py xxxx_water_part_0_yy.yy_zz.zz.osm output_part0.osm --import:water
  • Åpne output_part0.osm i JOSM.
  • Last ned OSM data for samme område. Husk å fjern "Download as new layer"
  • Søk etter "FIXME=Merge", dette er vann, bekker og elver som finnes i OSM fra før og flett dataene sammen med "Replace Geometry"
  • Trykk "Validation", og rett opp feil
  • Gjenta dette for alle delfilene i kommunen

Import av arealdekke

VIKTIG: Gjør først ferdig importen av kyst og vann før arealdekke importeres
Her vises en lukket relasjon(de markerte) der alle har rolle 'outer' og skulle hatt 'inner'
  • Åpne den første filen xxxx_landcover_part_0_yy.yy_zz.zz.osm i JOSM
  • Trykk "Validation"
  • Under "Warnings" dukker det gjerne opp Role for '0(x nodes)' should be 'inner'.
  • Klikk på en av linjene og klikk deg inn på relasjonen i "Edit new relation in layer ..."-vinduet. Trykk på knappen for å sortere relasjonen. "Sort the relation members (Alt+End)". Dette gjør det mye enklere å se hvilke medlemmer som har feil rolle. Se skjermbilde til høyre her
  • En annen warning som kan dukke opp er Intersection between multipolygon ways. Dette er typisk hvis en myr eller en skog som har rollen 'inner' og berører, altså deler node med en 'outer'-way. Marker skogen og noden og unglue(Alt+J), og flytt myr-noden litt unna. Da løses problemet. Se skjermbilde til nede høyre
  • Lagre filen, feks med samme navnet den allerede har (Ctrl+S i JOSM)
  • Nå må man kjøre programmet replaceWithOsm.py for å flette sammen denne datafilen med data fra OSM
  • Kjør kommandoen python replaceWithOsm.py xxxx_landcover_part_0_yy.yy_zz.zz.osm output_part0.osm --import:area
  • Åpne output_part0.osm i JOSM
  • Søk etter FIXME=Merge, dette er skoger, myrer, etc som finnes i OSM fra før. Flett dataene sammen med "Replace Geometry" og fjern FIXME=Merge-taggen.
  • Trykk "Validation", og rett opp feil
    "Intersection between multipolygon ways" i JOSM. Noden i rødt er den som skaper problemer
  • Gjenta dette for alle delfilene i kommunen
  • Etter å ha lastet opp et stort changeset, vent helst en stund (f.eks. 15min) før man prosesserer neste fil med replaceWithOsm.py. Hvis man har vært for kjapp så merker man at en får opp en haug med konflikter, duplicate nodes og duplicate ways.
  • Til slutt: Oppdater oversikten over N50importen ved å sitte kommunen til "Ferdig"
    {{Topography import Norway assignment
    | status = ferdig
    |kommunenummer=0000
    |relation = 000000
    |kommunenavn=kommunenavn
    |user =   [[User:brukernavn|visningsnavn]]
    |mentor =  
    |kommentar = 
    |kyst = 100
    | vann = 100
    | areal =100
    | start = dato
    | slutt = dato
    }}