Monday, December 8, 2025

GIS Portfolio


As I wrap up the Graduate GIS Certificate at the University of West Florida, I’ve pulled together a GIS portfolio that showcases my coursework, internship projects, and growing skill set. You can view it here: austinjenningsgis.com

The site includes an overview of my experience as a GIS Intern with the Santa Rosa County Property Appraiser’s Office, where I have worked on georeferencing historical aerial imagery, building countywide mosaic datasets, preparing rasters for the web, and supporting parcel fabric maintenance. The education section highlights my completed GIS certificate and my plan to continue into a Bachelor of Science in Cloud and Network Engineering at Western Governors University, tying GIS together with modern cloud infrastructure.

I also include a brief summary of my core skills in geospatial analysis, cartographic design, and data and database management, with tools like ArcGIS Pro, ERDAS Imagine, GDAL, ArcPy, and enterprise geodatabases. The gallery is the heart of the portfolio, featuring selected maps and projects that represent work in cartography, classification methods, interpolation, remote sensing, LiDAR based analysis, storm surge modeling, Python scripting, and land use and land cover mapping with accuracy assessment. Each map has a short description explaining what it shows and the main technique behind it.

Building this portfolio was a good chance to look back at how far I have come in a relatively short time. Seeing my early maps next to more recent work makes the progress in both technical skills and design very clear. It also gives me a professional space I can keep updating as I continue my internship and move further into GIS and cloud focused work. 

Tuesday, December 2, 2025

GIS Internship Update - Santa Rosa County Property Appraiser's Office


 

Over the past few months, my internship with the Santa Rosa County Property Appraiser’s Office (SRCPA) has continued to push my GIS skills in ways I didn’t expect. I came into the role with a foundation in remote sensing and GIS coursework, but working directly inside a live parcel fabric has accelerated my learning dramatically. Most of my work focuses on parcel editing, quality control, and maintaining the accuracy of the county’s land records. This includes resolving topology issues, correcting redundant or misaligned boundaries, reconstructing curves from COGO values, and improving the structure of older data that has been carried through multiple system migrations.

One of the more interesting challenges I’ve worked through recently involves troubleshooting the parcel fabric’s curve handling, performing SLACA adjustments, and cleaning up redundant boundary segments so the fabric behaves the way it should. I never realized how much detail goes into keeping a county’s land base accurate — a lot of GIS work happens quietly behind the scenes, but it has a big impact on mapping, taxation, and public records.

I’ve also updated my LinkedIn profile to better reflect the skills I’m developing. My approach has been to emphasize specific, hands-on technical experience rather than broad statements. I highlighted the parcel editing workflows I use daily, including topology validation, COGO-based construction, georeferencing historical imagery, and managing branch versions in an enterprise geodatabase.

https://www.linkedin.com/in/austinkjennings

Tuesday, November 25, 2025

GIS4035 - Module 5 - Unsupervised and Supervised Image Classification

This map shows current land use in Germantown, Maryland, derived from a supervised classification of multispectral imagery (bands 4, 5, and 6). Eight land use classes are mapped – urban/residential, roads, agriculture, fallow fields, grasses, mixed forest, deciduous forest, and water 


Module 5 introduces digital image classification, where software analyzes and classifies remotely sensed images based on pixel values.  In this lab, we focused on two approaches: unsupervised and supervised classification.

Supervised classification uses labeled training samples provided by the user to teach the software what each land cover class looks like spectrally, and then applies those patterns across the entire image. Unsupervised classification, on the other hand, lets the software automatically group pixels into clusters based on their statistical similarity, without any labels at first. The analyst then interprets and labels those clusters as real-world classes using visual interpretation and any available in situ information.

The first few exercises of the lab walked us through both digital classification methods and introduced us to the tools, tips, and tricks used in the process.

The main exercise, though, was to use the supervised classification techniques we learned to classify a multispectral image of Germantown, MD, into land-use classes.

Building Training Data with AOIs and Signatures

We started with a set of coordinates for several land use types:

  • Urban/residential

  • Grasses

  • Deciduous forest

  • Mixed forest (deciduous and conifer)

  • Fallow field

  • Agriculture

