假设我有一个正方形,它由四个CLLocationCoordinate2D点组成,这些点位于lat,lon,我想要以米为单位查找平方的面积。我将CLLocationCoordinate2D点转换为MKMapPoints,并在X-Y空间中找到该区域。但是,我发现的区域是MKMapPoint的单位,它不直接转换为米。如何将MKMapPoint空间中的这个区域转换回米?iphone - 将MKMapPoint距离转换为米
1
A
回答
7
MapKit功能MKMetersBetweenMapPoints
使这更容易。
例如,如果你想获得当前显示的区域的面积:“考虑到地球曲率”
MKMapPoint mpTopLeft = mapView.visibleMapRect.origin;
MKMapPoint mpTopRight = MKMapPointMake(
mapView.visibleMapRect.origin.x + mapView.visibleMapRect.size.width,
mapView.visibleMapRect.origin.y);
MKMapPoint mpBottomRight = MKMapPointMake(
mapView.visibleMapRect.origin.x + mapView.visibleMapRect.size.width,
mapView.visibleMapRect.origin.y + mapView.visibleMapRect.size.height);
CLLocationDistance hDist = MKMetersBetweenMapPoints(mpTopLeft, mpTopRight);
CLLocationDistance vDist = MKMetersBetweenMapPoints(mpTopRight, mpBottomRight);
double vmrArea = hDist * vDist;
的文档指出函数取
0
您可以使用Haversine formula来计算它,假设地球是一个完美的球体。
要了解纬度/经度对米在地球环境中的工作原理,您可能会发现阅读Nautical miles有趣。
您可以通过使用Google搜索objective-c Haversine formula找到更多资源和一些示例代码。
享受!
相关问题
- 1. iPhone SDK:将MKMapPoint转换为CGPoint
- 2. 将RSSI转换为距离
- 3. 将CLLocation对象转换为MKMapPoint结构
- 4. 如何将MKMapPoint转换为CGPoint
- 5. 将MKMapView的距离转换为UIView的距离
- 6. 将距离转换为WP8中的GeoCoordinate
- 7. 如何将千米转换为米?
- 8. 将毫米转换为em
- 9. 将gps坐标转换为距离并将距离转换为以十进制度表示的半径
- 10. 如何转换从度到米的距离?
- 11. Matlab GPS +以米为单位的距离
- 12. 将成对距离转换成距离矩阵R
- 13. 从欧几里得距离转换为曼哈顿距离c#
- 14. 将厘米转换为公里,米和厘米
- 15. google api距离矩阵转换为R
- 16. MongoDB geonear和距离转换
- 17. iOS:如何将MKMapPoint或CLLocationCoordinate2D转换为UTM?
- 18. 如何将MKMapPoint数组转换为MKPolygon覆盖图
- 19. 将厘米转换为英寸
- 20. 将英寸转换为厘米
- 21. Android将像素转换为inchec,毫米
- 22. 计算距离位置的距离 - iPhone
- 23. 转换地理距离度坐标转换为十进制
- 24. 如何将点转换为指定角度的指定距离?
- 25. 将3D点云转换为距离图像
- 26. 将距离字符串转换为数字
- 27. 如果需要将距离从十进制转换为整数
- 28. 将IP地址转换为距离特定邮政编码
- 29. 如何将平面转换为X距离的点?
- 30. 如何获得米的距离
好的谢谢,这是非常有帮助的。但如果我有一个不规则的多边形呢?有一个给定顶点的多边形面积公式,但我会以MKMapPoint单位进行计算。我将如何将这些转换为米? – Paul
这个问题说“方”,所以我举了一个矩形区域的例子。即使如此,上述方法仍然是一种近似方法,仅适用于曲率不是重要因素的相对较小的区域(尽管_距离函数无论如何都是准确的)。对于不规则的多边形,抱歉,我没有一个简单的答案。尝试从[这个答案]开始(http://stackoverflow.com/questions/1340223/calculating-area-enclosed-by-arbitrary-polygon-on-earths-surface)。您必须决定要使用哪种算法并从那里开始。 – Anna
好听起来不错,谢谢! – Paul