Salmon Spawning Redds and Timber Harvests
A Watershed GIS Based Analysis
A Watershed GIS Based Analysis
ESRI's ArcGIS will be used in this Assignment
Salmon are a highly endangered species in California's rivers and streams. In this analysis, we will explore how activities in the surrounding regions, such as harvesting of trees for wood, may or may not affect the salmon in the streams below by looking at the locations of salmon nests, called redds, in relation to where timber (wood) harvesting is occurring.
Check it out Here : Generating Streamlines from Digital Elevation Models
Objective: Explore the cumulative effect of timber harvests on alteration of spawning redds using subwatersheds as units of analysis.
Evaluate number of spawning redds per subwatershed created for the Navarro Stream Network
Evaluate the percentage of watershed harvested of the selected subwatersheds
Incorporate field data from the California Department of Forestry
Graph the relationship for timber harvests as it relates to salmon spawning activity (redd locations)
First, we'll set the processing extent. By default, ArcGIS sets the processing extent to be the union of the inputs. In this case, we'll set a different extent, we choose nav_dem_10m layer to set our processing extent
Now, let's set the cell size for the raster analysis. Again, since our current data is derived from nav_dem_10m layer, this may not be necessary, since it will be 10m by default, but if we add new data later that's not at 10 meter resolution, this will force a resampling of the data to 10 meters, rather than ArcGIS selecting the maximum cell size of all rasters involved and resampling other rasters up to that.
Setting the workspace, for this project and for each other project, it is better to save all layers created during a project to a geodatabse specific for that project for ease of access and management.
ArcGIS by default saves all generated layers to default.gdb, instead, we are going to create a scratch.gdb and set it as our current and scratch workspace
Now, just for better visuals, I will set a different symbology for the stream segments in a way that reflects their size, the attribute grid_code has 5 classes that we will use as base to determine the thickness of the symbol.
Time to add some hillshade to our projects,
At first, Result will look as the image on the right, but will adjust display for nav_dem_10m (our digital elevation model) layer to about 30% transparency to see both layers.
It will look something like this :
We'll create a set of watershed values and polygons to work with our data, based on the stream network we saw above.
Watershed basically are polygons generated based on the both Digital elevation model and pour points layers so that areas that have streams pouring on the same points are grouped together as one polygon.
For more about the Watershed tool and Watershed here is a useful article :
https://pro.arcgis.com/en/pro-app/latest/tool-reference/spatial-analyst/how-watershed-works.htm
Adding the salmon nest data
Now that we have the watershed data, we'll start working with the salmon redds (nests).
We will add the table that contains the GPS-derived locations of the redds, as well as some other information.
The objective here is to use this data to create a spatial layer of the redds to compare with the watersheds.
Data Table with LONGITUDE AND LATITIUDE Fields, in addition to other information
The Table contains GPS-derived locations, and won't be immediately recognized by ArcMap, so we will tell it where X and Y data and the projection so it can display those data points
One odd thing we notice is that the data points doesn't coincide with the stream location, instead, we see that most points are a little further from that location even though all this data about Salmon was taken from inside the streams.
A solution to this would be by telling ArcMap to "snap" the points back to nearest stream to it.
Converting a raster to polygons , why would we do that ?, Good Question.
It turns out, the polygons aren't as good as we'd hoped,
but we can remedy this by dissolving those extra polygons into one
Attaching the data together
OK, we've dealt with our current data management needs, since we now have our redd features created and snapped, and our watershed polygons created. We still haven't loaded the timber harvest plan data, but if we ultimately plan to attach it to the watersheds, we can continue with the data we're already using by attaching a count of the number of redds to each watershed. The first tool that should come to mind when thinking of attaching information based on location is... Spatial Join! Other tools for different data types would be Zonal Statistics as Table, Extract Multivalues to Points, etc. But for now, we need the excellent powers of the Spatial Join tool (I love this tool). One nifty trick about it is that if you use the JOIN_ONE_TO_ONE mode of the tool, it will give you a field called JOIN_COUNT indicating the number of features joined. In this case, we're not really concerned with the attributes, but just with the number of redds in each watershed, so that's perfect. Let's run it now. Find it and open it up.
After intersection, we will have a Field called Join_count that has the number of redds that intersected spatially with each polygon.
some watersheds didn't have any, so we will exclude them from display and focus on those that have at least 1 redd.
The data for the timber harvest is a raster, each value/color represent a year for the timber harvest.
there was a value of 0 in it where it had a large area where there was no harvest, we extracted it out, and kept only non zero values
So far, we have the layer that shows watersheds with Redds in them (Left) , and another layer we just created for Timber harvest with values/color representing year of harvest.
For this, we will be using the Tabulate area tool, which will give us the area of timber harvest on each of the watershed that have Redds in them.
The results will be in the form of a table as shown below. What the table shows is gridcode for each watershed (for example 1) and then it gives for each timber area for example for the gridcode 1 we have VALUE_88 = 0 but VALUE_89 = 139400 that means the watershed corresponding to gridcode 1 had no timber harvest in 1988 but had 139400 squared meter of timber area harvest from it in 1989.
Ofcourse, we can join this table with our Watershed layer to make more sense.
Now, that we've gotten our data all attached to a common unit of aggregation - the watersheds in this case. We can begin the analysis now! What we're going to assess is the relationship between the number of redds and the percentage of the watershed that was part of a timber harvest plan in any year during the span of years our timber harvest data covers
(total area under timber harvest / total watershed area) * 100
One last data management step before analyzing our results, since we are only interested with watersheds that have Redds in them, we will create a layer where we only have Redds > 0
Then
Is there truly a trend, or do we just have some outliers influencing it? Are there mechanisms that could cause there to be more redds in areas that have a medium percentage are under timber harvest?
Since I'm not an expert in these areas, I might not be able to answer these questions, but these are the types of questions that need to be answered with this data
It is clear, that ArcGIS and GIS software in general are powerful tools and are essential for any geographical data analysis that we might do.