Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Admin levels and place types in China #2251

Closed
brynne8 opened this issue Apr 5, 2021 · 6 comments
Closed

Admin levels and place types in China #2251

brynne8 opened this issue Apr 5, 2021 · 6 comments

Comments

@brynne8
Copy link

brynne8 commented Apr 5, 2021

What did you search for?

  • 泥沟村 (Node 7327126075)

What result did you get?

  • 泥沟村, 石家庄市, 河北省, 中国

What result did you expect?

  • 泥沟村, 韩村镇, 赵县, 石家庄市, 河北省, 中国

Further details

As in China, cities are larger than counties, we are suggested to tag (per https://wiki.openstreetmap.org/wiki/Chinese_tagging_guidelines)

  • city (市): admin_level=5, place=city
  • county (县): admin_level=6, place=city
  • town (镇): admin_level=8, place=town

This made nominatim to have

  • 赵县 (Relation 3290467, county, address rank 18)
  • 韩村镇 (Relation 12529959, town, address rank 20)

whose address rank being not more than a village like 泥沟村 (Node 7327126075, village, address rank 18). I think this is the reason why I didn't get my desired result.

@lonvia
Copy link
Member

lonvia commented Apr 5, 2021

The problem here is that you are using the same tagging for rural and urban areas. That usually doesn't work. You need to use proper place types depending on where you are to make addressing work properly. Here is what I would do in terms of tagging:

  • admin_level=5: always use place=region(?) unless the prefecture-like city only consists of the city proper and has no rural parts
  • admin_level=6: use place=county for rural counties, place=town/city for city-like counties and place=district for inner-city districts
  • admin_level=8: use place=town for towns and place=suburb for sub-districts
  • add a multipolygon with place=city around the districts of a prefecture like city to mark the city proper

What I'm trying to say here is that there is no need to define a 1:1 relation between place types and admin_levels. They serve a different purpose. admin_level describes the governmental hierarchy while the place tag describes the type of an area as described by everyday use. In terms of the table in the 'Chinese tagging guidelines', you should define the proper place type for each of the types listed in the comments not for the admin level.

Once you refine the place types in that way, Nominatim will be able to shift around the areas ad necessary to make sure that the expected parts appear in the address.

@lonvia lonvia changed the title Results missing county and township level in China Admin levels and place types in China Apr 5, 2021
@brynne8
Copy link
Author

brynne8 commented Apr 5, 2021

Thanks for you reply. I discussed with Chinese OSM friends on this tagging problem, and came to know why they use place=city for both cities and counties. There's a fact that OSM only renders name and center point of cities as desired, counties or municipalities doesn't have their names rendered on map like place=city do. In China, it's a convention to show counties as point on map. So the tagging maybe cannot change unless the rendering of OSM support that. And it seems place=region is not recommended to use.

By the way, I think promoting the rank of city in configuration might also solve this problem, for example

{ "countries" : [ "cn" ],
  "tags" : {
      "place" : {
          "city" : 14
      }
  }
}

@lonvia
Copy link
Member

lonvia commented Apr 5, 2021

https://wiki.openstreetmap.org/wiki/Tagging_for_the_renderer

There is nothing I can do for the Chinese community in that case. Sorry.

@c933103
Copy link

c933103 commented May 15, 2021

Thanks for you reply. I discussed with Chinese OSM friends on this tagging problem, and came to know why they use place=city for both cities and counties. There's a fact that OSM only renders name and center point of cities as desired, counties or municipalities doesn't have their names rendered on map like place=city do. In China, it's a convention to show counties as point on map. So the tagging maybe cannot change unless the rendering of OSM support that. And it seems place=region is not recommended to use.

By the way, I think promoting the rank of city in configuration might also solve this problem, for example

{ "countries" : [ "cn" ],
  "tags" : {
      "place" : {
          "city" : 14
      }
  }
}

OSM have a lot of thing that aren't in line with Chinese mapping convention. I think it's advisable to create a Chinese version stylesheet like the French style and German style of OSM in order to achieve the desired rendering result, instead of trying to adopt the place=* tag accorng to redeer, which eaxh OSM data user will have their own dofferent ways of handlimg the situation

@1ec5
Copy link

1ec5 commented May 15, 2021

Chinese place tagging practices are also being discussed in this thread on the tagging mailing list.

In China, it's a convention to show counties as point on map. So the tagging maybe cannot change unless the rendering of OSM support that. And it seems place=region is not recommended to use.

Does this refer to putting a label for the county near the centerpoint of the county? That can be achieved using administrative boundary relations without the need for a place=city POIs. In fact, gravitystorm/openstreetmap-carto#4100 has added county labels at z10+ that are consistent with the labeling of provinces and prefectures at lower zoom levels, based on boundary relations, but the place=city POIs would now collide out those labels. It sounds like deleting these county POIs or retagging them as place=region in favor of boundary relations would be a win-win situation, no?

@lonvia
Copy link
Member

lonvia commented May 15, 2021

This is the issue tracker for the Nominatim software. This really is not the right place to discuss Chinese place tagging.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants