Sunday, May 31, 2026

Debugging, Learning, and Small Wins: Today’s GIS Programming Lab

 

Debugging, Learning, and Small Wins: Today’s GIS Programming Lab

Today’s GIS programming lab turned into one of those assignments where every error message actually taught me something useful. What started as a frustrating debugging session became a solid lesson in Python syntax, ArcGIS scripting, and troubleshooting strategies. By the end of the lab, I felt much more confident reading errors, fixing scripts, and understanding how small details can completely change how code runs.

The Biggest Lesson: Tiny Errors Matter

One of the biggest things I learned today is that Python is extremely precise. A single misplaced capital letter, missing parenthesis, or incorrect variable name can stop the entire script from running.

Some of the errors I encountered included:

  • Incorrect capitalization in variable names
  • Misspelled ArcPy functions
  • Invalid file paths
  • Missing punctuation
  • Incorrect object references

At first, the errors looked overwhelming, but once I slowed down and carefully read each message, the fixes became much easier to identify.

Tricks That Helped Me Debug Faster

1. Read the Error Message Carefully

Instead of immediately guessing what was wrong, I started reading the Python shell output line by line. The error messages usually pointed directly to the problem area and even showed the exact line number causing the issue.

That saved a lot of time compared to randomly changing code.

2. Compare Variable Names Exactly

One issue came from using:

filepath

in one location and:

Filepath

in another.

Python treated those as completely different variables because it is case-sensitive. After fixing the capitalization so everything matched, the script worked correctly.

3. Watch for ArcPy Spelling Errors

ArcPy functions have very specific names. I accidentally typed:

arcp.Describe

instead of:

arcpy.Describe

and also misspelled:

spatialReference

as:

spatialRefernce

Once corrected, the script successfully accessed the dataset properties.

4. Check File Paths Closely

I learned that file paths are another common source of problems. Missing slashes, mixed slash directions, or incorrect filenames can prevent scripts from finding data.

Carefully reviewing every folder and filename helped eliminate several issues quickly.

Learning About Try-Except Statements

One of the most useful parts of today’s lab was learning how to use a try-except statement.

Before today, if an error occurred, the entire script stopped running immediately. After adding a try-except block, the script could continue running even if part of the code failed.

That felt like a major upgrade in understanding how professional scripts handle unexpected problems.

Example structure:

try:
    # code that may fail
except:
    # what to do if an error occurs

This approach makes scripts much more reliable and user-friendly.

What I Improved Today

By the end of the lab, I became more comfortable with:

  • Reading Python error messages
  • Identifying syntax versus runtime errors
  • Troubleshooting ArcPy scripts
  • Fixing variable and spelling issues
  • Understanding object references
  • Using try-except statements
  • Debugging more systematically instead of guessing

Final Thoughts

Even though debugging can feel frustrating in the moment, today showed me that errors are actually one of the fastest ways to learn programming. Every mistake forced me to slow down, analyze the problem, and better understand how Python and ArcGIS work together.

The best part was seeing the scripts finally run correctly after making the fixes. That feeling made all the troubleshooting worth it.

Today’s lab definitely improved both my confidence and problem-solving skills as I continue learning GIS programming.

Saturday, May 23, 2026

Python, Dice Games, and Mild Panic: Module 2 Adventures

 

Python, Dice Games, and Mild Panic: Module 2 Adventures


Module 2 Flowchart


This week’s GIS Programming assignment was my first real experience working through a full Python script from start to finish. Going into the lab, I was honestly expecting programming to feel overwhelming and full of confusing syntax errors every five minutes. While there were definitely a few moments of staring at the screen wondering why one tiny typo could break everything, it was actually pretty satisfying once the script finally worked.

The assignment focused on Python fundamentals like variables, lists, loops, conditionals, and random number generation. One of the first tasks was splitting my name into a list and printing only my last name using indexing. That part was straightforward and helped me understand how lists work in Python.

The dice game section was where things became more interesting. I had to identify and fix errors in the provided code, which mostly involved correcting capitalization and converting numbers into strings for print statements. It was a good reminder that Python is extremely picky about syntax and capitalization. Apparently one uppercase letter can completely derail your confidence for ten minutes.

