GIS data editing is an arduous task that one rather assigns to junior and novice GIS staff. Such staff will use less efficient workflows and produce more errors. This presented a real dilemma. Now with ArcGIS Pro Tasks complicated workflows can be executed efficiently by a larger number of GIS staff.
In a recent project I spent close to two weeks referencing 133 Matatu routes in Nairobi to OpenStreetMap. Luckily, I enjoy working with data and ArcGIS Pro and using my problem-solving skills. After all the hard work I asked myself how the work could have been done more efficiently.
Here are the 3 options that came to my mind:
- Automation – Automation with a Python script or a geoprocessing model is the best option when available. It can’t work in the current scenario, since the procedures require human interaction and decision-making.
- Artificial Intelligence – AI can model human actions and decision-making, and could have done the work better than me. One problem, AI doesn’t come cheap and only becomes an option when I turn mapping public transit into an ongoing business concern.
- ArcGIS Pro Tasks – I was using ArcGIS Pro, but had only heard of Tasks and never got to use them. With ArcGIS Pro Tasks as the last resort I decided to take a closer look and try them out. Guess what, it worked.
ArcGIS Pro Tasks
Tasks appear to be a hidden gem in ArcGIS Pro, since they aren’t mentioned often despite their powerful capabilities. I was able to get familiar with tasks in a short time and here are a few resources that will help you do the same:
- Carole Arseneau of Esri Canada in “The ultimate recipe to better manage time and standardize team workflows” gives a good overview of Tasks and aptly compares them to a muffin recipe.
- ArcGIS Pro Online Help is a great resource for learning. “What is a task?” is the root article from where you can access other articles and even a tutorial on creating a new task.
- The Esri Training site offers a half-day web course “Automating Workflows Using ArcGIS Pro Tasks” and a couple of video recordings on ArcGIS Pro Tasks. Check out the one that was done by Jason Camerano and Amir Bar-Maor.
To give a quick summary, a task in ArcGIS Pro contains the steps of a repeatable workflow, where each step performs a single command (e.g. select) or a group of commands that is intertwined (e.g. select, attributes). Tasks can be rolled up into task groups to divide long and complicated workflows in manageable chunks.
Designing a Task
Prior to authoring a task, you need to design and test a repeatable and sequential workflow that can be used on a frequent basis. This is arguably the hardest part, since tasks can be achieved in various ways. I used trial and error to optimize the procedure for referencing the 133 Matatu routes to OSM roads. The final workflow had the following steps:
- Select an unreferenced route from Digital Matatus with a definition query and zoom to it.
- Select all the segments from the OSM roads layer needed to recreate the Matatu route while observing one-way restrictions and non-level crossings.
- Merge the selected roads features to create a new feature in the OSM referenced Matatu road layer.
- Explode the merged route feature into multiple features by splitting the feature where it self-intersects.
- Delete all features that are not part of the route and split features if and where needed to accurately capture the endpoints of the route.
- Merge and then explode the remaining features to create a correct logical network for the edited route.
- Attribute the features with the correct value for the Oneway and Route_ID attributes. If necessary, split features where the Oneway attribute changes.
- Save the edits after confirming that the Matatu route is correctly referenced to the OSM roads layer.
Authoring a Task
I managed to automate this workflow in ArcGIS Pro Tasks in about half a day as a task named Create New Route. The consecutive steps of this task are shown below.
Here are a few things to take note of:
- The tasks and its steps appear in an independent dockable Tasks The Task pane is by default positioned over the Content pane to retain real estate in the application window.
- The top of the pane has a set of buttons for managing tasks and steps. I won’t discuss them in detail, since their use is self-explanatory.
- The Create New Route task has a total of 11 steps and step 6 and 10 are palette steps. More about palette steps later in the article.
- The run and proceed instructions for the highlighted step Select unreferenced route appear in the lower sections of the tasks pane.
- The task is currently in edit mode, since during run mode the user will only see the task name and the current step with its instructions.
Executing a Task
A task can be added the task to the Tasks pane by double-clicking it in the Catalog pane. Once it appears in the Tasks pane, one need to double-click it and follow the instructions in each step. The screenshot below was taken during the execution of the first step.
Notice the Progress indicator at the bottom of the Tasks pane, which informs the user that this is step one of 10. There are 11 steps in edit mode, but 1 step has been hidden in execution mode. Between the steps users have the flexibility to interact with ArcGIS Pro in a normal manner. This is discouraged here through the hiding of the ribbon interface.
With proper instructions for each step anyone should be able to perform complicated tasks. One could even develop an easy version of a task with detailed instructions and access to hyperlink resources. Such a version can then be used to train new employees or novice users.
Configuring a Task Step
Execution of a task is straightforward, but how about configuring the task steps? To create a task from scratch will take learning and experience, but you can get started by reviewing and editing an existing task.
Tasks steps are edited in the Task Designer pane. To open this pane, click the options button in the Tasks pane. It’s good practice to dock the Task Designer pane to the right of the Tasks pane, so that the task list and the step properties for the selected step appear side by side.
Let us now review the steps in the Create New Route task, that references Matatu routes in Nairobi in OSM data. The screenshot below shows the Tasks pane and the Task Designer pane alongside each other. The Task Designer pane shows properties for the Select roads segments step, which is selected in the Tasks pane.
You can see that the Task Designer has 4 different tabs named General, Actions, Views, and Contents, and each of them has different settings. Let’s first review the properties in the General tab, which is active.
- The Name property assigns the step a meaningful name which appears in the Tasks pane, while the Tooltip property appears on hover.
- Step Behavior determines how the step runs and proceeds to the next step. Both can be either automatic or prompted by the user. Auto Run is chosen here, since the action doesn’t require user input. The user will click Next Step only after all the required roads features have been selected.
- The Instructions box explains how to perform the step, while the Run/Proceed instructions box indicates what the user should have done before moving to the next step.
Let’s now review the Actions tab, which is critical since it determines what command or geoprocessing tool is executed within the step. Observe the following:
- The command or geoprocessing tool in this example has been set to Rectangle (select). Best practice is to capture the command or tool by clicking it in recording mode. Recording mode can be activated by clicking the Record
- Additional actions can take place When starting the step, Prior to command execution, and When exiting the step. In this example on exit it is verified that more than 1 roads feature is selected before the user can proceed to the next step.
We’ll skip the Views tab, since it simply selects the views in the project that should be open and active. In our example the task is performed within a single view.
The Contents tab is important, since it controls which layers in the active view are visible, selectable, editable, snappable, selected and labeled. In our example notice that visibility is turned on for all layers. Roads is the only selectable layer to prevent the selection of features from other layers.
Workflows don’t always follow a linear progression and I promised to talk a bit more about palette steps. The Create Matatu Road task has two palettes and Attribute new route is shown below.
The Attribute new route palette contains 4 different palette steps: Select, Attributes, Split line, and Select all. The palette steps can be executed repeatedly in any order, so the user can choose Select all followed by Attributes, or Select, Split line, Attributes as a sequence until all attribution is done. This adds flexibility to the workflow and helps the user to handle iterative processes.
Sharing a Task
The person authoring the task is typically not the person using the task, so let’s briefly discuss the two options for sharing tasks.
The first option is using Task File on the Share tab in the ArcGIS Pro ribbon. This shares the task without any data, so this option only works if the user has access to the same or similar data. The second option is to share the task as a Project Package which bundles the task with the data and any other project items.
Sharing a task using either option makes it easy to assign workflows to others in your organization, but you can also use it to outsource workflows to remote workers or external entities.
With ArcGIS Pro Tasks any GIS user can complete complicated workflows efficiently with minimal errors. This will have a tremendous impact on the productivity of the GIS workforce, particularly in large organizations.
Tasks can be authored in an intuitive interface that doesn’t require any programming and are available at no additional cost at each ArcGIS Pro licensing level. Once a task has been authored it can be easily shared as a task file via email or as a project package through an ArcGIS portal.
Are you interested in using ArcGIS Pro Tasks? Do you have a question, comment, or experience that you want to share? Just get in touch with me or leave a comment below.