Geoshape Overlap check

1. What is the issue? Please be detailed.
We are using odk forms to collect land information, which requires us to draw geoshape boundaries. Since the form is static we won't be able to check on the go, whether the current map overlaps with any of the existing maps present in our database. This is one issue that is a top priority for us to handle on the form level itself. When we are monitoring those land boundaries it's hard for us to distinguish and it overall kills our agenda of data collection, as we need individual land boundaries and not overlaps.

2. What steps can we take to reproduce this issue?
You can draw maps using odk collect or even enketo where you draw two same land boundaries and they will overlap each other since they both have the same coordinates.

3. What have you tried to fix the issue?
We searched for a solution under odk documentation, and we got the idea to include base-map which can have land boundaries drawn which can help us in minimizing this error, but when we look for the location on an Android phone, we were not able to access it, in the folder location where the base-map was supposed to be kept.

4. Upload any forms or screenshots you can share publicly below.

1 Like

The layers folder does not exist by default (unless you have attempted to choose a layer IIRC), so you can create it and then drop the tilesets in there either via the Files app or while connected to a computer.

Thanks. I also tried with third-party file managers, and was able to add basemap, but, is there any other way to achieve this apart from basemap?

Geoshape Overlap check

So in the generalized case what you are basically asking for here is detecting intersecting polygons. This is a non-trivial geometry problem (eg see https://www.swtestacademy.com/intersection-convex-polygons-algorithm/, which then only works for convex polygons; concave ones are even worse...) and outside the scope of what's feasible in an XForm [at least not without, say, a custom XPath function that implements one of these geometry algorithms].

However, if you can reduce the problem to, say, two purely rectangular geopshapes, vertically aligned, you could check the minX, maxX, minY, maxY of each rectangle to see if they overlap, which would be a fairly straightforward calculation.