Sunday, July 27, 2025

M4 - Applications in GIS - Hazards: Coastal Flooding



Module 4 of Applications in GIS introduced us to a critical use of GIS, especially relevant to us here on the Emerald Coast, analyzing coastal flooding.

We started the lab by working with LiDAR data, learning the process of creating a usable Digital Elevation Model (DEM) from raw .laz files. We specifically used data collected pre- and post-Hurricane Sandy in a coastal area of Cape May County, New Jersey, to visualize the incredible force a storm such as this one can have on the landscape. 

Pre- and post-Sandy DEM illustrating barrier island breech at Mantoloking Road, Mantoloking, New Jersey 

This direct comparison vividly demonstrated the immense force a storm like Sandy can have on the landscape, revealing extensive coastal reshaping, with clear evidence of significant erosion, loss of buildings, and even a dramatic breach of the barrier island. It also highlighted the critical challenge of accounting for post-disaster recovery and rebuilding efforts in our analysis.


Visualizing 2-meter storm surge in Cape May County, New Jersey


Shifting gears a bit, we then focused directly on storm surge analysis in Cape May County, New Jersey. We learned how to define flood zones by reclassifying elevation data to show exactly which areas would be underwater during a specific surge height, like the 2-meter surge experienced during Hurricane Sandy. This allowed us to calculate the exact percentage of the county that might have been inundated, revealing that approximately 47% of Cape May County was likely affected.



