2013-05-03 35 views
0

我有大量数据按纬度/经度索引到5位小数。我试图在地图上显示这些数据,但只想在当前视图中显示lats/lons,这只占整个数据库的10%左右。我目前有数据库存储在一个数组,即db [0],db [1],db [2],db [3] ..... db [3000]。数组中的每个项目都是带有变量的{name:value,name2:value2等}符号化程序。每次我处理数据时,我都必须解析整个数组,然后过滤经纬度,然后对数据执行操作。对我来说,这似乎是非常客户端处理器密集型,我想知道是否有更有效的方式将数据存储到数组中并访问它,也许:db [lat] [tenth] [hundredths] [thousandthths] [etc]。然后当我引用它时,就像这样调用它:db [29] [1] [2]。这听起来不错,但我不知道该怎么做。任何人都知道吗?谢谢!访问大量经/纬度数据的最快方法

+0

一些数据库具有地理特征,所以您可以有效地搜索纬度/经度列。在给定的范围内搜索可以使SQL查询更快一点?你没有抱怨,因为你没有规范化的数据 - 你为什么在DB行中有数组? – 2013-05-03 00:21:34

+0

您是否有实际的DBS,或者如果您说“数据库”,是否指“数据阵列”?是的,某种2D距离树肯定会有所帮助。 – Bergi 2013-05-03 00:25:36

+0

那么数据存储在服务器上使用MySql,但数据上的操作是客户端。我使用AJAX和JSON将数据提交给客户端,然后将JSON字符串解析为一个充满符号的数组。我希望当我解析JSON字符串时,我可以以不同的方式将它放入数组中,以便我可以更快地访问lat/lon块中的数据。谢谢! – wayofthefuture 2013-05-03 00:40:55

回答

0

您是否考虑将数据存储在本地支持地理空间数据和查询的数据存储中? MongoDB将是一个这样的选项,并以JSON格式存储数据。

如果你想在客户端完全做到这一点,那么你可能会发现实现like what's described here这个东西很有用,尽管它可能不会更快。