Cut circle polygon using geometry engine doesn't equally split fields

623
0
06-27-2018 02:48 PM
HazemEl-Hammamy
New Contributor

We're using the 3.23 Javascript API

We have a circular field drawn using esri's drawing tool and projected on a web mercator map (Spatial Reference 102100).

We want to split that field equally into either 2,3,4 or 5 parts

So what we do is get the field's center then create/draw a polyline through that center using different angles based on how many parts we need (As shown in pictures below).

Then we use geometryEngine.cut on that field giving it the circle to cut and the polyline to cut with.

Something very strange happens as the parts don't end up being equal.

For example a 400 Hectare circle field being split into 4 parts can end up having one part 99.51 Ha, one part 100.2 Ha, one part 100.1 Ha and one part 99.8 Ha. So as you see the area's don't even add up to the original 400 Ha.

An even stranger thing is if I try re-merging those parts using geometryEngine.union, they don't end up exactly as the area before, they can still be off by .01/.02/.03 etc. 

Changing the angle on the line also changes the areas as well, so a field cut using lines shaped as an X instead of lines shaped as a  + will yield different results.

Is there something wrong I'm doing while cutting? Is there something I'm missing that has to do with the projections? Or the fact that circles drawing using esri's draw tool are approximations of circles? 

At first I thought it was the projections but fields down to 25 hectares still get margins of errors in 0.1 or 0.2, can't imagine that would be the case.

If anyone has any insight on my problem or a more accurate way to cut polygons especially circles and maintaining their areas I'd be very grateful.

Thank you.

EDIT: The problem with the sum of the parts not equaling the original ended up being a bug in the geometry engine module prior to 3.24, so upgrading the engine to 3.24 helped with that. I asked and that problem still exists on 4.x and they're planning to resolve it in 4.9.

The fact that the parts aren't all equal I'm blaming on the projection we use and that circles in web mercator can't possibly be actual circles. Will update if anything happens. 

0 Kudos
0 Replies