Import/Catalogue/Road import (Norway)
The Norwegian Mapping Authority (Kartverket) has released two road data products: Vbase and Elveg. Both products contain data from the National Road Database (nasjonal vegdatabank, NVDB).
Both Elveg and Vbase contain the road geometry. The road geometry data of the two products are identical. However, Elveg contains some additional data about the characteristics of the road, such as speed limits, height restrictions, etc. as well as address nodes. Therefore, Elveg will be used for this import.
- Information (in Norwegian) about Elveg on Kartverket's website: 
- A detailed specification for Elveg (albeit a bit old and in Norwegian only) can be found here: Media:Elveg_SOSI_4.0_2008.pdf.
- Information from the National Public Road Administration (Statens vegvesen) about the National Road Database: 
- For information about other imports from Kartverket, see No:Kartverket import (page in Norwegian only).
Here is a practical guide step-by-step guide for the import: No:Veileder Elveg-import.
This import serves three main goals:
- Add missing roads to OSM
- Increase accuracy of existing road geometry
- Add/update OSM tags
Due to the manual nature of the import this will be a long-term project. The work is separated into municipalities. Progress is tracked and reported here: Import/Catalogue/Road import (Norway)/Progress.
Per 2018-02-09 the status of the progress is 24.4% finished, 7.1% started, 68.5% untouched municipalities
- Data source site: 
- Data license: 
- Type of license: CC BY 4.0
- Link to permission: 
- OSM attribution: 
Since road geometry already exists in many places in Norway, this will be a manual import. Data from Elveg will be carefully integrated with existing data by updating geometry of existing roads (preserving history, relations, etc.) and transferring relevant tags. JOSM will be used for this purpose.
elveg2osm performs the following mapping. Some ambiguity exists, and manual intervention is required when importing. General guidelines for how to tag roads in Norway are given on No:Map Features#Norwegian roads.
|Bilferjestrekning||Bilferjestrekning||Importere manglende objekter eller objekter med større nøyaktighet enn i OSM.||route=ferry.|
Vegnummer (VNR) tagges på samme måte som for vege, men istedenfor highway=* brukes taggen ferry=*.
|Ferjekai||Ferjekai||Importere manglende objekter eller objekter med større nøyaktighet enn i OSM.||amenity=ferry_terminal.|
|FrittståendeTrapp||Trapp||Importere manglende objekter eller objekter med større nøyaktighet enn i OSM.||highway=steps.|
|GangSykkelvegSenterlinje||Gang- og sykkelveg||Importere manglende objekter eller objekter med større nøyaktighet enn i OSM.||highway=cycleway.|
|Kommunedele||Punkt (på veg) som angir hvor kommunegrensa går.||Importeres ikke.|
|Planovergang||Planovergang||Importere manglende objekter eller objekter med større nøyaktighet enn i OSM.||railway=level_crossing.|
|Veg||Importere manglende objekter eller objekter med større nøyaktighet enn i OSM.||VNR (vegnummer) inneholder en bokstavkode der første bokstav angir vegkategori: E europaveg, R riksveg, F fylkesveg, K kommunal veg, P privat veg, S skogsbilveg eller G gang- og sykkelveg.|
Neste bokstav angir vegstatus: A anleggsveg, V eksisterende veg, T veg med midlertidig status, W midlertidig veg, S eksisterende ferjestrekning.
VNR=E V nn: highway=trunk.
|Vegsperring||Bom eller annen vegsperring||Importere manglende objekter eller objekter med større nøyaktighet enn i OSM.||VEGSPERRINGTYPE angir typen vegsperring. Lovlige verdier er:|
Hvis VEGSPERRINGTYPE=Betongkjegle, sett barrier=yes.
|Veg under bane||Veg under bane. (Steder hvor veg krysser under jernbane er registrert som frittstående enkeltpunkt knyttet til vegnettet.)||Importeres ikke.
Her bør det vurderes å tagge jernbanen som bru.
sosi2osm is used to convert the SOSI files from Kartverket to OSM format. Then elveg2osm maps the Elveg tags to the correct OSM tags as per the table above. Update: nvdb2osm now provides even more comprehensive tagging.
Data transformation results
The source (and processed) data files are split into municipalities. The source data are updated ten times per year.
Data merge workflow
This is a community effort. Users will have individual responsibility for single municipalities. Only experienced mappers are encouraged to import data.
Workflow: Getting started
- Find a municipality in the table at Import/Catalogue/Road import (Norway)/Progress and fill out the necessary details. Update the color of the table row accordingly (see examples at the top of the table). If you want to work on a large municipality that another is working on, that might technically possible using version control systems like git or similar; ask on the mailing list.
- Download the latest import file for your municipality from this NVDB page.
- Open your import file in JOSM and download OSM data
- Right-click the data layer, select Info, and insert the number of ways into the progress table at Import/Catalogue/Road import (Norway)/Progress
Workflow: Actual import
- Find a way you would like to work on.
- Copying over new roads:
- If the road doesn't exist at all in OSM, make sure it actually exists in real life first (using local knowledge, up-to-date satellite imagery, etc.) - the Elveg data are known to contain some roads which no longer exist.
- Copy the road over from Elveg into the OSM layer.
- Make sure the tags are correct. In particular, correct highway=road to the correct type.
- Use "Simplify ways". Elveg data contain many more nodes than are needed for accurate representation in OSM, so use "Simplify Ways" after setting
simplify-way.max-errorto 0.2 or 0.3 or thereabouts (in the Advanced Preferences).
- When copying roads, you should not join together road segments at intersections.
- When copying roads, you should leave the
nvdb:idtag in place.
- Improving geometry of existing roads: Use "Improve Way Accuracy mode" in JOSM and correct OSM geometry based on the Elveg layer you have underneath. You should not use "Replace geometry". There are several reasons for this, mainly:
- Replace Geometry disconnects all the intersections to the road you are replacing. They must be reconnected manually, which increases the chance for errors.
- Replace Geometry doesn't work properly when the roads have relations, and messing with copying/pasting relations is probably a recipe for disaster.
- Improving tags of existing OSM roads: Perform a manual inspection of the Elveg tags and copy the ones you deem correct over to the corresponding OSM data. Do not mindlessly replace existing tags, see section below on conflicts.
- After you are completely done with a way in Elveg: Delete it from the Elveg layer and save it. This allows you to keep track of how many ways are left. When you are done for the "day", update the progress (percentage) in the progress table at Import/Catalogue/Road import (Norway)/Progress.
NOTEː The directions of the roads in Elveg do generally not match the direction of the roads in OSM. Make sure that existing directional tags are correct after import (e.g. oneway=yes, cycleway:right=lane, incline=5%).
Conflation/conflicts with existing OSM data
There are already much Norwegian road data in OSM. The OSM data may be more up-to-date or correct than Elveg (all datasets contain errors, including Elveg). If there are conflicts between existing OSM data and Elveg data, ALWAYS keep the OSM data UNLESS you know that the OSM data are wrong (local knowledge, aerial or other imagery, etc.).
Changeset size policy
Upload data in small chunks. Uploading small changesets makes it easier to revert changes.
Dedicated import accounts
The users importing the data will use separate import accounts, preferably named username_import, where username is their original username. They will be personally responsible for the quality of their imports.
Do's and dont's
- DO NOT mindlessly copy data from Elveg and upload to OSM
- DO NOT replace existing OSM data unless you KNOW the OSM data are incorrect/incomplete
- DO NOT start working on this import until you have some experience with JOSM and OSM in general
- DO come by the mailing list or forum and say "Hi" when you start something :)
- DO ask in the mailing list or forum if you have questions, no matter how stupid they are
- DO keep in touch with the community on the mailing list or forum
- DO double-check everything you transfer from Elveg to OSM
- DO have a good time! :)
Workflow for updates
The python script highway_merge.py (Github) produces a diff file with all highways in NVDB which are missing in OSM, for example highways which have been constructed after the import. Files with missing highways for each municipality may be downloaded from this folder (subfolder "NVDB mangler"). This wiki-page contains an overview of the missing highways as well as update status: Road import (Norway)/Update.
Workflow for updating missing highways:
- Download a file with missing highways for a given municipality from this folder (subfolder "NVDB mangler").
- Download the existing highways in the chosen municipality to JOSM. Overpass query:
"highway=* in Lillehammer".
- Copy the highways (or a selection of them if there are more than approx. 100) to the layer with existing OSM highways.
- Add the new highways to the To-do plugin in JOSM and step through each highway to verify and to connect the new highway to the existing road network.
- Delete highways which should not be added (note: a few false positives are in the files).
- Please enter the date of your upload in the table on Road import (Norway)/Update when you are done.
Any questions and answers will appear here.
- Norwegian Mapping Authority (Kartverket)
- Information about imports from Kartverket
- No:Map Features
- NUUG kart (Norwegian OSM community mailing list)
- Discussion about the road import on the international OSM imports mailing list
- No:Veileder Elveg-import
- nvdb2osm on Github
- highway_merge on Github
- Import files and missing highways for each municipality