For each coordinate, I used the Inquire tool in ERDAS IMAGINE to set a cursor at the correct location. Around each cursor, I created an Area of Interest (AOI) using either the Grow tool (which uses a ‘seed’ pixel and expands to neighboring pixels with similar spectral values) or manually tracing a polygon over the area. We were also tasked with finding and creating signatures for waterways and roadways without specific coordinates.

Once I was happy with an AOI, I turned it into a spectral signature using the Create New Signature(s) button in the Signature Editor. All of these signatures were saved into a single signature file that represented the full land use scheme for the project. These signatures are the training samples the software uses to classify the image. 

Checking for Spectral Confusion and Choosing Bands

With signatures in place, I needed to sort out spectral confusion (where two classes look too similar spectrally).

To do this, I:

  • Looked at histograms for pairs of classes, band by band, to see when their histograms overlapped and when they separated.

  • Used the Signature Mean Plot to compare all signatures across all six bands at once (pictured below).



From this analysis, I found:

  • Bands 4 and 5 showed the best separation between most classes.

  • Band 6 also helped separate some of the features.

  • Bands 2 and 3 had significant overlap and, therefore, more confusion.

Because of that, I decided to use a 4–5–6 band combination for visualization and interpretation. In the Signature Editor, I set the colors using Approximate True Colors, assigning:

  • Red = Band 4 (Near Infrared)

  • Green = Band 5 (SWIR1)

  • Blue = Band 6 (SWIR2)

This band combo highlights vegetation nicely and helped me visually check whether the classification made sense.

Running the supervised classification and distance file

Once the signatures and colors were set, I ran a Supervised Classification using the Maximum Likelihood parametric rule. At the same time, I created a Spectral Distance Image (pictured below), which shows how far each pixel is from its closest class in spectral space. Bright areas in the distance image mark places where the classification is less confident and where errors are more likely.



Using the original image, the classification, and the distance image side by side, I found at least one area that needed more attention:

  • At approximately 300542.53, 4336697.02, a large field was labeled as urban/residential even though it clearly looked like agriculture. I created a new AOI and signature using the polygon tool and updated my signatures to better capture that land use.

Recoding to final land use classes

The initial supervised output contained multiples of the same subclasses, such as several agriculture types or urban types. To simplify this into a clean land use map, I used the Recode tool and merged the classes into eight final categories:

  1. Urban/Residential

  2. Grasses

  3. Deciduous Forest

  4. Mixed Forest (Deciduous/Conifer)

  5. Fallow Field

  6. Agriculture

  7. Water

  8. Roadway

This step gave me a new thematic raster with a single code for each land use type. I will admit I struggled with the recoding at first and repeated the process about four times. The codes were actually working correctly, but the recoding process doesn't match the class names. Lesson learned: double-check the labels before assuming the recode failed.

The final step in IMAGINE, before exporting the final image and moving my work to ArcGIS Pro, was to add an Area field and calculate the acreage of each class.

The final steps were completed in ArcGIS Pro, resulting in the map layout shown at the top of this blog post.  My aesthetically driven mind grapples with the color palette, but the goal is to be able to differentiate between the classes, not to look pretty.

I haven’t decided on my final project, but I will definitely use some of the techniques and processes learned in this week's module. 

Sunday, November 23, 2025

GIS DAY 2025



GIS Day is an annual celebration dedicated to showcasing the power of geographic information systems and the many ways spatial data helps us understand the world.

This year for GIS Day, I celebrated in a more informal but meaningful way. My in-laws hosted a small “Shrimp and Shoot” gathering — basically a shrimp boil combined with some target shooting — and while we were all hanging out, I had the chance to share what I’ve been doing in my GIS coursework over the past year.

A lot of my family didn’t really know what GIS was or what I actually do with it, so I showed them some of my maps and explained how the technology works. I even shared my final project from Intro to GIS, which I am still very proud of. It was a cool moment watching them go from “I have no idea what that is” to genuinely being interested and asking questions.

