Esri Field Mobility

Maintaining field assets such as roads or fire hydrants, requires engineers and managers to know what condition these assets are in. After all, prevention is better than cure and fixing problems is much more time consuming and expensive than just keeping all assets serviced and in good working condition.

Many organizations rely on a field workforce to support these daily operations. Having the capability to get information into and out of the field in a timely manner can increase the efficiency and effectiveness of the organization. Information collected in the field using easy-to-use solutions can share information with solutions including the executive operational dashboard in near real-time allowing decision-makers within an organization to make more informed and timely decisions. These mobile solutions can also improve the workflows of field personnel by providing them with on-demand access to actionable and task-relevant information creating a more efficient and effective workforce.

In a scenario where the data already resides in a geodatabase, how can office staff or dispatchers send out staff to the field to inspect and evaluate the condition of an asset easily and quickly and ideally without a paper trail?

Simply put, the workflow can be streamlined with the use of Workforce for ArcGIS in conjunction with Collector for ArcGIS.

1
Workforce for ArcGIS: Creating an Assignment

With Workforce for ArcGIS, office staff can manage the deployment of all field crews by assigning jobs to each individually and monitoring their progress and position in real time.

Creating an assignment on the Workforce for ArcGIS web app allows for the dispatcher to:

  • Choose the assignment Type
  • Set the location of assignment (Address or   coordinate)
  • Choose the staff member
  • Set Priority of assignment
  • Set the due date/time for completion
  • Description of assignment/task
  • Attach files for use by the field staff such as images or technical drawings.

Assignments are sent to the field worker via an internet connection to their mobile phones or tablets, running on Android, iOS or Windows 10.

2

Once the assignment has been created, the user in the field can choose to accept or decline the assignment, all of which will notify the dispatcher in the office.

When an assignment has been accepted and “Start” is chosen, the field user will access the details of the job as well as be able to access the applications used to both navigate to the location  or capture the data.

 

3-4
Navigating between Workforce for ArcGIS and Collector for ArcGIS on a mobile device

The user will choose the Collect option at the top-right in order for the hydrants to show on a map. Using Collector for ArcGIS allows for the user to access the existing feature where it’s properties can be altered.

5
Collector for ArcGIS: Feature attributes
6
Collector for ArcGIS: Editing feature attributes

Once a hydrant is selected, all it’s relevant data is displayed and ready to be edited, if required.

And when the inspection is complete, the tick at the top-left is selected, which will sync the data from the mobile device with the data source, keeping in mind that an internet connection is required.

Lastly, the applications will switch back to the Workforce for ArcGIS, where the field worker will select the “Finish” option, notifying the dispatcher of the assignments completion.

7

Collector and Survey123 for ArcGIS are also capable of capturing new features with the same workflow and do not require internet access though the location (GPS) has to be switched ON, on the mobile device.

Capturing data in the field has never been easier!

Check to see if a field exists using Python

Ever wanted to know if a certain field exists in a feature class or attribute table? This could be to either populate it with something if it does exist or create it first if it does not exist, then populate it. The easy steps below will show you how to check if a field exists. If it does not exist, it will be created then perform a field calculation on it.

First is the code (function) to check if a field exists (Note that the green text is purely some metadata about this function):

Next we will work with this code (known as calling this function) to check if a specific field name exists in our feature class. The path to our feature class is C:\data\MyData.gdb\TestFeatureClass and the field name we are going to check for is CATEGORY. These we will set in a variable as such:

Because the fieldExists function with return a Boolean of True, we can use an if statement to do something if it does
exist. We do that by using the following:

Now we need to do something if it does exist. For now we will just return a message to say that it does exit (if it actually does exist in the feature class):

If this field does exist in the feature class, the message returned will look like this:

image005
At the moment, if the field does not exist, no message will be shown. This also means that if it does not exist, you cannot do anything else. What we now need to do is write something to say that if the field does not exist in my feature class, I must do something else. This is done by using the else statement under the if statement (that’s logical, don’t you think). This is done like so:

Pretty simple so far? Great!

Now we need to add a message to say that the field does not exist in the feature class:

If this field does not exist in the feature class, the message returned will look like this:
image008
After that and using the same indentation as the print statement you can now use something like arcpy.AddField_management() to add the missing field which needs to be populated.

The completed script looks like this (You can copy and paste the code below and re-use it in your own script):