Friday, June 5, 2026

Geoprocessing with ModelBuilder and Python

Geoprocessing with ModelBuilder and Python

This week’s Module 4 assignment focused on geoprocessing in ArcGIS Pro using both ModelBuilder and Python. The assignment was a great way to see how visual workflows and scripting can accomplish many of the same tasks while offering different advantages. Through building a model and writing a Python script, I gained a better understanding of how geoprocessing tools work together and how GIS workflows can be automated.


Building the SoilErase Model

For the first part of the assignment, I created a ModelBuilder model called SoilErase. The goal was to identify areas within the basin that are suitable for farming by removing soils that are classified as "Not prime farmland."

The model completed three main steps:

  • Clipped the soils layer to the basin boundary
  • Selected soils classified as "Not prime farmland"
  • Erased those areas from the basin polygon

One thing I enjoy about ModelBuilder is being able to see the entire workflow laid out visually. It makes it easier to follow the analysis process and verify that each output is connected correctly before running the model. Watching the model come together also helped me better understand how geoprocessing tools depend on one another.




Complete Model


 Clip Tool Settings



Select Tool Settings



Erase Tool Settings


Final Model Output




Writing the Python Script

The second part of the assignment involved creating a Python script using ArcPy. The script performed three geoprocessing tasks:

  • Added XY coordinates to the hospitals shapefile
  • Created a 1000-meter buffer around the hospitals
  • Dissolved the buffer polygons into a single feature

I also used the GetMessages() function after each tool ran so the script would display the geoprocessing messages. This was helpful because it provided immediate feedback and confirmed that each step completed successfully.

One of the first things I did was set the workspace and enable output overwriting. These settings made testing much easier because I could rerun the script multiple times without having to manually delete previous outputs. It also kept the code cleaner since I didn't need to repeatedly type full file paths.

Screenshot Placeholder – Script Results

Insert screenshot of the successful script output messages here


Challenges and Lessons Learned

The biggest takeaway from this assignment was seeing how ModelBuilder and Python complement each other. ModelBuilder is excellent for visualizing workflows and quickly testing processes, while Python provides more flexibility and automation for tasks that may need to be repeated.

I also gained a better appreciation for the ArcGIS Pro Help documentation. Reviewing the syntax and code examples before running a tool saved time and helped prevent errors. When something didn't work as expected, the geoprocessing messages were extremely useful for figuring out what needed to be fixed.

Another lesson was the importance of environment settings. Simple settings like defining a workspace and allowing outputs to be overwritten can make scripts much easier to develop and troubleshoot.


Final Thoughts

Overall, this assignment provided valuable hands-on experience with geoprocessing in ArcGIS Pro. Building the SoilErase model helped reinforce the logic behind spatial analysis workflows, while the Python script demonstrated how those same processes can be automated through code. By the end of the assignment, I felt much more comfortable working with both ModelBuilder and ArcPy, and I can see how these skills will be useful in future GIS projects and professional applications.


No comments:

Post a Comment

Module 3 - Coastal Flooding

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