Import/Catalogue/Denmark Import
This page discusses (semi-)automated imports in Denmark
Goal
The goal is to improve the data quality of OSM in Denmark by importing government data. This data is available at https://datafordeler.dk/.
Possible imports:
- Building data. The Danish BBR registry has information about buildings, their shape, materials and outline.
- Building events. Construction, demolition and restauration
- Company registration. Data from the business registry (CVR/VAT) can be used to e.g. alarm when a restaurant has closed permanently
- Food safety. Tools for inspecting and importing FVST/smiley registrations semi-automatically has been developed by Niels Elgaard, use it at: https://digitalfrihed.dk/restaurants/all.html
- Addresses. The autoAWS bot is already running today importing and updating address locations from the official registry Danmarks Adresser (DAR).
User names and bots
For semi-automated small scale import, where the user manually verifies each tag, editing is done under the username of the user responsible. For large-scale imports, a specific user ID will be created for each bot. For comments and feedback, please contact the user that made the specific upload.
Current state
Apart from the autoAWS bot, the project is in early alpha. All edits are verified manually. First focus is on import from the BBR registry.
Specific Tags
In order to create a permanent link between OSM and the Datafordeler, Datafordeler ID s can be imported and added as country-specific tags.
- BBR:Husnummer: GUID which indicates a house. One house can have multiple buildings (e.g. carport).
- BBR:Bygningsnummer: Small integer indicating the building number on the house.
- CVR: CVR is the Danish central business registry on Wikipedia. You might see the tag in the wild, but it is currently not part of any Bot.
ref:DK:cvr=*: CVR number as used by the FVST/smiley project (prefixing a country specific domain).ref:DK:cvr:pnummer=*: CVR production unit number as used by the FVST/smiley project.
Note that some of the above tagging suggestions uses keys containing upper case characters, this is not common. To highlight this, the below table provides an overview of the actual usage count of these in both upper and lower case. This shows a discrepancy between the documentation here and the reality of the OSM database.
| Key | Taginfo count | Taginfo link | Wiki doc. |
|---|---|---|---|
| BBR:Husnummer | 16 | https://taginfo.openstreetmap.org/keys/BBR:Husnummer | BBR:Husnummer=*
|
| bbr:husnummer | 20569 | https://taginfo.openstreetmap.org/keys/bbr:husnummer | bbr:husnummer=*
|
| BBR:Bygningsnummer | 0 | https://taginfo.openstreetmap.org/keys/BBR:Bygningsnummer | BBR:Bygningsnummer=*
|
| bbr:bygningsnummer | 0 | https://taginfo.openstreetmap.org/keys/bbr:bygningsnummer | bbr:bygningsnummer=*
|
| CVR | 0 | https://taginfo.openstreetmap.org/keys/CVR | CVR=*:
|
| cvr | 58 | https://taginfo.openstreetmap.org/keys/cvr | cvr=*:
|
| ref:DK:cvr | 34325 | https://taginfo.openstreetmap.org/keys/ref:DK:cvr | ref:DK:cvr=*
|
| ref:DK:cvr:pnummer | 31626 | https://taginfo.openstreetmap.org/keys/ref:DK:cvr:pnummer | ref:DK:cvr:pnummer=*
|
Variable mappings
This is how BBR variables are currently mapped to their OSM equivalents:
"Bygning anvændelse" to "Building=XXX"
Select Case Anvændelse
Case = BygningAnvendelse.Stuehus_til_landbrugsejendom
Return "farm"
Case = BygningAnvendelse.Fritliggende_enfamiliehus
Return "detached"
Case = BygningAnvendelse.Sammenbygget_enfamiliehus
Return "terrace"
Case = BygningAnvendelse.Fritliggende_enfamiliehus_i_tæt
Return "terrace"
Case = BygningAnvendelse.Række_kæde_eller_dobbelthus
Return "terrace"
Case = BygningAnvendelse.Række_kæde_og_klyngehus
Return "terrace"
Case = BygningAnvendelse.Dobbelthus
Return "semidetached_house"
Case = BygningAnvendelse.Etagebolig
Return "apartments"
Case = BygningAnvendelse.Kollegium
Return "college"
Case = BygningAnvendelse.Boligbygning_til_døgninstitution
Return "apartments"
Case = BygningAnvendelse.Anneks_i_tilknytning_til_helårsbolig
Return "shed"
Case = BygningAnvendelse.Anden_bygning_til_helårsbeboelse
Return "residential"
Case = BygningAnvendelse.Bygning_til_erhvervsmæssig_produktion_vedrørende_landbrug_gartneri_råstofudvinding
Return "farm_auxiliary"
Case = BygningAnvendelse.Stald_til_svin, BygningAnvendelse.Stald_til_kvæg_får_mv, BygningAnvendelse.Stald_til_fjerkræ, BygningAnvendelse.Minkhal
Return "barn"
Case = BygningAnvendelse.Væksthus
Return "greenhouse"
Case = BygningAnvendelse.Lade_til_foder_afgrøder
Return "barn"
Case = BygningAnvendelse.Maskinhus_garage
Return "barn"
Case = BygningAnvendelse.Lade_til_halm_hø
Return "barn"
Case = BygningAnvendelse.Anden_bygning_til_landbrug
Return "farm_auxiliary"
Case = BygningAnvendelse.Bygning_til_erhvervsmæssig_produktion_vedrørende_industri_håndværk = 220
Return "industrial"
Case = BygningAnvendelse.Bygning_til_industri_med_integreret_produktionsapparat, BygningAnvendelse.Bygning_til_industri_uden_integreret_produktionsapparat
Return "industrial"
Case = BygningAnvendelse.Værksted
Return "industrial"
Case = BygningAnvendelse.Anden_bygning_til_produktion
Return "industrial"
Case = BygningAnvendelse.El_gas_vand_eller_varmeværk_forbrændingsanstalt
Return "industrial"
Case = BygningAnvendelse.Bygning_til_energiproduktion
Return "industrial"
Case = BygningAnvendelse.Bygning_til_forsyning_og_energidistribution
Return "service"
Case = BygningAnvendelse.Bygning_til_vandforsyning
Return "service"
Case = BygningAnvendelse.Bygning_til_håndtering_af_affald_og_spildevand
Return "service"
Case = BygningAnvendelse.Anden_bygning_til_energiproduktion_og_
Return "industrial"
Case = BygningAnvendelse.Anden_bygning_til_landbrug_industri_etc
Return "industrial"
Case = BygningAnvendelse.Transport_og_garageanlæg
Return "transportation"
Case = BygningAnvendelse.Bygning_til_jernbane_og_busdrift
Return "transportation"
Case = BygningAnvendelse.Bygning_til_luftfart
Return "transportation"
Case = BygningAnvendelse.Bygning_til_parkering_og_transportanlæg
Return "transportation"
Case = BygningAnvendelse.Bygning_til_parkering_af_flere_end_to_køretøjer_i_tilknytning_til_boliger
Return "parking"
Case = BygningAnvendelse.Havneanlæg
Return "transportation"
Case = BygningAnvendelse.Andet_transportanlæg
Return "transportation"
Case = BygningAnvendelse.Bygning_til_kontor_handel_lager_herunder_offentlig_administration
Return "commercial"
Case = BygningAnvendelse.Bygning_til_kontor
Return "office"
Case = BygningAnvendelse.Bygning_til_detailhandel
Return "retail"
Case = BygningAnvendelse.Bygning_til_lager
Return "warehouse"
Case = BygningAnvendelse.Butikscenter
Return "supermarket"
Case = BygningAnvendelse.Tankstation
Return "commercial"
Case = BygningAnvendelse.Anden_bygning_til_kontor_handel_og_lager
Return "commercial"
Case = BygningAnvendelse.Bygning_til_hotel_restaurant_vaskeri_frisør_og_anden_servicevirksomhed
Return "commercial"
Case = BygningAnvendelse.Hotel_kro_eller_konferencecenter_med_overnatning
Return "hotel"
Case = BygningAnvendelse.Bed_and_breakfast
Return "hotel"
Case = BygningAnvendelse.Restaurant_café_og_konferencecenter_uden_overnatning
Return "commercial"
Case = BygningAnvendelse.Privat_servicevirksomhed_som_frisør_vaskeri_netcafé
Return "commercial"
Case = BygningAnvendelse.Anden_bygning_til_serviceerhverv
Return "commercial"
Case = BygningAnvendelse.Anden_bygning_til_transport_handel_etc
Return "commercial"
Case = BygningAnvendelse.Bygning_til_biograf_teater_erhvervsmæssig_udstilling_bibliotek_museum_kirke
Return "civic"
Case = BygningAnvendelse.Biograf_teater_koncertsted
Return "civic"
Case = BygningAnvendelse.Museum
Return "civic"
Case = BygningAnvendelse.Bibliotek
Return "civic"
Case = BygningAnvendelse.Kirke_eller_anden_bygning_til_trosudøvelse
Return "religious"
Case = BygningAnvendelse.Forsamlingshus
Return "public"
Case = BygningAnvendelse.Forlystelsespark
Return "commercial"
Case = BygningAnvendelse.Anden_bygning_til_kulturelle_formål
Return "civic"
Case = BygningAnvendelse.Bygning_til_undervisning_og_forskning
Return "yes"
Case = BygningAnvendelse.Grundskole
Return "school"
Case = BygningAnvendelse.Universitet
Return "university"
Case = BygningAnvendelse.Anden_bygning_til_undervisning_og_forskning
Return "yes"
Case = BygningAnvendelse.Bygning_til_hospital_sygehjem_fødeklinik
Return "hospital"
Case = BygningAnvendelse.Hospital_og_sygehus
Return "hospital"
Case = BygningAnvendelse.Hospice_behandlingshjem
Return "hospital"
Case = BygningAnvendelse.Sundhedscenter_lægehus_fødeklinik
Return "hospital"
Case = BygningAnvendelse.Anden_bygning_til_sundhedsformål
Return "hospital"
Case = BygningAnvendelse.Bygning_til_daginstitution
Return "yes"
Case = BygningAnvendelse.Daginstitution
Return "kindergarten"
Case = BygningAnvendelse.Servicefunktion_på_døgninstitution
Return "yes"
Case = BygningAnvendelse.Kaserne
Return "military"
Case = BygningAnvendelse.Fængsel_arresthus
Return "government"
Case = BygningAnvendelse.Anden_bygning_til_institutionsformål
Return "yes"
Case = BygningAnvendelse.Bygning_til_anden_institution_herunder_kaserne_fængsel
Return "yes"
Case = BygningAnvendelse.Sommerhus
Return "bungalow"
Case = BygningAnvendelse.Bygning_til_feriekoloni_vandrehjem_bortset_fra_sommerhus
Return "yes"
Case = BygningAnvendelse.Feriecenter_center_til_campingplads
Return "yes"
Case = BygningAnvendelse.Bygning_med_ferielejligheder_til_erhvervsmæssig_udlejning
Return "yes"
Case = BygningAnvendelse.Bygning_med_ferielejligheder_til_eget_brug
Return "yes"
Case = BygningAnvendelse.Anden_bygning_til_ferieformål
Return "yes"
Case = BygningAnvendelse.Bygning_i_forbindelse_med_idrætsudøvelse
Return "sports_hall"
Case = BygningAnvendelse.Klubhus_i_forbindelse_med_fritid_og_idræt
Return "yes"
Case = BygningAnvendelse.Svømmehal
Return "sports_hall"
Case = BygningAnvendelse.Idrætshal
Return "sports_hall"
Case = BygningAnvendelse.Tribune_i_forbindelse_med_stadion
Return "yes"
Case = BygningAnvendelse.Bygning_til_træning_og_opstaldning_af_heste
Return "riding_hall"
Case = BygningAnvendelse.Anden_bygning_til_idrætformål
Return "yes"
Case = BygningAnvendelse.Kolonihavehus
Return "bungalow"
Case = BygningAnvendelse.Anneks_i_tilknytning_til_fritids_og_sommerhus
Return "shed"
Case = BygningAnvendelse.Anden_bygning_til_fritidsformål
Return "yes"
Case = BygningAnvendelse.Garage_med_plads_til_et_eller_to_køretøjer
Return "garage"
Case = BygningAnvendelse.Carport
Return "carport"
Case = BygningAnvendelse.Udhus
Return "greenhouse"
Case = BygningAnvendelse.Drivhus
Return "greenhouse"
Case = BygningAnvendelse.Fritliggende_overdækning
Return "roof"
Case = BygningAnvendelse.Fritliggende_udestue
Return "yes"
Case = BygningAnvendelse.Tiloversbleven_landbrugsbygning
Return "yes"
Case = BygningAnvendelse.Faldefærdig_bygning
Return "ruins"
Case = BygningAnvendelse.Ukendt_bygning
Return "yes"
Case Else
Return "yes"
conversion of Tagdækningsmateriale to OSM roofMaterial
Case = Tagdækningsmateriale.TagpapMedLilleHældning, Tagdækningsmateriale.TagpapMedStorHældning
Return "tar_paper"
Case = Tagdækningsmateriale.FibercementHerunderAsbest, Tagdækningsmateriale.FibercementUdenAsbest
Return "eternit"
Case = Tagdækningsmateriale.Tegl
Return "roof_tiles"
Case = Tagdækningsmateriale.Betontagsten
Return "roof_tiles"
Case = Tagdækningsmateriale.Metal
Return "metal_sheet"
Case = Tagdækningsmateriale.Stråtag
Return "thatch"
Case = Tagdækningsmateriale.Glas
Return "glass"
Case = Tagdækningsmateriale.LevendeTage
Return "grass"
Case = Tagdækningsmateriale.Plastmaterialer
Return "plastic"
Case Else
Return String.Empty