【发布时间】:2016-06-06 18:32:11
【问题描述】:
我有一个位置列表,遵循以下模式:
[1] = {lat = -40.2452, longitude = -76.2489},
[2] = {lat = -40.2452, longitude = -76.2489},
[3] = {lat = -40.2452, longitude = -76.2489},
[4] = {lat = -40.2452, longitude = -76.2489}
还有一个地方
location = {lat = -40.2452, longitude = -76.2489}
并且我想计算这距离内的位置。
我找到了一个计算两点之间距离的公式。
但如果这个列表很大!
有没有更快的方法?
或者你可以循环遍历列表?
FOR LOCATION IN LISTLOCATION DO
IF GETDISTANCE(LOCATION, LOCATION2) <= DISTANCE
SAVE THIS LOCATION
END
END
这些值是一个例子
【问题讨论】:
-
如果您担心性能,并且您使用的是 Android,为什么不将您的数据放入 SQLite 数据库并进行查询。更多答案:stackoverflow.com/questions/3126830/…
-
我知道是为了举例,但你所有的位置都是一样的。
-
您的示例数组具有所有相同的项目。如果很有可能会有很多重复项,那么在调用
GETDISTANCE(LOCATION, LOCATION2)之前删除它们会提高性能。 -
我向作为下一个客户端的服务器请求并发送我的位置,服务器进行此计算并返回一个列表
-
这些值是一个例子
标签: java android ios performance location