Can I use addr:place=* together with addr:street=* as standard for apartment blocks within apartment complexes in the Malaysian context?

I would like to enquire regarding best standard practices to be used for tagging apartment blocks within apartment complexes in the Malaysian context.

The typical scenario: multiple separate residential towers, often called apartment blocks (eg Block A, Block B, Block C) within the same named area complex (eg Solar Condominiums) with the main entrance into the complex facing a named street (eg Hibiscus Street). A neighbouring complex (eg Lunar Condominiums) along the same street also has the same setup.

A typical mapping method is to tag the area complex as landuse=residential, residential=apartments, name=Solar Condominiums (or Lunar Condominiums). Each individual apartment building is also tagged with building=apartment, but there is no standard in Malaysia for tagging its name/code. So for “Block A” (as displayed on the building signboard), various tags have been used including:

  • name=A
  • name=Block A
  • ref=A
  • ref=Block A
  • addr:housenumber=A
  • addr:housenumber=Block A
  • addr:housename=A
  • addr:housename=Block A
  • addr:block=A
  • addr:block=Block A

Regardless of whichever tag is used to tag the building, very frequently, the name of the complex does not display when Nominatim is queried for the address. So what should have output as:

“Block A, Solar Condominiums, Hibiscus Street” or

“Block A, Lunar Condominiums, Hibiscus Street”

becomes “Block A, Hibiscus Street” with no reference as to whether Block A refers to Solar Condominiums or Lunar Condominiums. Sometimes even the street name is not displayed in the Nominatim output.

When I add addr:place=Solar Condominiums (or Lunar Condominiums) as additional tag to the building, then the block and complex name displays in the Nominatim output, but now the street name disappears.

Questions:

  1. Would addr:place=* be an appropriate tag in this kind of very common scenario in Asia?
  2. If yes to #1, since the full address is block name/number, apartment complex name, street name, would it be appropriate to use addr:place=* along with addr:street=* as additional tags to the building so as to obtain the proper full address? As I understand it, this practice is severely frowned upon in OSM because addr:place=* is supposed to be used only when the building’s address does not have a street to refer to, but in my case - the building’s number is not part of the street but part of the complex, and yet the street name is still part of its full address, and so isn’t this one valid scenario whereby tagging addr:place=* together with addr:street=* perfectly appropriate?
  3. What is the best tag to be used as standard to tag the building block’s name/code ? Some of us Malaysian mappers are considering using addr:block=* as the standard since Malaysians interprete the word block as referring to apartment blocks, but I’m beginning to understand that this tag is used not in reference to apartment blocks but city-blocks (a concept totally foreign in Malaysia). Am I right to say that in many countries, the standard tag for the building block’s name/code is addr:housename=* and addr:housenumber=* even though technically it is not a house but an apartment building?

I’m not familiar with addresses in Malaysia, and for the scenario described, as usual multiple ways are possible.

addr:place was invented specifically for situations where house numbers are not relative to street names but to places (i.e. there is no corresponding street). Therefore, addr:streetand addr:place are mutually exclusive on the same address and I’d not recommend them here.

Apartment blocks which share a street name and house number are often tagged with addr:unit (note that Nominatim doesn’t fully support that at the moment).

If there is no house number (the apartment is addressed by street and name) then addr:housename could be an option. It’s a concept originally from GB, but has been (ab)used for other things and might do in place of a house number. This approach would still leave addr:unit available for individually designated staircases/entrances.

How about using Key:addr:neighborhood - OpenStreetMap Wiki ? Apparently, it is in use in South Korea and Taiwan. Maybe it could also be useful in Malaysia?

I suppose that should be addr:neighbourhood (with “ou”), which already exists more than 10 million times. (addr:neighborhoodonly exists slightly more than 1000 times.)

I’m drafting a proposal for new address keys, which would include addr:building. It would seem to be a clear fit here.

