# Area of a polygon: How to calculate the area of a polygon?

 All requests > Area of a polygon > Request new recommendation > Featured requests > No recommendations

## Area of a polygon #polygon area

by fikar - 6 years ago (2015-09-03)

### How to calculate the area of a polygon?

 +3 I have tried the calculate distance class, but that is not good for this. Now how about calculate polygon area in a map?
• 2 Clarification requests
• 2. by Anthony Amolochitis - 6 years ago (2015-09-04)

Do you need an exact area or an approximate area?

Approximate area can use summations of length and height of leftmost to rightmost points from bottom up, top down, etc... The smaller the rectangular height, the closer to accurate you will be. That isn't the most efficient, but it is a start.

If you need the exact area, you will need to use integration of a function. If you can define a function to draw the polygon, then it can be integrated. Maybe by breaking the polygon down to multiple triangles will help with this.

Sounds like it's own little system. I will dwell on it some more. Great problem!

• 1. by Manuel Lemos - 6 years ago (2015-09-04)

That is a tough problem to do in pure PHP if you do not know integral calculus. I do not know enough about it to figure an algorithm.

Anyway, I think Google Maps API has function to calculate areas defined by polygons given their latitude and longitude coordinates.

• 3. by Olivier Plathey - 6 years ago (2015-09-05) in reply to comment 1 by Manuel Lemos

There's no need to do any integral calculus.

www.mathwords.com/a/area_convex_polygon.htm

• 4. by Samuel Adeshina - 6 years ago (2015-09-05) in reply to comment 3 by Olivier Plathey

Olivier Plathey, there's something called efficiency. Most of the Formulas on that page are meant for calculating the area of an irregular polygon by hand, they've not been properly optimized as an efficient algorithm should. These formulas would fail in situation where you need to calculate the area of a city from coordinates gotten from google maps or something similar

• 5. by Olivier Plathey - 6 years ago (2015-09-05) in reply to comment 4 by Samuel Adeshina

Are you serious? Of course the formula is efficient. There are only some additions and multiplications. You can't do better.

You will find a JS implementation here:

www.mathopenref.com/coordpolygonarea2.html

The function has only 6 lines!

• 6. by Manuel Lemos - 6 years ago (2015-09-05) in reply to comment 3 by Olivier Plathey

Well the Earth is round, not flat. Those calculations seem to be meant to calculate areas of polygons defined on flat surfaces. That is why I suppose it may require integral calculus for polygons defined on round surfaces to be really accurate.

Now, so polygons defined by vertices that are very close, the surface is almost flat. In that case those calculations for flat polygons would do.

• 7. by Samuel Adeshina - 6 years ago (2015-09-06) in reply to comment 6 by Manuel Lemos

Yeah, the best method for calculating the area of an hollow irregular polygonal shape or object is to integrate. Using Green's integral Theorem (Search for Green's Theorem on Wikipedia, external links are not allowed here), a formular can be derived for determining the area of an irregular polygon

## Greens PHP Polygon Area: Calculate the area and perimeter of a polygon

 +2 by Samuel Adeshina package author - 6 years ago (2015-09-05) CommentCheck Out This Package. It accepts the coordinates of the vertices of the polygon you want to calculate and uses green's theorem to determine its area. It can also be used to determine the perimeter (distance) of a polygonal shape using the well known distance formula in physics.
• 1. by Manuel Lemos - 6 years ago (2015-09-07)

Yes, this can be used as an approximate solution for map areas defined by vertices not very far from each other, as when they are close you can consider the Earth is practically flat.

Anyway for mapping calculations there still needs to be some kind of conversion between latitude and longitude and miles or kilometers, at least to a reference point.

• 2. by Samuel Adeshina - 6 years ago (2015-09-08) in reply to comment 1 by Manuel Lemos

Yes, thanks Mr. Manuel

I just opened a new issue for that on the package's github repo. Will improve the algorithm as soon as possible

Recommend package
 Package: Explanation:
For more information send a message to `info at phpclasses dot org`.