Can OSM become a geospacial database?

I guess this topic has been raised may times already but let me add to it.
Right now OSM is a collection of dots and lines with some generic tags for rendering them on a map. They do compile into nice maps but does it really work when it comes to searching for objects of real life categories? Let’s look into some examples.

  • place=city/town/village/hamlet/isolated_dwelling stand for settlements of some pupulation ranges. But each country has its own categorization of settlements which may absolutely differ from the suggested gradation.
  • waterway=river/stream are used for natural relatively large or small waterways. But the notion of river may differ from country to country and they may have a much wider range of categories then just these two ones.
  • amenity=school/university/college have some generic notion of secondary, higher and further edicution institutions. But again each country has it’s own categorization of educational institutions and in some cases it even contradicts the suggested tag names, e.g. in Russia they have colleges as something intermediate between high school and university.

To wrap it up it is hard to impossible to get objects of some real live category from OSM database in order for example to hight light them on a map or to list them in search results.

There are two workarounds used right now. The first one is to bind some new tags to local categories e.g. school=high_school, school=college. This approach is very contradictary because it is recognized only locally and may conflict with notations in other countries.
The second one is to put category name into “name” tag, e.g. “Liberty avenue”, “Blue lake”, “South park”. This approach works pretty fine until you think of applying it to everything, e.g. “Manchester” would become “Manchester city”, all shops would become “[name] shop” and will be rendered as such on maps or otherwise additional algorithms will need to be coded for rederers to decide whether to cut a category name from the displayed name or not for each particular country.

I invision the following solution here.

  • First of all, the “name” tag should containt proper name only.
  • Secondly, introduce a new tag for the real life language specific category name. I know that “name:prefix/postfix” key was originally introduced for another purpose but it can be a candidate here as well. Note that in some languages the place of category name relative to the proper name matters.
  • Thirdly, in order to make the life of renderers simple, introduce one more tag for holding the name which can be displayed on maps as is without any modifications, e.g. “display_name”. This tag may contain whatever content is considered locally appropriate specifically for rendering on maps. For example, it may contain proper name with category abbriviation like “r. Missisipi” or proper name with category full name like “Liberty avenue” or if an object has no proper name but is worth being labeled like “police station”. Locally agreed upon rules should prevail here and if somebody needs another format he is free to utilize “name” and “name:prefix” tags the way he likes it.
    If proper name is considered good for rendering without any modifications like “Manchester” city then display_name can be missing.

Here are a couple of collective examples:

  • highway=residential + name:ru=Независимости + name:prefix:ru=проспект + display_name:ru=“пр-т Независимости”
  • waterway=river + name:de=Elbe + name:prefix:de=Fluß (no “display_name” tag becase they usually display only proper names of rivers on maps in Germany)
  • place=city + name:en=Manchester (no “display_name” tag because it is equal to “name”, and no “name:prefix” tag if and only if the values in “place” tag correspond to the real life settlement categories in US)

I honestly can’t understand what it is that you find wrong with the current tagging scheme. The OSM database is already a geospatial database, and the tags we use describe what each object is. If someone wants to find rivers in the database, they can look for objects tagged with waterway=river. If they want to find colleges in Russia, they can look for objects tagged with amenity=college inside the boundary for Russia.

In your examples, the only changes you’ve made are to split up the name into multiple tags, which actually makes things more difficult for data consumers and doesn’t provide any apparent benefit.

Can you maybe provide an example of an action you’d want to perform with the existing data that you can’t perform currently?

You cannot find rivers by waterway=river tag because there are waterways which should be tagged as “stream” from OSM’s point of view but are called “rivers” locally.
Neither you can find colleges by amenity=college tag because in OSM it denotes higher than university institution but in Russia they are lower than University.

that is also why i plead for (as much as possible) to work with wikidata/wikipedia/wiwosm/etc. :stuck_out_tongue:

Is that true? I thought that in OSM amenity=college is generally used for post-secondary education centres that do not provide “higher education”, i.e. not universities. Certainly in Ireland that appears to be the most common use, and the wiki seems to support this. Where does “higher than university” come from?

Sorry, I was wrong about this. But anyway the topic is about a different thing. In Russia there serveral types of post-secondary eduction institutions which do not provide higher ediculation, e.g. “колледж”, “техникум”. How would you get a list of all “колледж”'s as opposed to “техникум” considering that both of them are tagged with amanity=college?

I’m not familiar with the difference between those types of colleges, but typically what’s done in the OSM scheme is that an additional and more specific “college=*” tag would be used to describe the difference. A quick Google translate of “техникум” seems to indicate that this represents a technical college, so amenity=college + college=technical could be used to describe those.

Thanks for the comment @alester. With schools and colleges it is more or less simple because they have a subcategory tag which lets you put whatever you want in it. But the same question applies to all other local categories which differ from the generic ones established in OSM wiki like water=lake/pond, place=city/town etc.
The main discussion of this topping is now going on in the “tagging” mailing list (70+ posts there already). It would be great if you could join us their.

Can you explain what is “gospacial”? I thought that you mean “geospatial”, but the OSM database is already a geospatial database.