Friday, April 11, 2025

GIS Portfolio

 We were tasked to create a GIS portfolio for our internship program. It was a great opportunity to put organize the work I have been doing. I chose to create a StoryMap to get more practice utilizing the program. My only challenge was how to include my resume, I chose to add it to google drive and link it to a button in my StoryMap. My final portfolio can be seen at https://arcg.is/0SKWP9.

Sunday, March 30, 2025

GIS event

 We were tasked to hold an GIS event to share information about GIS with friends/family members. I was tasked recently with making two maps depicting Choctawhatchee Riverkeepers PFAS data for the Choctawhatchee and Pea River watersheds which was used in a presentation at the Alabama Rivers Alliance annual Water Rally. For my event I chose to share these maps with my family and give them some background behind the maps, why I chose to represent the data how I did and how GIS helps make the data more approachable.







Sunday, February 16, 2025

Internship- Mid-Semester Update

Over the past several months I have been working to identify spectral recovery patterns for the 2000 Jasper Fire in the Black Hills region of South Dakota. This has been an enjoyable and challenging experience that has given me the opportunity to develop many new geospatial skills and gain considerable knowledge of fire ecology.

I went into this process thinking I would would extract data, apply analysis methods and get direct results but I have been surprised at how many different methods of analysis and definitions of recovery there are in remote sensing. As an example there is no widely accepted definition of "spectral recovery". Each study I found when researching utilized different spectral recovery metrics and different ways of representing "recovery". There were some similarities and general categories of spectral metrics and recovery variables that were used- many studies utilized some sort of percentage of the pre-fire spectral value to determine recovery patterns. Others used the magnitude of the disturbance when the fire occurred as a way of calculating a slope or a point of recovery.

With the help of my mentors I developed my own process of measuring the recovery of the burn scar. I took the pre-fire value and utilized the 80% of pre-fire spectral value as a "recovery" point, which I had seen used in several different studies. One flaw I found when analyzing the data was that this metric was influenced by climate patterns in a way that could give a "false" recovery reading- there was one year that was extremely wet and had a noticeable increase in "recovered" pixels. There were many pixels that "recovered" for that year and then never hit the recovery value again. To me this was not a true representation of recovery. To account for this discrepancy I chose to represent my data in terms of "Years at Recovery", which was the number of years an area hit the 80% of the pre-fire NBR. I have created a map to show this initial analysis. I will be using this recovery metric to try to identify factors that have influenced recovery, such as topography, climate, and proximity to unburned pixels.


Monday, January 27, 2025

Internship- GIS Job Search

    As I have explored job opportunities throughout the program, I have been excited to see all the different ways GIS can be applied. It has always been my goal to find a position where I can contribute to environmental research or conservation efforts. With this in mind I have been focusing my search on various natural resources job boards, government positions and various research centers and non-profit organizations.

    My biggest takeaway is that these positions often require a range of skillsets- scientific communication, experience writing peer-reviewed research papers, proficiency with programming, background knowledge in ecology and natural resources, remote sensing, field work experience, statistics and data analysis, etc. I have even seen some positions that want further skills like website development and management, or social media management. This offers ample opportunity for continuous skill development and refinement, something I am excited about because it is important to me to find a position where I can continue to learn. 

Wednesday, January 15, 2025

Internship Course- Introductory Blog and User Groups

     I was selected for a Virtual Student Federal Service internship with USGS EROS Center analyzing post-fire recovery trends for the 2001 Jasper in the Black Hills Region of South Dakota from August 2024 through May 2025. I am utilizing a combination ESRI ArcGIS Pro, R studio, and Python to analyze datasets including climate, landcover, topography (derived from DEM), Landsat, Aerial LiDAR, Terrestrial LiDAR to assess spectral recovery almost 25 years after the devastating wildfire. I will utilize additional resources such as the USFS datasets, National Hydrography dataset, MTBS datasets and LandFire data to give additional perspective on the area.

