Damaged buildings crisis mapping
Various techniques have been developed for damaged buildings crisis mapping, i.e. using tags to record the status of buildings (whether they are damaged or not) and visualising the results.
Undamaged buildings:
building=yes typhoon:reviewed=yes
Damaged buildings:
typhoon:damage=yes used along side one of
Other typhoon damage:
barrier=debris + typhoon:damage=yes - For an obstacle at a point on the road
For a blocked road section make a segment covering the damages and mark it: status=impassable + typhoon:damage=yes
Areas of debris (houses collapsed) landuse=brownfield + typhoon:damage=yes
For areas that cannot be mapped due to cloud cover: typhoon:reviewed=cloud
MapCSS style for JOSM
Michael Andersen@HOT ML made a mapcss style for JOSM.
It can distinguish damaged/collapsed buildings. (damaged=green, collapsed=red)
Copy & Paste following text, and save it as "collapsed.mapcss" on Desktop or somewhere you can find.
Then load it on JOSM setting, and turn it ON. (setting > style tab ;please correct this line as English version;)
meta { title: "Collapsed/damaged buildings"; author: "Hjart"; version: "0.1_2013-11-13"; description: "Style to classify buildings"; link: ; watch-modified: true; } area[building=collapsed] { text: "collapsed"; text-color: black; dashes: 20,4; font-size: 10; z-index: 1; color: #FF2238; fill-color: #FF2238; width: 3; } area[building=damaged] { text: "damaged"; text-color: black; font-size: 10; z-index: 1; color: #F5FF3B; fill-color: #F5FF3B; width: 3; dashes: 20,4; } area[typhoon:reviewed=yes] { text: "damaged"; text-color: black; font-size: 10; z-index: 1; color: #3CED28; fill-color: #3CED28; width: 3; } area[typhoon:reviewed=cloud] { text: "damaged"; text-color: black; font-size: 10; z-index: 1; color: #3CED28; fill-color: #3CED28; width: 3; dashes: 10,10; }
Building status visualisation
For non-JOSM users, the Overpass Turbo data mining tool allows building and road status visualisation on a map using the current osm database.
- It displays buildings in different colors (damaged=orange, collapsed=red, typhoon:reviewed=green, all others=blue).
- The outline of a damaged or collapsed building is yellow if the typhoon:damage=yes and source tag is missing, dashed yellow if only the source tag is missing.
- Impassable roads are marked in magenta, they are dashed if the typhoon:damage=yes tag is missing.
- Barrier nodes are marked in magenta, if the typhoon:damage=yes tag is missing they are outlined in yellow.
- Areas of debris tagged with landuse=brownfield + typhoon:damage=yes are displayed in brown.
Either use this link or
copy the following code and replace the sample script on the left side of the overpass turbo site.
Hints:
- To run the query with the current map region, press the top left 'run' button.
- You can hide the script window with the second lowest button of the map toolbar
- Under Settings / Map select 'Don't display small features as POIs.' so that small features are drawn as they are
- Do not zoom out too far, otherwise lots of data will be generated.
<!-- Color buildings, impassable roads and areas of debris according to HOT Typhoon Haiyan Job 350/356/360 tags. [Version 1.5] --> <osm-script output="json"> <query type="way"> <has-kv k="building"/> <bbox-query {{bbox}}/> </query> <print mode="body"/> <recurse type="down"/> <print mode="skeleton"/> <query type="way"> <has-kv k="status"/> <bbox-query {{bbox}}/> </query> <print mode="body"/> <recurse type="down"/> <print mode="skeleton"/> <query type="way"> <has-kv k="landuse" v="brownfield" /> <has-kv k="typhoon:damage" v="yes" /> <bbox-query {{bbox}}/> </query> <print mode="body"/> <recurse type="down"/> <print mode="skeleton"/> <query type="node"> <has-kv k="barrier" v="debris"/> <bbox-query {{bbox}}/> </query> <print mode="body"/> <recurse type="down"/> <print mode="skeleton"/> <query type="way"> <has-kv k="typhoon:reviewed"/> <bbox-query {{bbox}}/> </query> <print mode="body"/> <recurse type="down"/> <print mode="skeleton"/> </osm-script> {{style: node[barrier=debris] { color:Yellow; fill-color:Magenta;width:4;dashes:5,0;opacity:1;fill-opacity:0.6;} node[barrier=debris][typhoon:damage=yes] { color:Magenta; fill-color:Magenta;width:4;opacity:0;fill-opacity:0.6;} way[landuse=brownfield][typhoon:damage=yes] { color:SaddleBrown ; fill-color:Sienna;width:3;opacity:1;fill-opacity:0.3;} way[status=impassable] { color:Magenta; fill-color:Magenta;width:10;dashes:10,10;opacity:0.6;fill-opacity:0.6;} way[status=impassable][typhoon:damage=yes] { color:Magenta; fill-color:Magenta;width:10;dashes:10,0;fill-opacity:0.6;} way[highway][typhoon:reviewed=yes] { color:Green ; fill-color:Green;opacity:0.8;fill-opacity:0.0;} way[landuse][typhoon:reviewed=yes] { color:Gray ; fill-color:Green;opacity:0.8;fill-opacity:0.0;} way[building] { color:blue; fill-color:blue;opacity:0.4;fill-opacity:0.4;} way[typhoon:reviewed=cloud] { color:grey; fill-color:Beige;Beige :2;opacity:1;fill-opacity:0.4;} way[building][typhoon:reviewed=yes] { color:green; fill-color:green;fill-opacity:0.8;} way[building=damaged] { color:Yellow; fill-color:orange;width:3;opacity:1;fill-opacity:0.8;} way[building=damaged][typhoon:damage=yes], way[building=damaged][typhoon:reviewed=yes] { color:Yellow; fill-color:orange;width:3;dashes:5,5;opacity:1;fill-opacity:0.8;} way[building=damaged][typhoon:damage=yes][source!=~/Bing|bing/], way[building=damaged][typhoon:reviewed=yes][source!=~/Bing|bing/] { color:grey; fill-color:orange;dashes:10,0;width:1;fill-opacity:0.8;} way[building=collapsed] { color:Yellow; fill-color:red;width:3;opacity:1;fill-opacity:1} way[building=collapsed][typhoon:damage=yes], way[building=collapsed][typhoon:reviewed=yes] { color:Yellow; fill-color:red;width:3;dashes:5,5;opacity:1;fill-opacity:0.8;} way[building=collapsed][typhoon:damage=yes][source!=~/Bing|bing/], way[building=collapsed][typhoon:reviewed=yes][source!=~/Bing|bing/] { color:grey; fill-color:red;dashes:10,0;width:1;fill-opacity:0.8;} }}