Disabling placement by tapping

Location by touch

Is it possible in the application to disable the location by touch method and only leave the manual location and the automatic location enabled.
How could I solve it in the .xls?
@Sadiq_Khoja could you help me


lite_polig.xlsx (326.3 KB)

I don't think that's possible.

Can you please share why do you want to disable that option; This will help the community to better understand your workflow and suggest an alternative.

1 Like

We want to disable this option, because there are field technicians who must capture the polygon manually or automatically. Since the touch option allows the user not to capture the area of the farm manually, that's the answer.

On the other hand, if in case this option cannot be disabled, that in the central odk it allows us to see if the user used this option.

In Central if you want to know if User used "placement by tapping" option then you can check the accuracy radius, if it is 0 then it means user has entered the point(s) by tapping.

From the documentation:

Points that were entered by tapping or adjusted by dragging will always have an accuracy radius of 0. Points that were read from the device location will never have an accuracy radius of 0.

This verification of the precision radius, if it is 0, where it can be displayed in the main data download table, example: I attach the file to you
cacao_carbono_2024-geopoints.csv (215.9 KB)

The value of geoshape in your Form would have the latitude, longitude, altitude and accuracy of each point separated by semi-colon in the polygon. For example, in the following sample value of geoshape, there are four points and each point has lat=43.xx, long=-79.xx, altitude=123.xx and accuracy=7.xx.

43.7283622 -79.3235856 123.29999542236328 7.718;43.7283699 -79.3235988 123.29999542236328 7.289;43.7283739 -79.3235987 123.29999542236328 7.113;43.7283622 -79.3235856 123.29999542236328 13.718

If you want to extract accuracy radius in the Form then you can add two additional fields:

type name calculation
calculate accuracystr selected-at(${geoshape},${index}*3+3)
calculate accuracy if(${index}+1=${numpoints}, ${accuracystr}, substring-before(${accuracystr}, ';'))
1 Like

To add to what Sadiq suggested, you could also implement a constraint that checks that the accuracy &/or altitude values are !=0, which would prevent the user from submitting manually placed points.

I do the opposite of this and use a constraint to ensure the points are manually placed.

3 Likes