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 oriented.
  • 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 better.
  • 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 elevation. This approximates the area inundated by the lake prior to the dam collapse.
  • 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 map text.
  • 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 it.
  • 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 pseudo-HTML formats.
  • 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.