Johnstown Flood map, and how it was created
Here's a PNG image of a Johnstown Flood map that I created from DEM
and TIGER/Line data using ArcGIS and some Spatial Analyst utilities.
Procedures and some tricks used in creating this map are listed below.
Portions of the lake, river and town are clickable, bringing up
images from the disaster.
Data sources: USGS seamless data-server 1-arc-second digital elevation
data; US Census Bureau 2009 TIGER/Line files for Cambria County, PA.
Procedures and tricks:
Download, unzip and add the data to ArcGIS.
Set the dataframe projection (PA State Plane South, NAD 1983 HARN meters).
Overlay the TIGER road, stream and water polyogn layers to get visually
Set the map extent so it encompasses the study area and a fair
amount of surrounding
terrain, and export a 30-meter resolution
DEM using the extent and dataframe projection.
Create the Hillshade map from the DEM. Symbolize it with a
histogram-equalized grayscale color ramp to maximize its contrast.
Create a Slope map too.
I symbolized the DEM itself with a standard elevation color
ramp using a
minimum-maximum stretch, and overlaid with 40% transparency on top of
the hillshade map. The transparency levels for both rasters can be
increased to make the superimposed line and polygon features stand out
- Use the Spatial Analyst Hydrology tools to Fill the DEM and
create a FlowDirection map from the filled (hydrologically "correct") DEM.
Create a point shapefile with a single point identifying the location
of the dam breach. Note its elevation.
Use this as a "pour point" with the Basin tool to identify the
map area that drains to that point.
Use the Raster Calculator to extract all cells from this drainage area
with elevations less than, say, 25 meters above the pour point's
This approximates the area inundated by the lake prior to the dam
Calculate the lake depth for each cell. Multiply the depth by 900 times
the cell count. (Each cell's water volume in cubic meters is
30 x 30 x depth.) Sum this field to obtain an estimated total water
volume in the lake. I symbolized the lake depth raster using light-blue
to dark-blue stretched color ramp with a transparent background, and
superimposed it on the hillshaded DEM.
- I added the black outline around the lake, by creating a binary raster
of the inundated area, converting it to a polygon, and overlaying the
polygon with no fill color.
- Use the FlowAccumulation tool with the Flow Direction map to
calculate flow accumulations; then use Spatial Analyst to extract
cells with flow accumulations greater than, say, 30,000 (cells).
These are primary stream channels.
- Use the StreamLink tool to assign a different category number to
each segment of this inferred stream network.
- Use the Raster Calculator to extract a binary raster of just the
stream links for the Conemaugh River between the lake
and its junction with Stony Creek in Johnstown. Multiply this by
the Slope map to obtain stream slope for each river cell.
I used a 3x3 maximum filter to "fatten up" the stream slope map for
better visualization. I overlaid this raster using a
rainbow (cool-to-hot) color ramp with a histogram-equalized stretch.
The redder areas are where the flood surge would have picked up speed.
I added the black outline of the stream slope raster by creating a binary
raster from the "fattened
up" stream slope map, converting this to a polygon, and overlaying the
polygon with no fill color.
- Since this is Cambria County, I chose a Cambria font for all of the
- Arc's text formatting tools are horribly disorganized; you just
explore them and experiment with the options. When you get a text element
you like, you can replicate it and edit the copy rather than go through
the whole creation process again.
- In Layout mode, I added the Title box in white with 1-point black
shading to help the text stand out,
using the pseudo-HTML format tags to specify font color, size and face,
etc. I modified replicate boxes to use as labels for the lake and
town, and the "John Mackenzie,
2011" text at the bottom.
- I used the simplest legend format I could find. Does it really
have to say "Legend?" I probably should have included the DEM in
I added the text boxes as "callouts" to
identify the dam breach,
temporary debris pileup at the viaduct,
and the Stone Bridge in Johnstown. Each callout uses the same
- I added a simple scale bar with no border, so that I could overlap
the projection information in a text box with no border.
- I used GIMP to do final touch-ups such as creating and adding a
simple custom North arrow, adding the black border
around the scale bar and projection info, etc.