两个地理位置之间的距离(以英尺为单位)
Posted
技术标签:
【中文标题】两个地理位置之间的距离(以英尺为单位)【英文标题】:Distance between two Geo Location in feet 【发布时间】:2015-10-30 10:53:33 【问题描述】:如何找出不同单位的两个位置之间的差异。我已经找到了以公里和英里计算的方法,但不确定英尺。
private double Distance(double lat1, double lon1, double lat2, double lon2, int unit)
double theta = lon1 - lon2;
double dist = Math.Sin(Deg2rad(lat1)) * Math.Sin(Deg2rad(lat2)) + Math.Cos(Deg2rad(lat1)) * Math.Cos(Deg2rad(lat2)) * Math.Cos(Deg2rad(theta));
dist = Math.Acos(dist);
dist = Rad2deg(dist);
dist = dist * 60 * 1.1515;
if (unit == GeoFence.RadiusUnits.Kilometers.GetHashCode())
dist = dist * 1.609344; //kilometers
else if (unit == GeoFence.RadiusUnits.Feet.GetHashCode())
//Here I need to calculate distance in feet
return (dist); //By default the distance is in statute miles
而且我不确定 1.609344 以公里为单位计算的逻辑
【问题讨论】:
【参考方案1】:dist
似乎是以英里为单位的距离。
1 英里等于 1.609344 公里(或 5280 英尺),因此您必须将 dist
乘以 5280
else if (unit == GeoFence.RadiusUnits.Feet.GetHashCode())
dist = dist * 5280;
【讨论】:
以上是关于两个地理位置之间的距离(以英尺为单位)的主要内容,如果未能解决你的问题,请参考以下文章