Finally, we moved to Florida for what I found to be the most eye-opening part: a direct comparison of different elevation data sources. Using a 1-meter storm surge scenario, we stacked up flood predictions from a traditional USGS DEM against a more advanced, high-resolution LiDAR-derived DEM. This allowed us to pinpoint exactly how different data sources can change our understanding of flood risk, helping us to calculate and visualize critical errors of omission and commission (where one model got it right and the other didn't) between the two models. This analysis was key to understanding the real-world accuracy challenges in flood mapping.

However, our lab also made us aware of some key assumptions and simplifications. Assuming storm surges always cause uniform flooding is unrealistic, as water levels vary and can reach isolated low areas. We also didn't account for other causes like heavy rain, large waves, or tidal timing. For greater accuracy, advanced computer models should simulate different flood scenarios and water movement, considering all these factors.

Friday, July 18, 2025

M3 - Applications in GIS - Visibility Analysis Using 3D

Screenshot of a 3D Scene of Downtown San Diego, California in ArcGIS Pro (I used to live within the area pictured, close to Petco Park)


This week, we were introduced to another interesting application in GIS: analyzing visibility and line of sight using 2D and 3D scenes in ArcGIS Pro.

For this module, we were tasked with completing four web courses through the Esri Academy. I enjoy how these Esri courses are structured; they are easy to understand and comprehensive. I appreciate that, as we learn new tools and processes, the courses provide practical exercises in various methods frequently used in ArcGIS Pro.

Our first course was an Introduction to 3D Data. It was a general overview for navigating and exploring 3D scenes (including some really helpful shortcut keys), functional surfaces, and (rasters and triangulated irregular networks (TINs.)) The course also introduced us to the various 3D features, such as vector features in 3D, meshes, and multipatch features.



Screenshot of an ArcGIS Pro Line of Sight analysis of a hypothetical parade route for the purpose of planning security.

Next, we learned to perform a Line of Sight Analysis. A line of sight calculates intervisibility between the first vertex—the observer—and the last vertex—the target—along a straight line between the two. A line of sight considers any obstructions provided by a surface or multipatch feature class. Visibility between these points is determined along the sight line.

Line of sight analysis is invaluable in various applications, including planning security for large events such as parades, sporting events, or concerts. This data is also beneficial in urban planning, allowing us to study the impact a proposed new building would have on existing views. Additionally, line of sight analysis is crucial when planning a new air traffic control tower, ensuring that the ATC team can effectively monitor the entire tarmac.


Screenshot of an ArcGIS Pro Viewshed Analysis, utilized for planning the positioning of artificial lighting in a campground. The color variance illustrates the overlap of light output, with darker colors indicating areas receiving illumination from multiple light sources.

We then jumped into performing Viewshed Analysis in ArcGIS Pro. The Viewshed tool visualizes visible areas from a vantage point. This tool has many practical uses, including how to locate guard towers, fire watchtowers, or event surveillance.

One exciting process we engaged in was modeling light visibility using the Viewshed tool. We simulated assisting a campground director in strategically placing new artificial lighting to maximize illumination for campers' outdoor activities after dark. By visualizing light distribution at heights of 3 meters and 10 meters, we were able to make informed decisions on the optimal placement of lighting across the property.


Screenshot of a 3D scene I authored within ArcGIS Pro illustrating an area of downtown Portland, Oregon

Finally, we learned to author a 3D scene and share a 3D scene as a hosted scene layer package. Sharing a scene online in 3D gives the viewer a greater sense of realism, making it easier for the viewer to make decisions and achieve solutions with greater understanding.

This was a fun module, and I look forward to completing more of the training courses in the Esri Academy.

Sunday, July 13, 2025

M2 - Applications in GIS - Analyzing Forestry with LiDAR

Distribution of Tree Heights in the Study Area


In Module 2 of Applications in GIS, we jumped into working with LiDAR (Light Detection and Ranging) technology and its applications in forestry. The primary focus was on decompressing .las files, creating Digital Elevation Models (DEMs) and Digital Surface Models (DSMs), and calculating forest height using LiDAR data sourced from the Virginia LiDAR application.

I'm really fascinated with LiDAR and excited to work with the data type more. However, I realized that this data type can be quite cumbersome when it comes to processing. This week, I struggled with the UWF virtual machine we use to run ArcGIS Pro, which was lagging significantly. Unfortunately, I couldn't get the LAS layer to rasterize, so what you see in the included map isn't what it was supposed to represent.


Canopy Density Analysis: Visualizing Forest Coverage

3D Visualization of Forest Structure Using LiDAR/Topographic Representation of the Terrain



Wednesday, July 9, 2025

M1 - Applications in GIS - Crime Analysis


Week one of Applications in GIS introduces us to crime hotspot mapping and the different methods used to identify and analyze areas with elevated crime rates, enabling law enforcement and community planners to allocate resources effectively and implement targeted interventions.

In the first part of this week’s lab, we conducted an exploratory crime analysis focused on burglaries in Washington, DC. Using ArcGIS Pro, we isolated burglary reports and analyzed their distribution across census tracts. By counting the number of incidents per tract and normalizing this data against the number of housing units, we calculated a burglary rate, which provides a clearer understanding of crime patterns. The map pictured above illustrates the burglary rates across the census tracts.



In part two of this week's lab, we explored various methods of crime hotspot mapping, focusing on techniques like Grid Overlay, Kernel Density, and Local Moran's I. Each method offers unique insights into crime patterns, allowing us to assess their effectiveness in identifying high-crime areas.

The graphic above illustrates the results of our analysis, highlighting the different hotspot areas identified by each method, which can aid law enforcement in making informed decisions regarding resource allocation and crime prevention strategies.

After completing the three different methods of hotspot analysis, we were tasked with deciding which method we believe would be the most useful for a police chief working to predict and prepare for future crime patterns.  

From the reading materials we have covered this week, as well as seeing and working with these data in the real world, I believe the Kernel Density method of hotspot mapping would be the most ideal for a police chief when making decisions on how to police their region.

While the Grid Overlay method captured a much larger area, the crime density doesn't seem as high as I would have thought, which leads me to believe it includes some areas with lower crime rates. This large area could strain department resources if they attempted to police it in its entirety.

The Local Moran's I method returned a more balanced area compared to the other two methods; however, its crime density is the lowest of the three, suggesting it may not be as helpful for targeting high-crime areas.

The Kernel Density method returned the smallest area but the highest crime density. This indicates it is more accurate in pinpointing high-crime areas. The department can focus on a smaller area, utilizing its resources more efficiently and effectively.

This insight into crime analysis and mapping techniques was fascinating, and I could definitely see myself enjoying working in this application of GIS.  I believe that more education in criminal justice would be necessary to truly be of help to law enforcement, but I'm always open to learning. 

I am excited for lab two, which covers LiDAR (Light Detection and Ranging). LiDAR is a remote sensing technology that uses laser light to measure distances and create precise, three-dimensional information about the Earth's surface and other objects.  


Thursday, June 26, 2025

Applications in GIS - Orientation


Hello all! I'm Austin. Pleased to meet you! 

I’m currently enrolled in the GIS Certification Program at UWF, having just completed my third course,  GIS Programming. In pursuing a new career, my goal is to earn my GIS Certification and begin working in the field, while also working toward a Bachelor’s of Science in Data Analytics.


Ultimately, I aim to move my husband and me to the San Diego area of California, a place I lived from 2004 to 2009 and deeply miss.

For my orientation assignment for course GIS4049, Applications in GIS, I have created a short ArcGIS StoryMap Map Tour of my life.  Check it out! 👉 https://arcg.is/1i5vyO0

Wednesday, June 25, 2025

M6 - GIS Proramming - Working with Geometries in Python


Screenshot of IDLE window after running this week's lab script


This week brings us to our sixth module in the GIS Programming course, which is also our final assignment for this course.

This week focused on working with geometries within ArcPy and how to effectively read and write them in ArcGIS Pro. We learned to use geometry tokens for quick access to feature properties and the use of search cursors.

In our exercise, we had fun extracting XY coordinates from point and polyline features, which helped us understand how to work with individual vertices. Additionally, we explored single-part and multipart features using the isMultipart property and practiced creating new polyline features from a list of coordinates.

Our lab assignment required us to write a script that uses ArcPy to extract vertex information from a shapefile. The script initializes a SearchCursor to retrieve Object IDs, shapes, and names of river segments, counting and outputting the coordinates of each vertex. It also creates a text file and writes the results to that file. The screenshot above shows the IDLE window after running the script, displaying the output.

The pseudocode for my script is below:

Wednesday, June 18, 2025

M5 - GIS Programming - Explore and Manipulate Data using Python


This week allowed us to dive deeper into ArcPy and explore data manipulation within ArcGIS Pro. We focused on using Python scripts to interact with spatial data, enhancing our ability to automate geoprocessing tasks.

We learned how to set up our workspace effectively and utilize various ArcPy functions, including the Describe function, to gather essential properties of our datasets. Additionally, we explored listing functions to efficiently manage feature classes and fields.

Cursors were a major highlight of the week, particularly:

  • Search Cursors: Used to retrieve and query records, allowing us to filter data based on specific criteria.
  • Update Cursors: Enabled us to modify existing records, ensuring data integrity.
  • Insert Cursors: Allowed us to add new entries to our datasets.
For our lab this week,  we used the new methods and procedures we learned to build a script that accomplishes the following tasks:
  • Creates a new file geodatabase (fGDB).
  • Copies feature classes from a data folder to the fGDB.
  • Extracts names and populations of 'County Seat' cities.
  • Stores data in a dictionary.
This was a fun but challenging lab.  It was fulfilling to compile a more complex script this week, and it reminded me of my teenage years when I was obsessed with The Matrix and aspired to be a hacker or coder. ðŸ˜†

The above images included in this blog post are screenshots of the IDLE window showing the results of running the script.  I wasn't confident enough in my flowchart skills to create a flowchart for this week's lab.  If I'm being honest, making the flowcharts has been the biggest challenge for me in this course. Below is the pseudocode for my script.
Import necessary modules:
import acrpy
import env from arcpy

Configure environment:
SET arcpy.env.workspace to working folder
SET arcpy.env.overwriteOutput to TRUE

Create new fGDB
  PRINT "Creating" message
SET output env for new fGDB
call CreateFileGDB_management 
PRINT "Complete" message

List all feature classes and SET variable 
SET fclist = ListFeatureClasses()

Copy all feature classes to new fGDB
create FOR loop for each feature class in fclist
SET base_name variable = Describe(feature_class).baseName
PRINT "Copying" message including the basename for each iteration 
call CopyFeatureClasses_Management 
PRINT "Copying complete" message 
End FOR loop
PRINT "Feature classes successfully copied" message

SET workspace to new fGDB
SET arcpy.env.workspace to new fGDB
PRINT "Creating search cursor" message

Create a search cursor for cities layer
SET fc = cities
SET cursor = call SearchCursor(fc)

Create empty dictionary
SET county_seats = {}
PRINT "Designing and populating dictionary" message

Populate dictionary with !NAMES! and !POP_2000!
Create FOR loop for each row in cursor
IF row.getValue("FEATURE") == "County Seat"
SET city_name = row.getValue("NAME")
SET population = row.getValue("POP_2000")
SET county_seats[city_name] = population
PRINT "City Name: " + city_name + ", Population: " + population
END IF
END FOR

Clean Up
del cursor
del row

PRINT "Dictionary complete"
PRINT county_seats

END


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