[gdal-dev] Area of hourglass shaped polygon

Chris 'Xenon' Hanson xenon at alphapixel.com
Thu Mar 18 12:26:11 EDT 2010

On 3/18/2010 10:20 AM, Ramiro Gonzalez wrote:
> I use gdal to calculate the area of polygons drawn by a user over a map.
> The points are added to the polygon in same order the user selects them.
> An hourglass shaped polygon can be created adding 4 points like a 'z'.
> When the polygon has the shape of an hourglass, the measure returned by
> get_Area() is smaller than the sum of the areas of the two independent
> triangles.
> I'd like to know if there is a way to calculate the area in this situation?
> I tried to intersect the polygon with another that contains it but the
> operation fails when the polygon cross itself(return NULL). I could use
> this to inform that the area calculated is invalid, but I'd like to know
> if there is a better way of knowing this.

  I'm pretty sure this would be considered nonsensical topology. Area calculations usually
rely on the points in a polygon winding either consistently clockwise or
counter-clockwise, but yours are mixed.

  Don't do that. It's bad.

  If you want to measure the area of a shape like that, create it out of two normal
consistently-wound triangles stacked tip-to-tip.

> Thanks,
> Ramiro

Chris 'Xenon' Hanson, omo sanza lettere                  Xenon AlphaPixel.com
PixelSense Landsat processing now available! http://www.alphapixel.com/demos/
"There is no Truth. There is only Perception. To Perceive is to Exist." - Xen

More information about the gdal-dev mailing list