Even though it wasn’t a formal event or anything official, it still felt like the spirit of GIS Day — celebrating GIS, explaining it to others, and helping people understand how powerful and useful it is. It reminded me how much I’ve learned and how far I’ve come in the past year. 

Wednesday, November 19, 2025

GIS4930 - Scale Effect and Spatial Data Aggregation

 

In this lab I got to see how much the scale and resolution of data can change the story a map tells.

For the vector part, I compared hydro layers for Wake County at three map scales: 1:1,200, 1:24,000, and 1:100,000. At the large scale (1:1,200) there were tons of tiny streams and waterbodies, with very high total line length, polygon count, perimeter, and area. As I moved to smaller scales, the total length and number of features dropped off a lot. Many small ponds and short stream segments simply disappeared, and the surviving features were more generalized with smoother outlines. So even though all three layers were “Wake County hydro,” the geometric properties were very different just because of scale and generalization.



High Resolution 2 meter cell size (top) vs Low Resolution 90 meter cell size (bottom)



For the raster part, I resampled a 1 meter LIDAR DEM to coarser cell sizes (2, 5, 10, 30, 50, 90 m), ran slope on each one, and then made a scatterplot of cell size vs average slope. The pattern was really clear: as cell size increased, the mean slope went down. The 1 meter DEM kept all the little bumps and sharp breaks in the terrain, so the slope values were higher. Coarser grids smoothed everything out by averaging elevation over larger areas, which made the landscape look flatter on paper. That was a good reminder that terrain derivatives like slope are very sensitive to raster resolution.

In Part 2, I looked at the relationship between percent non-white population and percent below poverty using Ordinary Least Squares (OLS) for different units: block groups, ZIP codes, housing districts, and counties. The slope, intercept, and R² values changed each time I switched the geography, even though it was the same people and the same variables. That is basically the Modifiable Areal Unit Problem (MAUP) in action. How you draw boundaries and aggregate data can change the strength and even the appearance of the relationship.

Worst offender for "compactness"

Finally, I looked at gerrymandering, which is when political district boundaries are drawn to give one party or group an advantage. One way to flag suspicious districts is to measure how “compact” they are. I used the Polsby–Popper score, which is 4πA/P24πA / P^2, based on each district’s area and perimeter. I calculated area and perimeter with the Calculate Geometry Attributes tool, added a PP field, and then computed the scores. A value close to 1 means the district is pretty compact. Values near 0 mean the shape is long, skinny, or very irregular. When I sorted by PP score, the lowest values belonged to districts like NC Congressional District 12, MD-3, and FL-5, which have very stretched or chopped up shapes compared to a more “normal” district. I used NC-12 as my screenshot example of a district that clearly fails the compactness test.

Monday, November 17, 2025

GIS4035 - Module 4 - Image Preprocessing : Spatial & Spectral Enhancements and Band Indices

 

Example of False Color NIR composite (for demonstration purposes only - not to be used as a map)
False color infrared composite (Bands 4, 3, 2) of the Landsat TM scene
used in this week’s lab. (For demonstration only)


This week’s material focused on the foundations of image preprocessing and multispectral interpretation in remote sensing. The readings introduced the major types of corrections applied to satellite imagery (radiometric, atmospheric, and topographic), which are essential for improving data quality before analysis. We also learned how spatial enhancement filters, such as low-pass, high-pass, sharpen, and Fourier transforms, can smooth noise, enhance edges, or reveal patterns caused by the sensor.

Another key topic was interpreting image histograms and LUT adjustments. Understanding where spikes fall in the histogram and how breakpoints stretch contrast helped connect numerical brightness values to real-world features. This directly tied into multispectral interpretation, where we examined how land cover types such as water, vegetation, soil, and snow behave differently across visible, NIR, and SWIR wavelengths. Spectral indices like NDVI provided additional insight into surface characteristics.

The lab applied these concepts through a series of spatial filters, histogram exercises, and multispectral analysis. Exercise 7 brought everything together by requiring us to identify three features in the Landsat image using histogram spikes, grayscale inspection, band combinations, and pixel-level DN sampling.
Below are my detailed explanations for each feature identified in Exercise 7.



