您好,登錄后才能下訂單哦!
好的,現在有這么一個需求。你所開發的應用的數據庫中有全市所有飯店的經緯度坐標,現在你在某地定位了一個坐標,應用如何給你找出最近的飯店。多維空間搜索,使用RTree。這里只推薦已有的實現了RTree的jar包。
maven項目,可下載jar包,并且這是一個簡單的例子:https://github.com/aled/jsi-examples
在線API:http://jsi.sourceforge.net/apidocs/index.html
下面附上自己很low的測試代碼:
net.sf.jsi.examples; gnu.trove.procedure.TIntProcedure; net.sf.jsi.Point; net.sf.jsi.Rectangle; net.sf.jsi.SpatialIndex; net.sf.jsi.rtree.RTree; TestRTree { run() { Point point = Point(, ); Rectangle[] rectangle = Rectangle[]; rectangle[] = Rectangle(, , , ); rectangle[] = Rectangle(, , , ); rectangle[] = Rectangle(-, -, -, -); rectangle[] = Rectangle(-, -, -, -); SpatialIndex si = RTree(); si.init(); (i = ; i < rectangle.; i++) { si.add(rectangle[i], i); } si.nearestN(point, TIntProcedure() { execute(i) { System..println(+ i + + [i] + + [i].distance()); ; } }, , Float.); } main(String[] args) { TestRTree().run(); } }
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。