Конечно. Например, маленькое квадратное здание. На карте вне зависимости от типа оно будет выглядеть одинаково. Но в реальности это может быть:
гараж, будка охранника, трансформатор, ларёк, пожарная вышка, очень маленький жилой дом, навес и т.д. Полагаю, средний человек в состоянии различить эти здания на местности. Соответственно, это можно указать конкретный тип на карте.
Другой пример. На карте нарисован П-образный дом. Больше информации нет. Человек, живущий в Санкт-Петербурге, примерно представляет, чем этот дом может быть: школой, поликлиникой или жилым домом, вероятнее всего сталинским или на худой конец современным, но не хрущёвкой. Если указать тип, человек сможет быстрее найти здание на местности, т.к. отличить школу он может по большим окнам, а также двум залам (концы буквы П), поликлинику - по одному входу с характерным подъёмом со ступенями или пандусом, жилой сталинский дом - по архитектуре.
Ну, с тремя цветами можно даже и не начинать) По любому, нужен дефолтный цвет для building=yes, цвет для жилых зданий, промышленных, служебных, остальные по умолчанию можно считать общественными (кроме no, construction ит.д., которые не рисуем). Можно приравнять служебные к yes и ужаться до 4 цветов 
Здесь могу посоветовать установить дефолтную высоту этажа в 3 метра для жилых зданий и гаражей, 4 - для общественных и служебных, 5 или больше - для промышленных. Типовые 3D-модели … для этого желательно, чтобы программа понимала design:ref, building:cladding, building:roof:shape, building:facade:colour и т.п. Впрочем, для таких типов , как ларёк, будка охранника, общественный туалет или даже частный дом, пожарная станция, супермаркет можно растягивать шаблонные текстуры… 