Habitat Modeling Project - Part 1: Preparation and background

ENV 761 - Landscape GIS   |   Spring 2024   |   Instructors: Peter Cada & John Fay  |  

Contents

Recordings


Step 1.1. Preparing your workspace

  • Create a workspace using the standard format we’ve been using (project folder with Data, Docs, Scratch, and Scripts subfolders, etc.).
  • Extract the contents of the SDM_Exercise.zip file and move contents to the appropriate directories. (MaxEnt files can go either in the root folder or the Scripts subfolder.)
  • Create a new ArcGIS Pro project document. Add the toolbox provided in the zip file as well.

Step 1.2. Compile information on the species (ecological model...)

The first step in any habitat modeling exercise is to become as familiar as you can with the species you are modeling. In the framework presented by M.P. Austin (2002), this constitutes our ecological model. This model helps guide the analysis and likely make your work more efficient and productive. There are a few useful sites for finding general information, and even some distribution data, for species. These include:

From these sources, you can determine the following information about the pigmy salamander…

  • It’s usually observed between 1600 and 2012 m in elevation, but has been seen as low as 762 m.

  • It’s often found near spruce fir stands at higher elevations, and mesophytic cove forests at lower elevations.

  • While it’s entirely terrestrial, 76% of the observations were within 61 m of streams.

  • It hides under moss, leaf litter, logs, bark, and rocks.

  • It hibernates in underground seepages.

  • There may be two distinct populations, one northern and one southern

Step 1.3. Generate a list of [possibly] relevant environmental variables (data model…)

So, with this background, we can generate a more informed hypothesis about our species. For example, we see that elevation is important (though we can only speculate why: temperature?). Furthermore, we have some general vegetation associations to narrow in on, and we see that moisture is important as the salamander needs seepages for hibernation. We are not aware of any direct relationships with the solar exposure or slope, though those factors may have important indirect contributions to temperature. There may well be other factors, but our first-hand information is limited.

The ensuing step is to generate our data model, i.e. to see what spatial data sets we might have or could generate that could serve as proxies for the above conditions. Elevation is an obvious one. A vegetation map of the thematic resolution that identities the classes important to a salamander, if available, would be another useful data set. For the moisture constraints, we aren’t likely to have a map of underground seepages, but perhaps a soils map or one of our DEM based moisture maps could prove useful. (Yes, we are simplifying things a bit here, but for the purposes of the exercise, this should be fine…)

Step 1.4. Build a geodatabase of [possibly] relevant environmental variables

It’s here where we apply the skills developed in the previous class section to use. We want to assemble a geospatial database to include the best proxies for the environmental conditions outlined above. Knowing that you could do this on your own, I’ve opted to save time and provide the raw data for you. These include a 1 arc-second DEM from the National Atlas, land cover from two sources - the 2011 NLCD and the Southeast Regional GAP program, and climate data (monthly temperature and precipitation) from Oregon State’s PRISM data set. Additionally, I’ve digested a few of these datasets to move the analysis along.

What’s been done for you…

The elevation and NLCD (2006) data have been downloaded from the National Map and projected to the UTM Zone 17 (NAD 83) coordinate system at a 30 m cell size. The SE Regional Gap Vegetation data was also subset for the study area and projected to the UTM Zone 17 coordinate system at a 30 m cell size). The process I used is captured in the geoprocessing model named “A. NED, NLCD, GAP preprocessing” found in the ENV761_HabitatModeling toolbox provided to you. The raw data files are not provided to you, but can be made available.

The PRISM climate data, which include mean monthly precipitation, minimum monthly temperature, and maximum monthly temperature (a total of 36 data layers) were summarized into bioclimatically relevant layers. These include mean monthly precipitation, precipitation of the driest month and of the wettest month, as well as mean minimum monthly temperature and mean maximum monthly temperature (a total of 5 summaries). These climate summary data sets, calculated in their native coordinate system (WGS 1972) and cell size (1 km), were projected to the UTM Zone 17 coordinate system while downscaling the cells to 30 m using a bilinear interpolation. The cells were downscaled to match the cell size of the other raster layers. The process I used is captured in the geoprocessing model named “B. PRISM Summaries” found in the ENV761_HabitatModeling toolbox provided to you. (Again the raw data files are not provided, but can be made available.)

NOTE: The units of these PRISM datasets are in mm x100 and °C x100 for precipitation and temperature, respectively. (So a cell value of 2300 in the PPTMax dataset is 23 mm of precipitation).

What you need to do…

Later in our analyses, we’ll be exporting all our environment rasters into a MaxEnt compatible format (ASCII). As you’ll see later in this exercise, putting all our rasters into a single geodatabase will facilitate this step, so:

  • Create a new file geodatabase in your project workspace called EnvVars.
  • Copy your NED30 and SEReGAP rasters (which have already been clipped to the proper extent) into that geodatabase.

While a good deal of the data assembly was done for you, you still need to subset the NLCD and PRISM datasets (so that all share the exact same extent, as well as to conserve disk space) and derive any additional datasets you require. If you begin by subsetting the data, then any derived datasets should match the extent as well. So begin there.

  • Subset the NLCD and PRISM data sets to the extent of your AnalysisMask.img dataset. Make sure the outputs go to your EnvVars geodatabase.

From here, we’ll compute a number of other derived datasets.

  • Create DEM-derived datasets
    • Slope (percent rise, planar)
    • Northness: Cos([Aspect] * math.pi/180)
    • Eastness: Sin([Aspect] * math.pi/180)
    • Insolation (Azimuth = 225; Altitude = 30)
    • TPI_250 (annulus with 30/250m inner/outer radii)
    • TPI_2000 (annulus with 1500/2000m inner/outer radii)
  • Create a stream raster, as we did in previous labs, assigning streams as flow accumulation (D8) >= 1000 cells.

  • Distance to Stream: Euclidean distance [planar] from these streams (we’re talking salamanders here, not rainfall…)

♦ Conduct a neighborhood analysis on forest cover types

Another dataset we will create is neighborhood percentage of important forest layers. This is created by first extracting the classes from the GAP land cover dataset likely to be good salamander habitat (classes 63, 84, and 96) into a binary raster (‘1’ if it is one of those classes; ‘0’ if not), and then calculating a neighborhood mean on that raster. The result will be the percentage of cells within the neighborhood radius that are within the specified classes.

This data set is potentially useful for two reasons. First, since class boundaries are seldom exact in any land cover map, this “smooths” the data a bit, allowing habitat to include pixels that are not just classified as the selected forest type, but also those that are in close proximity to them. Second, if we use this environmental layer in any inductive, or statistics-based, model (which we will), this alleviates the issue that an observation location may be imprecise, in which case the land cover class extracted for a given sample would be completely off (for example a meadow one cell away from proper forest cover).

When creating a focal forest layer, there is the question of what to use for a focal radius. As we don’t have much information to go on, we’ll try two distances.

  • Create focal forest layers for SE Regional GAP cover types 63, 84, and 96 - one using a radius of 150 m and one with a radius of 400 m.

You should now have 17 raster datasets representing your environmental layers all in a single folder. That folder should look like this in ArcCatalog (though your names may be different):

ENV VARIABLE LIST

Furthermore, each of these rasters should have the same extent and cell size as the Analysis mask. If you open up the properties of each and click on the Source tab, they should show they have 3187 columns and 3051 rows in the Raster Information setting.

Once these rasters are created, we are ready to begin map the salamander’s habitat using an arsenal of rule based and/or statistical approaches.