2013-05-03 71 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這個東西很有用,儘管它可能不會更快。