Добавлю ещё несколько соображений в пользу своего предложения. Есть несколько «побочных эффектов», позволяющих улучшить не только способ адресации.
Во-первых, это облегчение и оптимизация рендеринга адресной информации: располагая адресные точки на той стороне периметра полигона здания, которая (как правило) параллельна соответствующей ближайшей улице или примерно посередине условного центра фасада, мы однозначно задаём для рендера оптимальное место вывода номера здания. Это избавляет от необходимости совершать вычисления геометрического центра (особенно для нетривиальной геометрии) и оставляет место для названия, например.
Во-вторых, это позволяет сделать адресные точки интерактивными (без необходимости их генерировать, вычисляя место расположения) и выводить по клику адресную информацию.
В-третьих, учитывая, что это не «голые» адресные точки, а — часть отношения, включающего в себя все адресуемые объекты (в торговом центре, например, или офисном здании), то дополнительно ко второму пункту можно будет реализовать функцию «что находится по этому адресу?» с выводом, опять же, готового списка и без необходимости препроцессинга с учётом геометрической вложенности.
Адресный поиск также значительно оптимизируется, получая готовые таблицы адресов и привязанных к ним объектов.
UPD Свободно ищутся условные «Гончарная, 10» и «Ремесленная, 49» для одного углового дома. Запросы типа «Гончарная, 10/49» или «Ремесленная, 49/10» легко «выводятся» из отношения, где в качестве участников фигурируют точки с соответствующими addr:street/addr:housenumber.
На каком скриншоте адресная метка для здания гимназии адекватнее? (адрес: «проспект Победы, 29А»)
Первый