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