2

我有一系列Location/GeoPoint对象在我的 Android 应用程序中形成一个多边形。我想知道是否有任何方法可以计算它所覆盖的面积。

到目前为止,我正在考虑建立一个网络服务,当发布坐标列表时,它使用 JS Google Maps API v3 来计算面积。但是可能有一种方法可以很容易地使用我不知道的 Android 的某些功能来实现这一点。

在此先感谢您的帮助!

4

3 回答 3

3

执行此操作的方法发布在以下答案中:

https://stackoverflow.com/a/16210785/891479

这是基于以下公式:

http://mathworld.wolfram.com/PolygonArea.html

http://en.wikipedia.org/wiki/Polygon

使用此公式计算多边形面积的原理:

http://maruzar.blogspot.com/2011/12/irregular-and-regular-polygon-area-by.html

于 2013-09-27T14:00:26.053 回答
1

如果你想自己做,在Polygon中解释了计算任何已知坐标的多边形面积的方法。

您可以在主题下的如何计算多边形的面积中找到更全面的解释Irregular Polygons

于 2012-10-24T22:03:54.227 回答
0

以防万一它对某人有所帮助,这个线程中有一个很好的答案: Calculate the area of​​ a polygon on google maps in an Android application

Marian Paździoch 的回答:

已经有一个图书馆

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));
于 2016-10-05T11:43:36.087 回答