Tim*_*ima 5 sqlite math android
我在我的android应用程序中有一个带有地理指针的数据库表(lat和lon是十进制度值),大约1000点.我需要选择20个最近点到某个给定的地理点.
我在Stackoverflow上找到了如何计算两个地理点之间距离的答案,并且非常高兴,直到我尝试编写查询.我发现,在内置的android的sqlite中使用trignometrical函数是不可能的.
但后来我有了一个想法.我真的不需要计算距离.接近一个点是另一个点,它们的地理坐标应该是较小的差异.
我怎么能用这个事实?通过(lat_0 - lat_n)^ 2 +(lon0-lon_n)^ 2订购保存点是否足够,其中lat_0和lon_0是给定点的地理坐标?
谢谢,
穆尔
UPD
因此,获得我的问题答案的最佳方法是测试我上面描述的方法.
它工作得很好,但与精确距离相比并不完全正确.
因此,如果您只需要计算距离,这个解决方案就可以,但在我的情况下,我还需要按距离订购工作站,并且无法使用此解决方案.
我要感谢John在CashCommons和Philip.感谢你们
如果您的点在一个城市内(或多或少)是分开的,那么该近似值就可以很好地工作。不过,如果你环游世界,这个近似值就会崩溃。
编辑: 根据下面菲利普的评论,您应该缩放其中一个组件。德国位于北纬约 50 度,因此将经度乘以 (cos 50 度) 效果会更好。
| 归档时间: |
|
| 查看次数: |
1874 次 |
| 最近记录: |