Today Craig Carpenter and myself have presented on geoprocessing in ArcGIS.
I think one of the challenges in any automation exercise is understanding exactly what the desired outcomes are and the most optimal method to achieve these results. If you know what the end game is, the detail can often take care of itself.
In this session the goal has been to highlight how you can use both model builder and Python scripting to perform structural changes and repetitive tasks against geodatabases. With the final outcome being reusable script which can be run automatically at a desired time without manual interaction.
From time to time, even the experienced GIS users (my 17 years in GIS allow me to call myself one) come across hidden tools and workflows that have existed in ArcGIS for Desktop for ages, but have never been used.
Recently, a couple of my clients asked me how to solve the following problem. Imagine you had a polygon feature class representing cadastral boundaries (i.e. properties) and another one representing zones (i.e. zoning). One property can fall within several adjacent zoning polygons, which effectively defines the cardinality (or the type of the relationships between features in both datasets) as One to Many (Properties to Zones).
There are a few themes that have come through with the evolution of Desktop analysis in ArcGIS. Firstly, the goal is to make analysis easy; with the emphasis being on building workflows rather than working on individual components. Secondly, the software has grown to really exploit more sophisticated hardware capabilities as well as parallel processing to make analysis faster. There are also numerous improvements to make performance and drawing more efficient. Finally, it’s all about having more accurate analysis, for example, using geodesic measurements rather than straight line for global scale data.
Whilst some people may enjoy the security of knowing that they have done something before and can therefore do it again, others find this work boring and unchallenging. Perhaps you have a repetitive task that is part of your work day routine, something you have done so many times you can allow your mind to wander and focus on more important things like what you’re having for dinner. Personally I dislike repetitive tasks about as much as repetitive music.
So in the interest of working smarter … I will be presenting a Tips & Tricks session at the Sydney Directions 2015 showing users how to automate workflows using ArcGIS Desktop Model Builder. For those who have not used Model Builder before you will see both how easy it can be to graphically create a model to automate your ArcGIS business processes, as well as how powerful using a model can be.
Learning how to complete your ArcGIS Geoprocessing steps using Python will allow you to reduce the time spent on complex and/or repetitive tasks and will enable your staff to learn a more productive and dynamic pathway to return results.
So the question is; which course is for you?
The Introduction to Geoprocessing Scripts Using Python (10.2)course will teach you how to create Python scripts to automate tasks related to data management, feature editing, geoprocessing and analysis, and map production using ArcGIS. You will also learn how to share your Python scripts so your key GIS workflows are accessible to others. This course is designed for GIS analysts, specialists, data processors, and others who want to automate ArcGIS tasks and workflows.
Debugging geoprocessing scripts in Python is never easy, especially when these scripts are run as a scheduled task.
I’ve had a number of requests of how to debug a scheduled python script (especially when issues occur), and write the output to a text file.
Please find below a simple python script that I hope will help others to debug their scripts: Continue reading →
Modelbuilder is often an afterthought to most GIS analysts, however, it can be a powerful tool when it comes to building and replicating complex workflows, as well as automating those boring, tedious tasks.
Iterators are unique to models, and allow you to loop through a process on unique values, tables, layers in your map document, or even workspaces.
Let’s have a look at iterators, and how you can use them.