Disable the ability to manually set or move the location in Field Maps

1335
6
04-21-2022 06:47 AM
MartinOwens1
Occasional Contributor II

Has anyone figured out a way to force data collection though only GPS in Field Maps and disable the ability to manually place a point or move a point. For a high accuracy data collection project the ability to manually set or accidentally move the map to a different target location while collecting data is undesirable. I know accuracy requirements can be set, but that only applies if using GPS. Before I submit in the ArcGIS Ideas I wanted to see if anyone has been able to accomplish this.

6 Replies
PeterKnoop
MVP Regular Contributor

The workaround we currently employee is to use symbology to catch a user's attention. We display a huge, red symbol when "Position source type" (esrignss_positionsourcetype) from the GPS metadata fields is not "External GNSS Receiver":

PeterKnoop_0-1650553795901.jpeg

 

If a user overrides the GPS and manually places a point, then when they submit it they get the big red dot because the Position source type is User Defined.

If a user accidentally edits an existing point placed with the GNSS receiver, and manually moves it somewhere else, And hits Update point, AND submits it, then the Position source type is changed to User Defined. So the symbol becomes the big red dot, however, the point is indeed now in the wrong place with no way to undo it easily... but that is a lot of steps to go through by accident.

 

MartinOwens1
Occasional Contributor II

Peter,

Thanks for the idea. That's a pretty good way to identify to the user that the location has been manually set. The only issue in my case is all of the data layers have a symbology on a different field when users are collecting data. I would have to figure out a work around for that. I guess one way would to be to filter out anything that doesn't have the correct metadata value from the feature service in the web map and then add the same layers map service and filter and symbolize it with the red dot. I still think the option could to force gps collection in the field maps configuration would be a great solution to this problem.

0 Kudos
PeterKnoop
MVP Regular Contributor

@MartinOwens1 I agree, such a feature would be a nice option.

Meanwhile, to accomplish the suggested workaround with more complicated symbology, I might recommend using an Arcade expression, rather than adding the layer twice.

For example, if you are using unique values to symbolize your data, then you could add a value for the big red circle to your style. In your Arcade expression, if the Position source type is User Defined then you would return that value, else, your expression would return the value for the desired attribute.

// esrignss_positionsourcetype domain uses code of 1 for "User Defined".
if($feature["esrignss_positionsourcetype"] == 1 ) {
    // Return value that equates to the big red circle in your style.
    return 0
}
else {
    // Return value for attribute you want to symbolize.
    return $feature.Category
}

 

0 Kudos
AngelNicoleAlvaro1
New Contributor III

Hi, Peter. We are interested in this workaround that you suggested. Is it okay if you share to us the step-by-step process on how you did this? 

0 Kudos
PeterKnoop
MVP Regular Contributor

@AngelNicoleAlvaro1 In the earlier, simple example, you configure the layer's style to use the "esrignss_positionsourcetype" field and "Types (unique symbols)". You specify whatever symbols you want to use for the different values of that field. If you want alert users when the field has a value of "User Defined", then make that value's symbol something big, obnoxious, and different than what is expected for when things are working.

In the later example, where the user wants to use their own Category field for unique value styling, then you could use the example Arcade script above. It assumes that the user has not defined a "0" category, so that it can return that value, when the esrignss_positionsourcetype is "User Defined". Then, in the symbology, you can add a "0" category, or leverage the "Other" setting, and give it a big and obnoxious symbol, while points with good values for esrignss_positionsourcetype will return the Category value, and get styled according to what you've defined for unique Category values.

Hope that makes sense!

0 Kudos
TylerBoychuk
New Contributor II

Just wanted to add my two cents for others who are dealing with this. This is probably for Enterprise specifically and is for sure related to z-aware data, but I was just exploring the opposite where I couldn't manually add a point when I wanted to and came upon this post. 

Peter's method is great and I might use that going forward in most cases, but it looks like setting the 'Apply default to features with z-values' check box when publishing the data from Pro affects this behavior.

Here is the technical bulletin I found after this post:
https://support.esri.com/en-us/knowledge-base/problem-unable-to-add-point-features-beyond-the-users-... 

Here's the steps to update it through the Server Manager after the Feature Layer has been published:
https://enterprise.arcgis.com/en/server/latest/publish-services/windows/editing-features-with-z-valu... 

I assume keeping this unchecked, like my data is, would give Martin the desired result, if the data is z-aware.

0 Kudos