I've got a series of Location
/ GeoPoint
objects that form a polygon in my Android app. I wonder if there's any way to calculate the area covered by it.
So far I'm thinking about setting up a web service that, when posted the list of coordinates, uses the JS Google Maps API v3 to calculate the area. But there might be a way of doing this easily with some feature from Android I don't know about, natively.
Thanks in advance for your help!
A method doing this is posted in following answer:
https://stackoverflow.com/a/16210785/891479
This is based on following formula:
http://mathworld.wolfram.com/PolygonArea.html
http://en.wikipedia.org/wiki/Polygon
Principle of plolygon area calculation using this formula:
http://maruzar.blogspot.com/2011/12/irregular-and-regular-polygon-area-by.html
If you want to do it yourself, the way to calculate any polygn area knowing the corrdinates is explained in Polygon.
You can find a more comprehensive explanation in How to Calculate the Area of a Polygon under the topic Irregular Polygons
Just in case it helps someone, there is a very good answer in this thread:
Calculate the area of a polygon drawn on google maps in an Android application
The answer from Marian Paździoch:
There's already a library for that.
import com.google.maps.android.SphericalUtil;
//...
List<LatLng> latLngs = new ArrayList<>();
latLngs.add(new LatLng(51.893728, -8.491865));
latLngs.add(new LatLng(51.893550, -8.492479));
latLngs.add(new LatLng(51.893216, -8.492224));
latLngs.add(new LatLng(51.893404, -8.491598));
Log.i(TAG, "computeArea " + SphericalUtil.computeArea(latLngs));