meta   
{
	title: "Simple building tags";
	author: "heilbron"; 
	version: "1.21_2020-10-05"; 
	description: "Visualize basic simple 3D building tags, e.g. (building) colour, building:levels, roof:levels. Improves speed of entering gathered ground truth into the map.";
	link: "https://josm.openstreetmap.de/wiki/Styles/SimpleBuildingTags";
}	
       
area[building], area[building:part]
{
        z-index: 1;
        fill-opacity: 0.03; /* let the background, i.e. the roof, be recognizable through the background */
}

area[building]["building:colour"], area[building:part]["building:colour"]
{
        z-index: 1;
        opacity: 0.9;
        color: (tag("building:colour")); /* if a color is set, use it to color the outline ... */
}

area[building]["building:colour"=white], area[building:part]["building:colour"=white]
{
        color: #F5F5F5; /* ... but make a white boarder(#FFFFFF) a bit distinguishable from a white background */
}

area[building]["building:colour"=grey], area[building:part]["building:colour"=grey]
{
        color: #AAAAAA; /* ... but make grey (#BEBEBE) a little darker*/
}

area[building]["building:colour"=darkgrey], area[building:part]["building:colour"=darkgrey]
{
        color: #505050; /* ... but make darkgrey (#A9A9A9) quite darker*/
}

area[building]["building:colour"=brown], area[building:part]["building:colour"=brown]
{
        color: #802020; /* ... but make brown (#A52A2A) darker*/
}

area[building][!"building:colour"], area[building:part][!"building:colour"]
{
        z-index: 1;
        color: #202020; /* no building:colour tag => make the outline look almost black */
}

area|z17-[building][!"building:levels"], area|z17-[building:part][!"building:levels"] /* no building:levels set? => dash the outline */
{
        z-index: 1;
        width: 4;
        dashes: 3,3; /* any building WITHOUT a building:levels tag (except fpr garages) gets a 4 pixel outline */
}

area|z17-[building=~/garage.*/], area|z17-[building:part=~/garage.*/]       /* ... but almost ignore building tags for garages, i.e. make them all look the same */
{
        z-index: 0;
        width: 2;
        dashes: 8,1;
        color: #282828; /* garages get a thin, dashed, almost black outline, unless tagged otherwise */
}

area|z17-[building="shed"]    /* ... and also treat sheds in a simplified manner */
{
        z-index: 0;
        width: 2;
        dashes: 10,1;
        color: #282828; /* garages get a thin, dashed, almost black outline, unless tagged otherwise */
}


area|z17-[building]["building:levels"], area|z17-[building:part]["building:levels"]
{
        z-index: 1;
        fill-opacity: 0.03; /* let the background, i.e. the roof, be recognizable */
        width: 5; /* any building WITH a building:levels tag (except for garages) gets a 5 pixel thick outline ... */
        /* text-halo-radius: 2; */  
	/* ... as well as a text tag giving the house number as well as the number of building:levels and roof:levels (and roof height in brackets): */
        text: eval(concat( cond(has_tag_key("addr:housenumber"), tag("addr:housenumber"), "."), " - ", tag("building:levels"), "/", cond(has_tag_key("roof:levels"), tag("roof:levels"), "") ,   cond(has_tag_key("roof:height"), concat("(",tag("roof:height"),"m)"), "")  )) ; 
        /* font-size: 9; */
        font-weight: bold;
}