Since the internship spans 9 months I have already laid some of the groundwork for spectral recovery and this semester will be building on what I have already done and presenting my findings. My big questions are “How do we define recovery” and “With that definition in mind, what areas are recovered and what factors may be influencing that recovery”. There is no specific standard for determining whether an area has recovered from fire damage and I am utilizing a variety of resources, definitions obtained through the literature, and trends pulled out from the data to assess the recovery patterns that can be observed.

 I also plan to apply deep learning and machine learning algorithms to the LiDAR data and Landsat data to try to recreate an idea of what the forest structure looked like pre-fire. This is important because LiDAR only became available for this area in 2019 so structural characteristics like tree height and canopy density are unable to be determined. If a DL or ML algorithm can make strong predictions based on what is observed spectrally in the Landsat compared to what is observed in the LiDAR data for the same time period, that algorithm can hypothetically be applied to previous Landsat scans as a rough estimation for comparison. It will be interesting to see if areas that are “spectrally recovered” are also recovering their pre-fire forest state, or if they are recovering spectrally while still being classified as “open canopy” as opposed to “closed” or “shrubs” as opposed to “trees”.

I chose to join two different GIS user groups for community engagement as I begin my GIS career. I joined the Women in GIS group and the GIS Association of Alabama. I joined the WIGIS because I appreciated the variety of professional development opportunities they offered. I joined the GIS Association of Alabama to connect with the broader Alabama GIS community.

Tuesday, November 19, 2024

Using ArcGIS Pro for Time Series Analysis of Landsat Data

Project
Run a time series analysis to analyze spectral recovery following the 2000 Jasper Fire in South Dakota.

Data
For this project data was obtained from June 1- August 31 each year from 1995 to 2022. Landsat 5, 7 and 8 sensors were all included and data was selected from Earth Explorer. Data was converted to the NBR spectral index, projected to UTM Zone 13, and clipped 3 meters of the burn boundary using ESPA. 
After downloading, peak of greenness (POG) was estimated using the MTBS NDVI online tool. Python was used to narrow files to those which fell within 5 days in either direction of POG. After the datasets were selected, ArcGIS Pro was used to decode the QA pixel for each dataset and select the clearest images that fell within range of the POG. Each dataset was rated subjectively on a scale of 1-3 with 1 being unsuitable for analysis, 2 being suitable but still very cloudy and 3 being mostly clear. If multiple datasets were suitable for analysis and fell within the 5 day range, the one closest to the actual data was selected. If POG lasted for a longer period of time and multiple clear datasets fell within POG the central dataset was selected. For 2013 a dataset within 5 days of POG was not possible due to limited data sets that covered the burn boundary and fell within the peak of greenness dates, so the dataset that was closest to POG and acceptable for analysis was selected.

Creating and Populating a Mosaic Dataset
Once a suitable POG dataset was selected for each year of analysis, datasets were compiled into a mosaic dataset in ArcGIS Pro using the Create Mosaic Dataset tool followed by the Add Rasters to Mosaic Dataset tool. 

Examples of the Create Mosaic Dataset and Add Rasters to Mosaic Dataset tools


The following steps outline how to populate and mask a mosaic dataset.
After creating a Mosaic Dataset add the desired raster types. The tool has to be run separately for each of the Landsat types. Set the raster type to the appropriate Landsat sensor. The default raster type is "Raster", but if you leave this setting you will pull the .tif files instead of the .xml/ MTL files. If you want to add a cloud mask to your files later on it is necessary to pull the data from the .xml/MTL file. If you pull the .tif files the group name isn't populated so you will be unable to match the appropriate QA band to the appropriate raster.

 For the purposes of my analysis I wanted to add the Spectral Indices as my processing template, which would pull my NBR file. I changed input data to "Folder" and selected the folder with my chosen dataset. I then selected to calculate mosaic statistics and clicked run to add the files to my dataset. Repeat this for all Landsat sensors represented in your datasets.

After all the spectral index files are added to the mosaic dataset, add the QA files. This process is similar to adding the indices but instead of selecting "spectral indices" as the processing template select "QA". After selecting the processing template, click the edit button beside the template. This pulls up the raster functions pane.

 In the raster function page, search for the "remap" function. Drag the remap function to the function editor pane. Remove the identity function and click and drag your mouse from the QA raster to the remap function. An arrow should appear, linking your raster to the function. 

Double click the remap function in the function editor to bring up the remap properties pane. Set the variables to match with the desired pixel values according to the landsat documentation for the specific sensor you selected, Landsat 8 has different pixel values than Landsat 5 and 7. Set the output value to 1. For my map I wanted all clear pixels to remain visible and all others set to "No Data". Make sure the  "Change Unmatched Values to NoData" option is selected.

The raster functions pan can be seen on the left, the function editor appears on the bottom of the screen and the remap properties pane appears above it. The pixel values in this example align with the "clear" pixel values obtained from Landsat 8 documentation on the USGS website. Landsat 5 and 7 use different values to represent clear pixels.




