NCSU home

Raster-based analysis of changes in structures (homes and other buildings)

E. Hardin, M.O. Kurum, H. Mitasova

Identification of changes in buildings

# Results of raster time series analysis
# can be used to identify locations where the change in elevation indicates
# change in a building 
# identify elevations above a user chosen threshold (9m) in maximum elevation map
put here how maximum elevation map is computed (envelope - core?)
r.mapcalc 'MyHousesRast=if((MyMaximumMap-9),1,null(),null())'

# convert the remaining raster area to a vector area
# and remove small areas (tool=rmarea) that may be tops of tall trees or data anomalies 
r.to.vect input=MyHousesRast output=MyHousesVect feature=area 
v.clean input=MyHousesVect output=MyHousesVectClean tool=rmarea thresh=6

# convert the vector area to a vector point representing the house location
v.type input=MyHousesVectClean output=MyHousesPoint type=centroid,point 

# houses that were either constructed or had fallen during the study period 
# can be identified using the following condition:
r.mapcalc 'MyHouses=if((9-MyMaximum),null(),null(),\
if((MyEarliestDEM-9)*(MyLatestDEM-9),null(),null(),\
if((MyLatestDEM-9),1,1,0)))'

# This condition reads: 
# if the maximum map is less than 9m, then it wasn't a house, set cell to null
# if the elevation was greater than zero in both the earliest map and the latest map, 
# then the house was likely stable though the entire study period, set cell to null
# if the previous condition was not met and the house is standing in the latest map, 
# then it was likely built, set cell to 1 = constructed
# otherwise, the house was destroyed at some point set cell to 0 = destroyed
# Now, this map can be overlaid on top of any other map to highlight structural activity.