The random number section was probably the most fun part of the assignment. Watching the list populate with random integers and then removing the “unlucky” number made the script feel a little more interactive instead of just typing commands into the void. I also got more comfortable working with while loops and understanding how counters control when a loop stops running.

I completed the script in Python, copied it into ArcGIS Notebook, and then exported the final version as a .py file. Running the script successfully in both environments felt like a small but important victory. It definitely made programming feel a little less intimidating than it did at the beginning of the module.

Overall, this lab was a solid introduction to Python fundamentals and helped me better understand how scripts are structured. I still expect future assignments to challenge me, but at least now I know that most errors are usually caused by one missing parenthesis, one quotation mark, or Python deciding that capitalization suddenly matters more than my feelings.


ArcGIS Pro Notebook results


Sunday, May 17, 2026

My Introduction to Python and GIS Workflow Thinking




This first GIS Programming lab was a great introduction to working with Python environments and getting more comfortable with the tools we will be using throughout the semester. Even though programming can feel intimidating at first, it was exciting to finally start diving into Python and seeing how these different environments actually work. Running my first Python script in IDLE and then exploring ArcGIS Notebooks helped make the process feel much more approachable than I expected.

One of the most interesting parts of the assignment was learning the difference between IDLE and ArcGIS Notebooks. I liked seeing how Notebooks can combine code, notes, and outputs all in one place, especially for GIS applications. It also helped me better understand the idea that Python is an interpreted language, where code can be tested and executed line by line.

The flowchart exercise was another helpful part of the lab because it showed how programming problems can be broken down into logical steps before writing any code. Creating a visual process for converting radians to degrees made the formula much easier to understand conceptually. I also enjoyed reading “The Zen of Python.” The focus on simplicity, readability, and practical problem-solving really stood out to me and made Python feel less overwhelming and more user-friendly.

Overall, this lab felt like a solid starting point for the course. While I still know there will be challenges ahead learning programming syntax and logic, this assignment helped build some confidence and made me feel more prepared to continue exploring Python in a GIS environment.

Friday, May 1, 2026

Module 7 Blog: Google Earth – Dot Density Map and Tour

 Module 7 Blog: Google Earth – Dot Density Map and Tour

This lab focused on using Google Earth to create and present geographic data in an interactive and visually engaging way. The main objectives were to convert ArcGIS layers into KMZ files, build an interactive map, and create a recorded tour highlighting major cities in South Florida. These tasks reinforced how GIS data can be shared with a broader audience using tools that do not require specialized GIS software.

For my map, I created a dot density visualization of population across southern Florida, where each dot represents 10,000 people. This layer was displayed along with hydrography features symbolized by category and county boundaries that include pop-up attribute information. I also added a legend as an image overlay to ensure the map was easy to interpret. The goal was to clearly communicate population distribution while still allowing other important geographic features to remain visible.

To create the final deliverables, I first converted the necessary ArcGIS layers into KMZ format using the Layer to KML tool. After importing the data into Google Earth Pro, I organized the layers into a structured folder and ensured that the population dots were displayed above other features. I then added a legend overlay and adjusted the map to show all 23 counties at the default extent. Once the map was complete, I saved it as a KMZ file for submission.

The second part of the lab involved creating a Google Earth tour that moves through key locations in South Florida, including the Miami metropolitan area, Downtown Miami, Fort Lauderdale, Tampa Bay, St. Petersburg, and Downtown Tampa, before returning to the full regional view. This required creating placemarks for each location and recording a guided navigation through them while adjusting map layers as needed. The tour allows viewers to experience the data dynamically, shifting from a broad regional perspective to detailed urban environments.

The most difficult part of this lab was controlling the speed and camera angle while recording the tour. Managing smooth transitions while tilting, zooming, and rotating the view proved challenging, especially when trying to highlight 3D buildings in urban areas. It took multiple attempts to achieve a balance between movement and clarity without making the tour feel rushed or disorienting.

Overall, this lab provided valuable experience in presenting spatial data in a more interactive and user-friendly format. It demonstrated how Google Earth can be used not only as a visualization tool but also as a storytelling platform, allowing users to guide viewers through geographic patterns and relationships in a way that static maps cannot.

Module 3 - Coastal Flooding

 Coastal flooding is one of the most destructive hazards associated with hurricanes, making accurate flood modeling an important component o...