2014-07-18 58 views
2

我正在一個網站,用戶可以在谷歌地圖上創建路線,我一直在尋找最佳的方式來存儲路徑(那裏的根的座標)從谷歌地圖。我找到了幾個不同的選項,我不確定哪個是最好的。什麼是最好的方式來存儲谷歌地圖路徑(陣列的經度和緯度)

我應該

它們儲存在JSON文件然後就存儲在SQL列JSON文件的路徑?唯一的問題是,我不能根據json文件中的座標查詢。

將每一個緯度和經度點存儲在一個單獨的行中?我看到的唯一問題就是谷歌地圖上的一條路徑可能會有超過1000個不同的點,這會佔用數據庫中的大量空間。

還有其他想法嗎?

回答

3

商店單獨在這樣

coordinates table 
----------------- 
track_id 
lng 
lat 
sequence_number --> you should also store a sequence to know the order in which you want to connect the coordinates 

和包含曲目信息

tracks table 
------------ 
id 
name 
other_stuff 

然後,如果您想獲得一個叫My Bicycle Tour軌道的所有點其它表的表,然後運行

select c.lng, c.lat, c.sequence 
from coordinates c 
join tracks t on t.id = c.track_id 
where t.name = 'My Bicycle Tour' 
order by c.sequence 

記住一個數據庫可以容易地容納數百萬甚至數十億的記錄和適當的索引,這也是非常快的查詢。

+0

那是我唯一擔心的問題,數據庫在什麼時候變滿「 –

+1

數據庫沒有滿。只有當你沒有剩下更多的高清空間。 –

+0

我的意思是有一個點,查詢將開始顯着減慢,我應該開始在一個新的數據庫中存儲數據? –

相關問題