Damaged buildings crisis mapping

From OpenStreetMap Wiki
Jump to navigation Jump to search

This page was last edited in 2013. It conflicts with present, 2020, OSM tagging and should be updated and modified. Best to engage the OSM tagging list for tagging information and ideas. See https://lists.openstreetmap.org/listinfo/tagging

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.

Note : This tag schema is used currently during Typhoon Haiyan mapping. It has been adapted to be able to respond rapidly to humanitarian and produce maps including damaged / collapsed buildings. We were succesful to produce these maps ten days after the Typhoon. There are presently discussions to find a more permanent schema. In the meantime, it is important that we have a coordinated response. Contributors should continue to use the instructions provided in the Workflow section of each Task Manager job. We will have to coordinate any modification to the tag schema and revise the OSM Database and the various tools using this tag schema.


Undamaged buildings:

building=yes typhoon:reviewed=yes

Damaged buildings:

typhoon:damage=yes used along side one of

building=damaged - for damaged buildings
building=collapsed - for complete collapsed buildings


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

HOT Task No. 350 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 open overpass-turbo 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;}
}}