【发布时间】:2011-03-08 19:58:11
【问题描述】:
在 Iphone SDK 中,distanceFromLocation: 表示它根本不使用高度。如果我正在编写一个应用程序来跟踪我步行/骑车/等多远(是的,我知道已经有很多人这样做了),我很好奇这有多重要。有任何人对此有经验吗?
当我说笛卡尔线时,我的意思是这样的(在 C# 中,而不是在客观 C 中):
double lattitude, longitude, altitude, x, y, z, x1, y1, z1, S;
double a = 6378137, C, f = 1 / 298.257224;
lattitude = <insert degrees> * Math.PI / 180.0;
longitude = <insert degrees> * Math.PI / 180.0;
altitiude = <insert altitude>
C= 1 / (Math.Sqrt(Math.Pow(Math.Cos(lattitude),2.0) + Math.Pow((1 - f),2.0) *Math.Pow(Math.Sin(lattitude),2.0)));
S = Math.Pow(1 - f, 2.0) * C;
x = (a*C+altitude) * Math.Cos(lattitude) * Math.Cos(longitude);
y = (a*C+altitude) *Math.Cos(lattitude) * Math.Sin(longitude);
z = (a*S+altitude) * Math.Sin(lattitude);
lattitude = <insert degrees new> * Math.PI / 180.0;
longitude = <insert degrees new> * Math.PI / 180.0;
altitiude = <insert altitude new>;
x1 = (a * C + altitude) * Math.Cos(lattitude) * Math.Cos(longitude);
y1 = (a * C + altitude) * Math.Cos(lattitude) * Math.Sin(longitude);
z1 = (a * S + altitude) * Math.Sin(lattitude);
double distance;
distance = Math.Sqrt(Math.Pow(x1 - x, 2.0) + Math.Pow(y1 - y, 2.0) + Math.Pow(z1 - z, 2.0));
有谁知道它实际上有多大的不同?本质上它是如何在iphone上精确计算的?大圆距离?我似乎无法在任何地方找到答案
【问题讨论】:
标签: c# iphone objective-c location cllocationmanager