我正在設計一個應用程序,將跟蹤所有用戶的緯度/經度。對於每個用戶,它將計算城市中所有其他用戶之間的距離。我將使用python。如何計算並存儲實時網絡應用的緯度/經度數據?
例如: 我的客戶端將每x秒更新一次數據庫的long/lat數據庫。每次更新時,都必須重新計算其與所有其他登錄用戶之間的距離。
我的計劃是將城市拆分成自己的表格,以便保持數據集和計算的更小。但是我越想到這個想法越來越糟。如果有任何重要的流量,我認爲它根本不會擴展。如果用戶想要使用會限制用戶羣的應用程序,那麼人們將不得不被限制在主要的大都市區。
所以我的問題是:
是否有優化做這些計算的存儲後端?今天早上我剛剛聽說過PostGIS,但是從我看過的內容看來,它可能是矯枉過正的?我打算做的是計算經緯度之間的距離。 謝謝
取決於你打算用數據做什麼...但它聽起來像是你可能最終計算值很多那會從未在任何地方使用? 也許最好只根據需要計算(並緩存)距離。即當用戶查看他們的「朋友屏幕」或其他。 – trapper 2012-02-28 16:34:00
有一個計算兩個座標之間的距離的公式,所以只保存用戶座標就可以解決你的問題。我同意捕捉器只在需要時計算距離。 – 2012-02-28 16:36:02
@trapper,是的,我認爲我的計算過於雄心勃勃,只有當有人要求看到身邊的人時才計算它們,這樣做更有意義。 – dm03514 2012-02-28 16:47:51