我想按照以下方式转换给定的纬度和经度: -
例如,我有一个纬度:29.0167和经度:77.3833。现在我如何将这些坐标转换为左下纬度,左下经度,右上纬度和右上经度。
请任何人帮助我。
答案 0 :(得分:0)
我不确定我是否理解你要做什么,但如果我这样做,你可以使用Math.Floor和Math.Ceiling。它们给你第一个更小的整数,分别大于提供的数字。
float lon =77.38;
float lat = 29.01;
float loLat=Math.Floor(lat); //29
float upLat=Math.Ceiling(lat); //30
float loLon=Math.Floor(lat); //77
float upLon=Math.Ceiling(lat); //78
然后,您可以根据此计算所需的角落。
答案 1 :(得分:0)
计算两点之间的距离。如果距离很小(比如大约100公里),那么通常可以使用平坦的地球近似。对于更长的距离,您需要使用“大圆”距离。 AKA Haversine配方。您计算的距离是方形的对角线距离。有关您需要的所有公式,请访问此网站:http://www.movable-type.co.uk/scripts/latlong.html
从左下角到右上角计算轴承。再次,请参阅上面的站点以计算两个纬度/经度点之间的轴承。
要获得右下角,您知道盒子边的距离是对角线距离除以2的平方根。这是来自直角三角形:x ^ 2 + x ^ 2 =斜边。
从上面计算的方位,加45度。你现在有一个范围(D / sqrt(2))和一个到右下角的方位。使用上面的站点计算具有范围和方位的纬度/经度的纬度/经度。
通过减去45度重复左上角。