給定一個id,'points'和座標表,希望創建一個視圖(我認爲它需要是一個視圖),這樣我可以獲得所有'pointids之間的距離列表「對於給定的(外鍵)兩個IDsql select加入視圖
輸入表
pointid (key), foreign_key, x, y
01, id_x, 6, 2,
71, id_x, 6, 1,
02, id_y, 5, 9,
34, id_z, 3, 8
42, id_z, 2, 3,
所需的視圖,獲得屬於id_x和所有點id_y之間的距離:
pointid_1, pointid_2, distance
01, 02, 12 (or whatever distance is between 6,2 and 5,9)
71, 02, 12 (or whatever distance is between 6,1 and 5,9)
另一個查詢就可以, a之間的距離屬於id_x LL點和id_z:
01, 34, 33 (distance between 6,2 and 3,8)
01, 42, nn
71, 34, nn
71, 42, nn
等
我能做的距離計算的sqrt(....),但不知道該怎麼辦的加入,結合起來,與距離的計算,或者這種觀點的合適查詢將產生上述結果。
這將使用sqlite3的用裝有數學LIB擴展的距離計算
你如何訂購沿途的積分?一旦你知道如何在你的點和點上分離一個'路線',並創建一個視圖,爲每個點提供'下一個'點。對於最後一點,下一點將是最後一點本身(零距離)。然後計算和求和距離將會很簡單。 – 9000 2011-03-29 11:42:18
不確定我關注。目的不是找到沿着點的'路線',只是爲了得到每個點之間的距離,對於兩個ID。 ultimatley查詢將按距離排序,但不嘗試並確定沿點的路線。即時通訊考慮它的cartesion產品,但不是100%確定究竟是什麼。 – hanlonj 2011-03-29 11:48:56
如果您只需要每對點之間的距離,而不是沿着路線的距離(按照我的想法),那麼您只需加入表格即可。 – 9000 2011-03-29 11:53:33