![]() | |
#1
| |||
| |||
|
#2
| |||
| |||
|
|
I need to implement some query operations on high-dimensional spatial data (# dims is at least 10, and the number of objects is more than 100,000). |
#3
| |||
| |||
|
|
I need to implement some query operations on high-dimensional spatial data (# dims is at least 10, and the number of objects is more than 100,000). I am not familiar with spatial data or XTree, but why couldn't this be implemented in a regular db with 100,000 records each having 10 attributes? Could you describe some sample data? |
#4
| |||
| |||
|
|
Each dimension in object is numeric value. We hope to fastly perform NN (Nearest neighbor) query operation for this data. NN query is described as * NN Query: For n dimensional point, find top n nearest neighbor objects. |
#5
| |||
| |||
|
|
Each dimension in object is numeric value. We hope to fastly perform NN (Nearest neighbor) query operation for this data. NN query is described as * NN Query: For n dimensional point, find top n nearest neighbor objects. Most likey, a regular db can model/query your data but the performance may be unacceptable for your application. I still didn't understand your application clearly. Is the following correct: There are approx 100,000 objects in space. You want to quickly determine the N closest objects to a specified object. Why not store raw data as follows: Table1 Object x y z --------- ------------- Obj1 3 4 9 Obj2 6 2 8 Obj3 2 4 7 Then create the following calculated data, sorted by columns ObjA and Distance. Table2 ObjA ObjB Distance Direction ____ ____ _______ ________ Obj1 Obj2 7 m Obj1 Obj3 8 n Obj2 Obj1 3 p Obj2 Obj3 4 q Obj3 Obj1 66 r Obj3 Obj2 77 s Then finding the N closest objects to any object should be relatively fast/easy. Would this work in your case? |
#6
| |||
| |||
|
|
Then finding the N closest objects to any object should be relatively fast/easy. Would this work in your case? ... deal with +100,000 objects. Then, the number of all possible pairs is 100,000^2 !. Thus, the pre-construction is impossible due to very large complexity (store and time). |
|
... Note that in one dimensional case, indexing using B-tree or B+tree can be feasible data structure for this problem. Even in two dimensional cases, such normal data structure can not be worked. |
#7
| |||
| |||
|
|
Would a fuzzy method like the following work to find N closest objects in space. Roughly, the method is to consider objects within a cube space around an object. Increase/decrease cube space until it contains slightly more than N objects. Then do final calculations to get N closest objects. Suppose we have three object lists. First is sorted by X (shown below), second sorted by Y, third sorted by Z. New objects to be inserted in appropriate location within each list. Obj X ___ ___ obj1 3 obj2 5 obj3 100 obj4 178 obj5 245 To find N objects close to obj3. First pick a delta. Lets assume 10. In first table, find objects whose X is within 90 and 110. In second table, find objects within 10 units of obj3's Y. In third, table find objects within 10 units of obj3's Z. Increase/decrease delta to get slightly over N objects. Perform final calculation to determine the N closest to obj3. |
#8
| |||
| |||
|
![]() |
| Thread Tools | |
| Display Modes | |
| |