In Band 4, the near-infrared (NIR) band, the histogram shows a clear spike between DN 12 and 18, with DN 14 occurring 1.24 million times. Because this spike sits on the far left side of the histogram, it represents something that reflects almost no NIR energy. In grayscale, these values appear very dark, which is a strong indicator of water.

Using the Inquire Cursor, I confirmed this by sampling several pixels in the middle of an open water body, all of which returned DN values around 14. This links the histogram spike directly to water in the scene.

To make this feature stand out visually, I used a 4-3-2 false-color composite (NIR, red, green). Healthy vegetation appears bright red, urban areas and soil show up in cyan or light green, and open water stays very dark because of its low NIR reflectance. This combination made the water features extremely easy to distinguish from the surrounding landscape.





For Feature 2, the histograms for Layers 1–4 each show a small spike around DN ≈ 200, indicating a feature that is very bright in the visible and NIR bands. Layers 5 and 6 (the SWIR bands) show a large spike at DN ≈ 9–11, indicating that the same feature is very dark in SWIR. Using the Inquire Cursor on the bright white areas on the mountain tops, I found pixels with DN values of 190–210 in Layers 1–4 and 9–11 in Layers 5 and 6. These pixels correspond to snow/ice at high elevations. 

Ice and snow are highly reflective across the visible and NIR spectral ranges and strongly absorb in the SWIR bands. This explains why the snow-covered mountains are bright in Bands 1–4 and much darker in the SWIR bands (TM Bands 5 and 7, represented by Layers 5 and 6 in this image).
For Example 2 (snow/ice), I used a 5-4-3 false-color composite (SWIR1–NIR–Red). Snow and ice are bright in the visible/NIR bands but dark in SWIR, so they appear as bright cyan/blue-green in this combination, clearly separated from surrounding forest and rock.



For Feature 3, I focused on the waters of Grays Harbor, a large estuarine bay on the Pacific coast in Washington State, which appear noticeably brighter than the rest of the water in our study image. Using the Inquire Cursor across different layers, I found that the harbor consistently shows higher DN values in Layers 1–3, the visible bands. In the area I examined, DN values increased by roughly 8 to 12 points compared to the darker water elsewhere in the scene.

In Layer 4 (NIR), the brightness only increases by a small amount, and Layers 5 and 6 (SWIR) remain essentially unchanged.

To compare the bay with the rest of the water in the extent, I created a subset containing only the bay itself and examined its histogram to look at the mean values. The brighter reflectance in Grays Harbor is most likely caused by suspended sediment, tidal mixing, or a combination of the two, which would naturally brighten water in the visible spectrum without affecting NIR and SWIR in the same way.

I also considered other locations, including a small patch in the North Bay where false color IR shows vegetation or algae, and an area of swirling water near Aberdeen. Both were interesting, but neither matched the spectral pattern as clearly as the broader bay did.

The best band combination for observing these differences was True Color (3-2-1), which made the brightness variations in the bay stand out clearly.



Monday, November 10, 2025

GIS4930 - Surfaces - Interpolation




For this lab, I used several interpolation methods to model Biochemical Oxygen Demand (BOD) concentrations across Tampa Bay. Each method took a slightly different approach to estimating values between our 41 sample points.

The Thiessen method divided the bay into zones where each area takes the value of its nearest sample point. It’s simple and easy to visualize but produces blocky, unrealistic boundaries. The IDW (Inverse Distance Weighting) method improved on this by blending nearby values smoothly, assuming that locations closer together are more alike. It gave a natural-looking surface that still stayed within realistic ranges. The Spline methods (Regularized and Tension) created even smoother surfaces, but they sometimes exaggerated values in areas with unevenly spaced samples or outliers.

Overall, these techniques showed how interpolation can turn discrete sample data into continuous surfaces that help visualize water quality patterns. For this dataset, IDW provided the most balanced and realistic result, clearly showing how BOD concentrations vary throughout Tampa Bay.

GIS Portfolio

As I wrap up the Graduate GIS Certificate at the University of West Florida, I’ve pulled together a GIS portfolio that showcases my coursewo...