Sunday, November 08, 2009

顯示車子在不在高速公路上

之前所做的東西 後補 如果有空的話 ^.^

老師要求要能在地圖上以不同顏色標示車子是否在高速公路上.

目前, 前端的顯示是直接讀取資料庫的表格, 要能夠顯示, 則需要在表格上直接有註記.

所以在輸入車子的位置時就需要立刻對其位置進行運算, 以判別該車的位置是否位於高速公路上.
方式有三種:

1. 在車機上植入高速公路的資料, 然後直接進行判斷, 然後對回傳的位置註明是否在高速公路上. 但是目前的車機沒有高速公路的資料, 而且需要大量改寫程式. =.=|||
2. 送回資料庫判斷, 每次都要問, 會增加車機與主機的通訊次數, 還要克服通訊失敗的問題.
3. 由資料庫自行判斷.

在不影響車機的效能, 不需要每次都向Server問自己是否已在高速公路上, 所以打算以table trigger方式, 直接於資料庫上進行判別. 這樣一來, 車機的程式不需要更動, 但是會增加資料庫的負載. 目前當然沒什麼工作量, 但是要考慮如何可以讓對資料庫的效能影響最小.

想法:
1. 建立一個On_Highway(point SDO_GEOMETRY) 的 function return "TRUE" or NULL
2. Create an Insert/Update trigger , call On_Highway function and update table Flag(column)

No comments: