介紹:用于存儲坐標信息及快速檢索指定區域的坐標點。比如用于網絡游戲中檢索附近玩家和NPC。檢索速度與庫內數據量關系不大,主要與需求數量和距離有關,在1億數據中檢索100個坐標用時不超過1毫秒。
* 支持2^32個獨立的坐標庫,用庫id區分。**庫id大于等于零為臨時數據,進程退出后數據丟失**,庫id小于零為持久數據。
* 項id為32位正整數(0 ~ 4294967296)。
* x,y 為 32位整數(-2147483648 ~ 2147483647)。
### zx.坐標設置(庫id,項id,x,y,[時間]);
設置或添加坐標數據,并刷新坐標時間,如果不帶時間參數則使用當前系統時間,時間精度為+-10毫秒。
返回值 = [錯誤碼];
### zx.坐標刪除(庫id,[項id]);
刪除庫中的某項,如果不帶項id參數則刪除整個庫。
返回值 = [錯誤碼];//如果id項不存在或空坐標庫,返回錯誤碼為 1
### zx.坐標讀取(庫id,項id,[true]);
如果id項不存在,錯誤碼為1,如果不帶true參數,返回結果不包括時間.
返回值 = [錯誤碼,x,y,[時間]];//
### zx.坐標設取(庫id,項id,x,y,[時間]);
設置或添加坐標數據,并返回原數據。如果原數據不存在不會設置錯誤碼,可以通過時間是否為零判斷。
返回值 = [錯誤碼,原x,原y,原時間];如果原數據不存在不會設置錯誤碼,返回值為[0,0,0,0]。
### zx.坐標項列取(庫id,起始項id,數量);
返回值 = [錯誤碼,[[id,x,y],[id,x,y],...]];//返回值包括起始項id
數量不大于10000,需要反方向列取可以設置為負數;
### zx.坐標區域(庫id,x,y,rx,ry,數量);
檢索x,y周圍的存在的id項,rx,ry 是單向的檢索距離,所以總檢測面積是 2rx * 2ry。
檢索結果按與[x,y]的直線距離由小到大排序,數量不大于10000;
返回值 = [錯誤碼,[[id,x,y,距離,時間],[id,x,y,距離,時間],...]];
### zx.坐標距離(x,y,x2,y2);
計算兩點之間的距離。
返回值 = [錯誤碼,距離];