Serbia/Projekti/Adresni registar

From OpenStreetMap Wiki
Jump to navigation Jump to search

Da vidite ovu stranicu na srpskom, pogledajte Sr:Serbia/Projekti/Adresni_registar

Source

Serbia government released address registry (streets and housenumbers with geometries) on 9. december 2022. as open data from national cadastre (RGZ from now on). This got us georeferences addresses (street + housenumbers) as points. Idea is that we organize and add these addresses in OpenStreetMap.

Currently, this data can be downloaded from web site https://data.gov.rs/sr/datasets/adresni-registar/, as well as temporary location at https://download-tmp.geosrbija.rs/download/ (it requires either log in using eGov ID, or registering with new login using e-mail).

Licence

Serbian parliament ratified opening this data on 12.12.2022. in https://www.pravno-informacioni-sistem.rs/SlGlasnikPortal/eli/rep/sgrs/skupstina/zakon/2003/43/2/reg. (138/2022-274). Web application that hosts this data is located here.

Since this is government data, license defined is here: https://data.gov.rs/sr/terms/. However, we are still actively looking to get license of this data that comes from cadaster web site itself.

Tagging rules

As part of this import, we rehashed and better defined address tagging rules and they are here: Serbia/Adresses

Web report

https://dina.openstreetmap.rs/ar/

All RGZ addresses, as well as conflation status, as well as all found and matched OSM address can be found in link above. This report also includes QA reports.


Milestones

Here are some of the milestones that we need to do for this import:

Aktivnost Napomena
Start this wiki :)
Start topic in discourse Plan, Tagging rules
Make agreement where we put addresses Explained at [1]
Make agreement on cyrillic vs latin Will it be "39B" or "39Б", discussion at forum, current agreement is to be latin
Agree on data quality coming from RGZ What if OSM has newer data? What if on-the-ground truth has different address? What if we have address and there is no building? This is for discussion at forum. Agreed, details in instructions
Agree how we do import Automated, semi-automated through iD, JOSM, tasking manager municipality-by-municipality or all together. We will do municipality-by-municipality, settlement-by-settlement
Create technical soluition More details in chapter below, mostly done
Import addresses to OpenAddresses Unrelated to import in OSM, but since this is open data, we should do this too
Announce import to imports mailing list Done here
Add ourselves to copyright page Added through this PR
Add links to ref:RS:kucni_broj in osm.org Wiki pages done, now we nee to create PR for them
Start import Started and reached 70% by the end of March 2024, see Web report

Import guidelines

Read here for general guidelines how to map address in Serbia. Here is instruction video to explain how to do first-time setup, how to add new addresses and common errors.

This guideline is work in progress, It might change more as import process evolve.

Preparing the environment

  1. Download JOSM editor. Go to Edit->Preferences. Turn on Expert Mode (bottom left corner) and turn on Remote Control->Enable remote control. You should also donwload plugin "Review.Changes"
  2. Turn Review window in Windows->Review List
  3. Download layer with street and housenumber, optional, but can give better insight to RGZ data. In JOSM, go to Imagery->Imagery Preferences. There are 2 layers to choose from. Pick yours.
    1. In bottom right corner click button "+ TMS". In first text box, write "https://tiles.openstreetmap.rs/rgz/{zoom}/{x}/{y}.png", and in the last textbox add layer name ("RGZ addresses" for example).
    2. In bottom right corner click button "+ TMS". In first text box, write "https://vector-rgz.openstreetmap.rs/styles/rgz-big/{z}/{x}/{y}.png", and in the last textbox add layer name ("RGZ addresses" for example). You can also try "https://vector-rgz.openstreetmap.rs/styles/rgz/{z}/{x}/{y}.png" which is same layer with just smaller numbers.

Restart JOSM. You can access this layer from Imagery menu.

  1. Visit https://dina.openstreetmap.rs/ar/ and choose municipality and settlement for which you want to do import
  2. Visit https://lite.framacalc.org/adrese-sinhro-a047 and add which municipality you are working on, just so we can coordinate efforts

To add new addresses

  1. Click button "Lista fajlova za import (samo nove adrese)". New pane will open. Here are all addresses that are not found in OSM in 200m radius
  2. Open JOSM (it has to be started before this)
  3. Turn some layer to look at map (Imagery menu, and choose Maxar for example)
  4. Click on some of the files. New layer in JOSM will show up with up to 100 addresses.
  5. Click on shortcut "1" (View->Zoom to data). This will zoom to all loaded addresses
  6. If you click Selection->Select All (Ctrl+A), you will see list of all addresses on the right side. Here you can do quick overview if street names are OK before you proceed further
  7. Click File->Download in current view. This will load OSM data in same layer with addresses. To check if address is not there already, is it outside of building etc.
    1. If area is too large, zoom to smaller pieces and download OSM data until you cover all addresses
  8. In Review window click "Start review". All addresses will show up. This serves to check if we reviewed them all. When you click on some address, it will be zoomed. With double-click or Space key, address will be marker as reviewed
  9. Once we review all addresses, upload all changes with File->Upload data. Comment it as you wish, but keep "data source" as "RGZ_AR_Import".