Just a note that the Nominatim function you’re referring to doesn’t provide “addresses”, it provides “address descriptions”. It’s unfortunate that the function on OSM.org calls it “Show address”. Internally it is a “reverse search”. Nominatim’s output might include places that are not part of the address as used locally (like neighbourhood name).

An option for tagging the area compexes could be Tag:place=city_block - OpenStreetMap Wiki mapped as an area containing the buildings. I think Nominatim night return it in the address description too, but double check.

addr:building= doesn’t work. Buildings can either be on their own, or inside estates/complex/sites. This can’t be distinguished.

If they’re on their own, they’re not going to have an unique building identifier to distinguish them from other buildings, as there are none. I think that’s a pretty distinguishing feature.

Your assumption doesn’t stand. In some countries, most buildings are named, and used for addressing.

=city_block is inaccurate. Complexes/estates/sites are often only part of a street block, or can also span multiple blocks.
Some countries already use street blocks in addressing. They would conflict.

In addition to @wolfbert 's answer, I will add

  1. addr:place= doesn’t work, as there can be complexes/estates inside villages/places numbered directly
    3. addr:house*= doesn’t need to be understood literally. It’s not “house”, nor even buildings. It simply means the level used for numbering relative to the streets or places. In some countries, addr:housenumber= is often assigned above buildings, to entire complexes/estates/sites.

I have a hard time imagining how it could work and which values would be used.

Will it work as a prefix, like addr:building:housenumber=*, addr:building:street=*, …

Or is it a flag to state that an address is actually assigned to a building (rather than the building inheriting it from something else)? Like addr:building=yes / no?

Or will it contain a building id? Like addr:building=432ed8977348921aac43112b43242de5643534?
If it is the latter, I’d rather use something with ref in it, on the building object, like ref or building:ref=... or ref:short-name-of-the-authoritative-db=...

It would be used like addr:unit or addr:door to specify how that specific building is identified within an address where multiple buildings share the same housenumber, such as the Bldg A in 200 Main St. Bldg A Rm 12 or the B in Katukuja 13 B 20.

I don’t see the relevance. We have addr:housenumber and addr:housename for that. You’re not going to specify “my building is Building #1 at Nice Street 24!” if Nice Street 24 only has one detached house. If you are, then it’s essentially a housename functioning on the same level of the address hierarchy as the housenumber.

I don’t think that new tags are needed. Key:addr:housename - OpenStreetMap Wiki can be used for a building, and addr:neighbourhood can be used for a block or a similar combination of several buildings.

Your example is mismatched. Standalone buildings would be called Nicest Building. Names are expected in those countries. Nicest Building could even have multiple numbers as 24 & 26 Nice St.
But anyway, my objection is first on your naming. addr:building= is indistinguishable from addr:housename= for what it’s supposed to be used. It’s not intuitive and self-explanatory.

addr:housename isn’t appropriate for the situations I’m addressing, as they’re not names, just as “13” is not the addr:housename of your flat even if it has that number on the door.

That’s fair.

My feeling is that we have not yet adequately described the situation to make it understandable for everybody.

I know some bigger industrial sites that use a combination of public and internal address information like this:

“Personname” | “Companyname” | “Buildingname”; “Officecode” | “Streetname”; “Housenumber” | “Postcode”, “Cityname” | “Countryname”

(I have intentionally not used the OSM keys.) The building name and the office identifier are only used as the internal address for distribution of letters to a maildrop near an office, after a letter has arrived at the company’s mailroom.

What would I need to write on a letter to have it properly delivered to a person that lives at Solar Condominiums? Which address information is needed to have a pizza delivered to an apartment?

Once we have properly described the required address information, we can then sort it and find the relevant new or existing OSM tags. (Making sure that this works with Nominatim might be a next but separate step.)

Is Building “Block A” as asked by the post a number (ordering/code), or “name” then? And “Block 1A” or “Block A1”?