Hit the save button at the top of the function editor. This should bring you back to the "Add Raster to Mosaic Dataset Pane". Deselect the "Estimate Mosaic Dataset Statistics" and click run to add the QA raster. Repeat for all sensors.

This is important for masking: in your attribute table for your mosaic, make sure the GroupName column for your rasters is present. Your raster group name should match up to the corresponding QA pixel group name. The Tag column should match the processing template chosen when uploading your rasters.

Attribute table for the mosaic dataset. Can be accessed by right clicking the mosaic dataset and selecting "Open Table"


To create a mask template access the catalog pane and right click your mosaic dataset. Select "Manage Processing Templates". Click the hamburger menu button and select “Create New Template”. Under raster functions search for clip and add clip raster function to the raster function editor. Double clip the clip function to open the clip properties pan. Click the variables tab and set the appropriate GroupName variables as the "Raster" and "Clip" features, these variables will align with your "Tag" column in the raster attribute table. In my case the Raster to be clipped was the SpectralIndices and the clipping raster was the QA raster. Click Okay. 

Save the raster in the function editor. This will pull up the "Save" pane. Add desired name and description information. Set the "type" field to item group. Set the group field as "GroupName" and the tag field as "Tag". Uncheck the match variables option.




Example of the Clip Properties and Save panes


After saving the Clip Function, return to the Manage Processing Template pane and click to star to set it as your default template. Your mosaic dataset should be masked, but if for some reason the processing template is not applying you can make sure it is activated through the ribbon. With your mosaic dataset selected in your contents pane, select the "Data" tab at the top of  the ribbon. Under the "Processing" group select "Processing Templates" and make sure your masking template is selected.

Create a Multidimensional Dataset
To add multidimensional data to a mosaic dataset utilize the Build Multidimensional Information Tool. Set the variable field to the product name and set the variable name to the appropriate layer, in my case I set it to Spectral Index. Set the Dimension field to the Acquisition date.

After running this tool you should be able to adjust the slider along the top of the map view to view your masked data over time.


Finally, use the Copy Raster Tool to convert the multidimension dataset to a CRF file. Select the options to "Process as Multidimensional" and "Build Multidimensional Transpose". You now have a .CFR file suitable for time series analysis. 


The Copy Raster Tool converts the multidimensional dataset to the .CRF format to optimize for analysis.






Thursday, October 3, 2024

Module 6- Special Topics- Scale Effect and Spatial Data Aggregation

Our final lab for Special Topics began with exploring the effects of scale on vector data and resolution on raster imagery. We began with a hydrographic vector data set scaled to 1:1,200, 1:24,000, and 1:100,000 and calculated the area and perimeter of the polygon features as well as the count and total length of the line features. The result of scaling the feature classes differently was that as the scale decreased, variables calculated for the water features increased. In addition to the length of the water features being calculated at a higher number, the difference in the scale was visually noticeable as some hydrographic features were only visible at smaller scale.

A close up view of my hydrographic line features with yellow being the largest scale, and blue being the smallest scale. As you can see, the smaller the scale the finer the features that visible.


After exploring scale we resampled a DEM file to compare 6 different resolutions: 1m, 2m, 5m, 10m, 20m, 90m. Raster resolution is correlated with pixel size, so smaller resolution numbers indicate smaller, more detailed pixels, while a raster with larger pixel sizes would be expected to have less detail. We calculated the slope of each raster and examined the results which showed that as the resolution increased, the average slope also decreased.

For the second half of the lab, we explored the Modified Area Unit Problem by using census data to explore how the results of our data analysis can differ based on how we group our data for analysis. In this situation we were analyzing census data to determine how race affected poverty status, and we separately analyzed data by block groups, zip codes, housing voting districts and counties. We saw that the data could vary significantly based on which of the 4 units of analysis were used to analyze it.

Lastly, we explored gerrymandering. Gerrymandering is the process of manipulating the boundaries of voting districts in order to favor a certain political party. Gerrymandered districts tend to have very irregular boundaries and one way to measure this is the Polsby-Popper Test, which uses and equation to measure how compact a district is on a scale of 0 (least compact) to 1 (most compact), with the assumption that the most compact districts are the least gerrymandered. Here is an examples of an extremely gerrymandered district as determined by this method.



GIS Portfolio

 We were tasked to create a GIS portfolio for our internship program. It was a great opportunity to put organize the work I have been doing....