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.

Sunday, November 9, 2025

GIS4035 - Module 3 - Intro to Electromagnetic Radiation (EMR), Satellite Sensors and Digital Image Processing


Module 3 introduced us to the fundamentals of electromagnetic radiation and the wide variety of satellite imaging sensors used in remote sensing.

I’ll admit, the reading and lecture material this week felt incredibly overwhelming. There was so much information to take in that I initially thought I hadn’t retained any of it. However, by the time I took the quiz, I realized I had absorbed much more than I thought.

This week’s lab provided a hands-on introduction to ERDAS Imagine and how digital remote sensing data is structured, interpreted, and displayed. Navigating ERDAS Imagine felt familiar since its interface and tools are very similar to ArcGIS Pro.

We learned the basic functions of ERDAS Imagine, including how to prepare and export a classified image of forested land in Washington State. After creating the subset, we imported it into ArcGIS Pro to build a final map layout (shown above).

In Part B, we explored how two of the four different types of resolution (spatial and radiometric) affect image quality and detail. Using a series of images of Pensacola, we compared pixel sizes and bit depths to see how they influence image clarity and contrast. We also examined image metadata to understand how raster data is stored and analyzed. We then worked with a thematic soil raster to calculate area and percent coverage for erosion-prone soils.

Overall, this lab was a lot of fun. I always enjoy being introduced to new tools used in the GIS industry, and ERDAS Imagine is a powerful program with many advanced capabilities. I’m looking forward to exploring more of what this software can do in future labs.

Monday, November 3, 2025

GIS4035 - Module 2 - LULC Classification and Ground Truthing

 


For this lab, I created a land use/land cover (LULC) map using the USGS Anderson Classification System (Levels I and II), which breaks land types into standardized categories such as Residential (11), Commercial (12), Industrial (13), and Mixed Forest (43).

Digitizing and Mapping

I digitized features at a working scale of about 1:5,000, which offered a good balance between precision and efficiency. To stay consistent, I used a minimum mapping unit (MMU) of 0.5 acre, merging or ignoring smaller polygons unless they were clearly distinct—like a small commercial lot surrounded by forest and water.

Tools like Trace and Align Features helped me keep clean boundaries, although I still ended up with some minor gaps and overlaps. I used Snapping and Vertex Editing throughout the process for precision. This reinforced how detail-oriented digitizing must be—something I also see daily in my internship at the Santa Rosa County Property Appraiser’s Office, where topology accuracy is critical for parcel mapping.

Ground Truthing and Accuracy Assessment

To test the accuracy of my map, I created an Extent layer covering all land areas and used the Create Random Points tool to generate 30 sample locations. Each site was verified using Google Earth and Street View, serving as a stand-in for field (in-situ) verification.

For each point, I compared my original LULC code with what I observed in imagery. Out of the 30 sites, 25 were correctly classified, giving my map an overall accuracy of about 83%. The Residential (11) category proved most accurate, while most errors came from Commercial (12) areas that turned out to be residential. One Industrial (13) site was actually commercial, and another Residential (11) was better classified as Mixed Forest (43).

This lab used the In-Situ Data Collection accuracy method—verifying classifications against high-resolution imagery rather than field visits. The process emphasized the importance of attention to detail, scale management, and classification consistency.

Ultimately, it highlighted how careful interpretation and ground verification are essential to producing reliable, real-world GIS data.

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...