测量android中不规则多边形的面积

我正在开发一个应用程序,我在地图上绘制多边形和我使用的地图不是谷歌,它的Mapsforge开源离线地图库.i通过将geopoint转换为pixcel点,可以在地图上轻松绘制多边形。但在这里,我想要找到那个不规则的多边形,为此我已经做了很多尝试,但它让我不成功..我尝试过计算区域与基本数学,但它不工作在这种情况下,情况pixcel是改变缩放水平。 这是数学逻辑: 数学计算

for(int miAreainc = 0;miAreainc > " + unit); 

我发现函数停留在服务器端,从geopoint数组获取区域,但在这里我想让它脱机。 我到目前为止已经尝试但没有得到任何线索或结果..请帮助我…谢谢

注意 :我真的不知道我的答案是多么愚蠢。 所以,如果它没有意义,请告诉我,我会删除它。

由于地图不在笛卡尔坐标系中 ,因此您的计算结果不会产生准确结果。 你需要球形三角形用于球形多边形 ,这不是一件容易的事。

在地球表面任意多边形包围的计算区域有一个很好的讨论。 看一看。

但除了所有这些之外,我在mapsforge中找到了Projection.java ,它有一种方法可以在GeoPoint的特定缩放级别找到世界地图上的绝对像素坐标:

将给定的{@link GeoPoint}转换为世界地图上的绝对像素坐标。

 Point toPoint(GeoPoint in, Point out, byte zoomLevel); 

我不是很了解,但我认为它会在投影地图上给你GeoPoint的绝对坐标,这样你就可以使用笛卡尔计算。

对于面积计算,您需要使用单位计将lat,lon转换为笛卡尔坐标。 (不是像素)看看变换Moduls