Iphone GPS如何结合纬度/经度和水平精度来创建;“桶”;数据量?

Iphone GPS如何结合纬度/经度和水平精度来创建;“桶”;数据量?,iphone,objective-c,gps,latitude-longitude,Iphone,Objective C,Gps,Latitude Longitude,我正在iPhone上处理用户照片,其中一些照片带有地理标签(有纬度和经度)。例如,我的经度看起来像-73.123456。每个GPS标记都具有水平精度特性,以米为单位 如何将水平精度与纬度/经度结合起来创建GPS坐标组(桶) 例如,我希望所有在用户家中拍摄的照片都放在一个桶中,而所有在工作中拍摄的照片都放在另一个桶中 我最初考虑的是将纬度/经度乘以1000000,然后去掉分数部分: CLLocation *assetLocation = [asset valueForProperty:ALAss

我正在iPhone上处理用户照片,其中一些照片带有地理标签(有纬度和经度)。例如,我的经度看起来像-73.123456。每个GPS标记都具有水平精度特性,以米为单位

如何将水平精度与纬度/经度结合起来创建GPS坐标组(桶)

例如,我希望所有在用户家中拍摄的照片都放在一个桶中,而所有在工作中拍摄的照片都放在另一个桶中

我最初考虑的是将纬度/经度乘以1000000,然后去掉分数部分:

 CLLocation *assetLocation = [asset valueForProperty:ALAssetPropertyLocation];
                CLLocationCoordinate2D coordinate = [assetLocation coordinate];

                NSInteger latitudeInt = coordinate.latitude * 1000000;
                NSInteger longitudeInt = coordinate.longitude * 1000000;

                latitudeInt = latitudeInt-(latitudeInt % 100000);
                longitudeInt = longitudeInt-(longitudeInt % 100000);



               NSLog(@"trimmed:(lat %f, lon %f) real: (lat %f, lon %f) ",  latitudeInt/1000000.0, longitudeInt/1000000.0,coordinate.latitude,coordinate.longitude);
这将导致GPS读数为-73.1

这种方法的问题是,对于一张照片,我得到的GPS位置是1公里以外,但如果我从纬度/经度读数中减去0.099,误差可能高达5公里。理想情况下,我的每个水桶直径为1-2公里,以某个GPS坐标为中心

这提出了一个问题-我如何结合纬度/经度信息和水平精度来创建GPS坐标组/桶?它们不必精确或直接以用户的房子为中心,但我希望用户房子周围拍摄的所有照片都能进入“用户的家”桶。

您应该查看


您的任务相当困难,这将花费大量时间,并且需要算法(地理空间)知识。如果你需要的话,再想想。

你能不能计算一下距离,看看它是否特别靠近用户的房子或工作场所或其他什么地方?问题是-我不知道用户的房子或工作场所在哪里,我希望如果我从lat/Lon中去掉一些数字,所有在家里拍摄的照片,工作,etc将被分组在一起。那显然很难做到。这可能不是最好的解决方案,但我会尝试使用初始条目作为参考点,以便比较新条目之间的距离,并得出它们是否足够接近,从而落入同一个桶中的结论。不过,这只是一个建议,也许有更好的解决办法。