All addresses should be mostly OK, here are some potential problems:

  • Address have street name with wrong caps. You should change all loaded addresss, look at tips below to see how to change them all at once
  • Someone already added same address in similar location. Just merge them (or delete newly added, or move one to another holding Ctrl key)
  • Building already drawn. Minimal thing to do is to move address to be inside building. You can put address to building, look at tips below
  • Address in on grass, there is no building. This is perfectly fine, we agreed we will add these addresses too


Tips:

  • If you download plugin "mapwithai", it has ability to merge address with building way. Download it, set shortcut (Edit->Preferences->Keyboard Shortcuts, and look for "Data: Merge address points")
  • In Find dialog (Ctrl+F), you can search for new objects only, type "new". This will allow you to see newly added addresses in different color
  • To rename lot of addresses, in Find dialog (Ctrl+F) you can type something like new "addr:street"="Јувелирска" and get to select all addresses with this streetname, and in object window you can change street name for all addresses at once with double-click

To reference existing, 100% matched addresses

This method will add ref:RS:kucni_broj=* tag to existing addresses.

  1. Click button "100% poklopljene adrese". New pane will open. Here are all addresses that are perfectly matching between OSM and RGZ
  2. Open JOSM (it has to be started before this)
  3. Turn some layer to look at map (Imagery menu, and choose Maxar for example)
  4. Click on some of the files. New layer in JOSM will show up with up to 100 addresses.
  5. Click on shortcut "1" (View->Zoom to data). This will zoom to all loaded addresses
  6. If you click Selection->Select All (Ctrl+A), you will see list of all addresses on the right side. Here you can do quick overview if street names are OK before you proceed further
  7. Click File->Download in current view. This will load OSM data in same layer with addresses. To check if address is not there already, is it outside of building etc.
    1. If area is too large, zoom to smaller pieces and download OSM data until you cover all addresses
  8. In Review window click "Start review". All addresses will show up. This serves to check if we reviewed them all. When you click on some address, it will be zoomed. With double-click or Space key, address will be marker as reviewed
  9. Once we review all addresses, upload all changes with File->Upload data. Comment it as you wish, but keep "data source" as "RGZ_AR_Import".

To solve other cases (addresses are not matching perfectly)

This is hardest case

  • If address do not exist in OSM, simply add it as it is in RGZ. Watch for typos and grammar for street names. It is enough to add addr:street=* (cyrillic) and addr:housenumber=* (latin) and once you add these, on refreshed report tomorrow it will be there as 100%, so you can match it with RGZ later.
    • If address is on building that already have number, we should probably move address from building to separate node and keep both address as nodes. For example, building have number "11", and we are adding "11a". We shoud move "11" from building and add two nodes - "11" and "11a" that are attached to building way.
  • If address exists in OSM, we should think through how to proceed depending what is not matching between OSM and RGZ:
    • If street name is not matching, check surrounding street and see if it is typo/grammar in OSM or RGZ. If error is in RGZ, add "addr:street" tag as correct street name (as it is in OSM). If error is in OSM (trust OSM, but sometimes error is obvious), fix street name in OSM (or add note at least), and for addr:street=* tag add value from RGZ.
    • If housenumber is not matching, check if it is error in OSM (numbers should be ordered). If it is not obvious error, try to trust OSM because it probably reflect on-the-ground truth

Techical details

Technical part of this project should ease, simplify and increase import quality. Source code is at https://gitlab.com/osm-serbia/adresniregistar.

Idea is that project is split to smaller pipelines where each pipeline is doing some data processing. These pipelines are self-sufficient and could be executed at any machine and to used for continuous data quality checks. Each pipeline is defined in Makefile and runs with "make some-pipeline".

Following piplines are planned (some already done, better check at README.md):

Pipeline Command Note
Address acquisition download_from_rgz At RGZ website, all addresses are by municipality. Before we do anything, we should collect them, all other processing is after that
Name normalization Mapping from ALL CAPS addresses to proper cases, main thread is here https://community.openstreetmap.org/t/pravilno-imenovanje-ulica/96891
Analysis analyze From daily PBF file, we try to locate all addresses from RGZ. For each RGZ address, we check if it is conflated, can it be matched or cannot be found at all
Reporting report Based on CSV, we generate static HTML and upload it. Upload is at https://dina.openstreetmap.rs/ar/
Automated import If we do everything manual, no action here. If we do something automated, this will be place to do it.

Quality assurance

During import process, we should do quality checks. Some of the errors we would like to catch and fix are:

  • Address is node inside building and it should be put on building way
  • Address is in OSM and it doesn't exists in RGZ (maybe error, maybe not) - this should be added once we finish import
  • Address is conflated, but RGZ reference does not exist or is wrong (housenumber wrong, street name different), or distance is too far away
  • For same ref:RS:kucni_broj=* tag, there is more than 1 entity in OSM

See also