Единственный реально работающий способ унификации - “что вижу, то пою”. Если за центральным входом в ТЦ скрывается -1 этаж, то он будет таким и для русскоязычных, и для британцев, и для японцев. Попытка сэкономить один машинный код на обращении к первому элементу массива - ну очень сомнительная затея.
Я вот знаю как минимум один ТЦ в который войти можно со стоянки (-2 этаж), с -1 этажа и с первого (нулевого этажа нет). Все они “на уровне земли”, просто уровень понижается. Заставлять всех помнить, что -2 этаж это level=0 удел мазохистов, а лепить пару тегов на каждую точку внутри - лишняя работа и бессмысленное дублирование.
Так она есть на планах этажей, табличках и лифтовых кнопках. Иначе мы докатимся до собственной нумерации квартир и офисов (“от первого угла дома при обходе его с севера против часовой стрелки”), которая никогда не будет совпадает с используемой в конкретном здании.
Т.е. для наземных порядок уже есть building:levels и человеческих этажей более чем достаточно. Если заглянуть в Relations/Proposed/Level_Map, то можно увидеть levels (такой же, как building:levels, только для всех этажей и с парой малополезных плюшек).
Казалось бы, для полного счастья нужно только указать, какой из этажей считать за первый и всё, можно даже “несуществующие этажи” удалять без проблем, даже объём можно нарисовать.
Это уже вина авторов Simple Indoor Tagging - они либо не прочли четыре имевшихся тогда стандарта, либо решили всем подпакостить, но в трёх предложениях уже использовали тег level, но не требовали наличия нулевого этажа. Да и сейчас по Indoor_Mapping первый этаж можно называть первым: “in some cultures base level is indicated by level 0, in other cultures ground floor is level 1 (or A)”.
Как по мне, в “сишных этажах” смысла и логики ещё меньше, чем в использовании what3words и гугловых плюскодов вместо стандартных координат.