Address Search Function • Street Names • House Numbers (MF Navigator 2.2.61 on Android, OSM data)
  • Hello,

    I just read the thread "Housenumbers" and found that this is a similar but not the same topic. That´s why I create a new thread:

    The following issue applies on searching for addresses in order to navigate there or to show them on the map:

    If you type a street name you often get a list of different sections. This is good in case you don´t know a house number but the suburb/area name only and look for a rough position of the street on the map. But if you look for house numbers you need to know in which section the house is located. in other words: If you have five sections you need to search all five sections separately until you – by chance – catch the one which contains your house number.

    To solve this issue an "ALL" item should always be displayed to let it search in all segments. And if there is a house number twice a next screen should display it as list again in connection with the street section name.

    Second issue: The split of the streets into sections is sometimes unclear. So you sometimes ask yourself which rule was applied to perform the assignment. This is probably connected to the OSM data somehow. But even knowing that it´s sometimes strange.

    Third issue: It seems to depend on the way you search which street sections are offered for selection. I have a specific example in Germany:

    House 654:
    addr:city     Köln
    addr:country     DE
    addr:housenumber     654
    addr:postcode     50827
    addr:street     Venloer Straße

    House 548:
    addr:city     Köln
    addr:country     DE
    addr:housenumber     548
    addr:postcode     50825
    addr:street     Venloer Straße

    I looked for the first one (654) and selected Germany as country, "Köln" as City and "venloer" as street. 5 sections were offered, and the last one (Ehrenfeld) seemed to be the correct one. But then a list of 45 house number clusters was displayed which reached up to 567 only. Even when I typed 654 in directly I got no result, same with the other 4 street sections.

    Then I tried the post code 50827 instead of "Köln" and got a different list of 4 street sections for "venloer". One of them contained the missing higher house numbers including the one I looked for. In this case the street sections were kind of hierarchical, by the way. One seemed to be a combination of the other two.

    So there are two main questions from my side:
    1. What drives the assignment of an address to a city, post code and street? Is it the tags listed above? Or is it some post code / city relations? Or is it a combination? Comparing the two houses above you find that the only difference is the post code. So I wonder why they don´t appear together when searching for "Köln".

    2. Why is there no option to search for a house number in all streets of the searched name (see "ALL" approach above)? This would make things much easier. Currently it´s quite annoying in most cases, especially if you search for addresses in regions you don´t know (which is the normally the case).

    The search history seems to have changed a little bit recently. It works better than before but is still not as intuitive as on most other navigations. Thanks, by the way, for ignoring spaces at the end of auto completed seach terms now. This helps a lot.

  • 17 Comments sorted by
  • As far as I see, streets are divided by city-district boundaries (Stadtteilgrenzen), when searching. This is a confusing procedure, if you are a stranger in a city. You are completly right!

    But anyhow that is much better, than MFN was a couple of years earlier. At that time you had to know the district to find a street in the first place.  ;))
  • This is due to the fact that 548 is in "Stadtteil" Neuhrenfeld and 654 is in "Stadtteil" Bickendorf.
    Both have adminlevel 10 (see here and here).

    It seems that this is actually an error/omission in the Navigator map making. 
    Admin levels for cities can differ per country but in almost all countries it is level 8. In Germany it is also admin level 8 and that is what the Navigator map making should use to determine in which city(/town/village/hamlet) an street/address is.
    If Navigator would do that then all addresses in Koln would belong to Koln and not be separated by "Stadtteil", so you would have an ongoing address range.

    @Nigel: Could you comment?


  • Yes, I am not too deep into the admin level stuff. But for bigger cities it seems that the levels 5,6, 9 and 10 are used but not 7 and 8. Example Cologne (Köln):
    Admin Level  5 = https://www.openstreetmap.org/relation/72022   = Regierungsbezirk Köln (state-district border)
    Admin Level 6 = https://www.openstreetmap.org/relation/62578 = Köln (county border)
    Admin Level 9 = https://www.openstreetmap.org/relation/2613797 = Ehrenfeld  (part of municipality 1 = Stadtbezrirk)
    Admin Level 10 = https://www.openstreetmap.org/relation/2613726 = Ehrenfeld  (part of municipality 2 = Stadtteil)
    Admin Level 10 = https://www.openstreetmap.org/relation/2613714 = Bickendorf (part of municipality 2 = Stadtteil)
    So Cologne as city has admin level 6 and is split into Stadtbezirke (which have their own local self-government, admin level 9). These Stadtbezirke are split into Stadtteile (admin level 10). Ehrenfeld is a Stadtbezirk but "unfortunately" it contains a Stadtteil with the same name which makes it a bit confusing. Another Stadtteil within the Stadtbezirk Ehrenfeld is Bickendorf.

    For smaller cities and towns it seems that admin level 7 and 8 are used, and some cities have no admin levels above 6 (Examples in Germany: Schwerin, Crivitz, Barnin). So it seems that the map maker needs to check which kind of city it is dealing with.

    From my current high level perspective I would assume that you need to check if there is an admin level 8 within admin level 6. If so, it´s most probably the city which a navigation user has in mind (example: Crivitz). This may differ from offical postal addresses though. On the other hand, if admin level 6 contains no admin level 8 but admin level 9 and/or 10, then assumingly admin level 6 defines the name of the city which the user has in mind (example: Cologne). But probably it´s a bit more complicated ;)

    So from the navigation user perspective I would expect that all streets which belong to a city (AL6 resp. AL8) are not split into pieces at the first step. So if I look for "venloer" in "Köln" I want to get "Venloer Straße" and "Venloer Wall" as result. Nothing else.
    When selecting "Venloer Straße" I want to be able to type a house number directly or alternatively select "ALL". In case I select a specific number which exists, the number shall be displayed as it is now but together with the admin level 10 name if it exists. So if a number exists twice because there are 2 streets of the same name in the city (often the case in Berlin), you can still see which one is the one you need. In case I select ALL instead of a specific number I want to get the street names listed split into admin level 10 pieces with the according names on it. Then I can select one of these pieces and I may be asked for a crossing or something in the next step or to show this segment on the map.

    It´s a lot of text, but I hope that it makes things a bit more clear from the developers perspective even though I may be wrong or sligthly incorrect in some details or assumptions.
  • This is really strange as the admin level 6 for Germany is defined as: "county borders (Landkreis / Kreis / kreisfreie Stadt / Stadtkreis) (NUTS 3)".

    Your reference also mentions: "Admin Level 6 = https://www.openstreetmap.org/relation/62578 = Köln (county border)", where city Köln does not have an admin level.
    A county border is a regional border, not a city border.
    For example: city Hamburg is level 8, "state" Hamburg is level 4.
    but city Dusseldof is admin level 4 and county Dusseldorf is level 6
    and city Berlin is level 2, while county Berlin is 4.

    It almost seems that Germany, despite the standards, defines cities admin level based on importance and not on city itself. A Bundesland seems to be level 4 and a KreisAmt is level 6.

  • To be honest I don´t find any admin level 4 in Köln or Düsseldorf, and the level 6 borders are the city borders in my eyes. Without checking in detail they seem to contain everything which belongs to the city of Köln resp. Düsseldorf, thus everything which has an address in the according city.

    Hamburg looks different, yes. It seems to have no official administrative suburbs like Köln and Düsseldorf (although there are parts of Hamburg which have well known names). This may be a special case of Hamburg or a mapping error. But to be honest I don´t think that the mapping is incorrect. With admin level 8 it´s the same as for little towns and cities which I mentioned in the other post, so Hamburg would still follow "my" approach.

    Berlin ... let´s have a look at this town ... okay, the lower structure looks the same as in Köln and Düsseldorf (AL9 and AL10). But admin level 6 is missing as well as admin level 8, that is true. it just has admin level 4 for the federal state of Berlin (which is NRW for Köln and Düsseldorf) but no city related boundary. Don´t know whether it does not exist here or whether it wasn´t mapped or found by the overpass api.

    Bremen, by the way, has a structure like Köln and Düsseldorf although it´s a state as well ...

    So I think there is a kind of consistency but there may be some specialities, too, which may have either political/administrative or mapping reasons. Latter would be mapping errors if they don´t match the official reality.

    Finally ... a navigation map maker seems to be required to handle some exceptions ;)
  • With regard to Duseldorf and admin level 4.
    It mentions "Capital 4". See for the capital reference here
  • Yes, there is a node for Düsseldorf with capital=4. But this is just the node which declares Düsseldorf as capital of the state NRW. It´s not relevant for navigation. berlin should actually have capital=yes and capital=4 because it´s the "capital of itself" (4) and the capital of Germany (yes). But haven´t checked how it´s done there. Probably capital=4 does not exist or it´s a separate node.
  • Hey,

    I can see a several problems here.

    1. "bad" example. The city Köln has bad border or there is different problem which can be handled in the future(please try new map, it should be done two days from now(beta maps)). The search you are working with here is only backup one and it only looks for surroundings objects.(mind that the distance attribute is there)

    2.@hvdwolf is right in some points. Optimally, every city would have border with admin_level=8 as it should be as in osm wiki. But because(I guess) Düsseldorf  for example is also a NUTS 3(County). The mapper used admin_level=6 correctly but I'm not sure if there should't be also admin_level=8 border too(?). For this reason, when you are trying to search for Düsseldorf. You will find 2 items. a) Düsseldorf (COUNTY) b) Düsseldorf  -Düsseldorf  . The second one will search only for surroundings. The first one will work correctly.

    3. I found some hard-coded fixes for Cities as Hamburg and Berlin where the admin level is converted to admin_level=8. That's why these cities seems to work correctly.

    I don't know how many cities in Germany are also county(admin_level=6). Maybe we can add some more exception, so you could search more easily in the future.
     
  • @Nigel

    There are only a three cities that are also counties

    - Berlin
    - Bremen
    - Hamburg

    Wikipedia

  • Thanks Nigel.

    What I don´t understand is what you mean by "surroundings".

    Regarding "level 8 for all" ... I am not sure because I am no expert in this topic. But I will check the Wiki again to find an understanding for myself at least. Currently I have the feeling that AL8 is simply not applicable for all cities because we distinguish between several types (see German Wiki or Englisch Wiki). Saying that I still assume that you need to use a 2-stage filter as described above.
  • @chattiewoman: Yes, but Bremen consists of 2 cities in contrast to Hamburg and Berlin because it´s Bremen itself and Bremerhafen.
  • Well what I meant by County is what I found in wiki.
  • In Köln for example, is surroundings, every street around the city center point.
  • I agree with krza.
    In Berlin the problem seems to be even bigger.
    For example if I search a Residenzstrasse I get 9 results even though there is only one street with this name in Berlin and it is located in two districts. But even though I live in Berlin I don't know this and I only search for a house number.
    It becomes totally confusing if there is more than one street with he same name.
    I don't understand this with the admin levels but I also think there should be a better search algorithm to get only one time the street name for each separate road.
  • try to click Residenzstrasse(...) and then joint
  • If I click Residenzstrasse(...) and have a joint I feel better but the results are the same ...

    Okay, joke, I don´t smoke at all ... Yes, you are right, the first of the nine results with the three dots seems to cluster the eight other results down to three which is a step in the correct direction but still not reasonable. For Cologne the new map I just downloaded has not changed a lot (if at all), by the way. I tried Venloer Straße again.

    So my conclusions are the following:
    • The admin levels described in the Wikis are correct.
    • For that reason the search approach I noted in my first post from Oct 24 should be correct.
    • There may be additional checks required to find exceptions like for Bremen and Berlin but all other cities should be catched properly by the above approach based on the Wiki definitions for the German admin levels.
    • The search algo should be changedas soon as possible. I don´t know whether it is driven by the map maker, thus the map data, or the application which is installed on the phone.
    • In the end a street should appear only once in the list. When selecting it you should have the option to either type a house number directly or to select a street segment clustered by the combination of AL 9 and AL 10 with a slash inbetween. When selectiong that you should be able to type a house number again or to display it on the map. If you have typed a house number instead of selecting a street segment and if this house number exists, the according number (or numbers if they exist more than one time) shall be displayed in the list including the mentioned AL9/AL10 name.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

In this Discussion

Tagged