测量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
- Android HttpClient Post File MultipartEntity
- 如何使用libgdx获取手机语言?
- 将Cookie传递给GET请求的问题(POST后)
- 扩展ListActivity 时,您的内容必须具有一个ListView,其id属性为’android.R.id.list’
- 使用gnu-crypto jar使用whirlpool算法加密pwd的Java示例
- javafx:javafx.scene.layout.AnchorPane无法强制转换为javafx.scene.layout.BorderPane
- Android:无缓冲的IO
- 计算已排序数组中数字的出现次数
- Android – 应用程序关闭时从另一个类调用方法(使用AlarmManager)