Friday, May 31, 2024

Module 3 - Debugging and Error Handling

 Script 1

For Part 1 of the assignment, the script had two errors that needed fixing to ensure it could run smoothly. After identifying and correcting these errors, the script successfully printed out the names of all fields on the parks.shp attribute table. I made sure to examine the attribute table in ArcGIS Pro beforehand to understand the expected output. 


Script 2

Moving on to Part 2. This script contained several errors and exceptions that needed addressing for it to run properly. Before running the script, I ensured that the required shapefiles were added to the ArcGIS Project TravisCountyAustinTX.aprx. After identifying and fixing the errors, the script successfully printed out the names of all layers in the project


Script 3
 Part 3 of the assignment had a script that intentionally contained an error that prevented part of it from running. Instead of fixing the error, I modified the script by adding try-except statements to catch any exceptions and print relevant error messages. The script had two parts: Part A, which encountered the error and printed an error statement stating the problem, and Part B, which ran successfully and printed out the name, data source, and spatial reference of each layer. 




Tuesday, May 21, 2024

Module 2- Python Fundamentals


In this week's module, we delved into Python programming basics. We got hands-on experience with string variables and practiced creating loops and conditional statements. Along the way, I encountered errors that required me to backtrack and revisit the material to pinpoint the root cause. Despite the challenges, I was able to get through each process. 

Thursday, May 16, 2024

Module 1


The Zen of Python, by Tim Peters

Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren't special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
Namespaces are one honking great idea -- let's do more of those!
There should be one-- and preferably only one --obvious way to do it.
Now is better than never.
Although that way may not be obvious at first unless you're Dutch.
If the implementation is hard to explain, it's a bad idea.
Although never is often better than *right* now.
If the implementation is easy to explain, it may be a good idea.


Tim Peters created a clever outline of key principles for writing Python code, emphasizing simplicity, clarity, and practicality. It helps to encourage programmers to prioritize readability and simplified solutions, avoiding overly complex approaches.


I began the process with 01E Environments Flowcharts pdf.  I familiarized myself with different Python environments, including IDLE and ArcGIS Notebooks. I followed the instructions to interact with the Python interpreter using IDLE, running simple Python commands and scripts. Then, I opened ArcGIS Notebooks within ArcGIS Pro, and relearned how to create and execute Python code within the GIS environment. There was a learning curve with this section as I have not touched Python within ArcGIS Pro.

Then I jumped to Algorithmic Thinking with Flowcharting to create a flow chart for "degrees = radians * 180 / pi" using Untitled Diagram - draw.io (diagrams.net). After completing that, I accessed The Zen of Python within ArcGIS Pro.

I ran into several challenges in understanding some of the concepts, but was able to go back and reread instructions to help clarify my questions.