110 likes | 233 Views
Manu Shukla 6/14/09. MF Tree Comparisons. MF Tree Algorithm. Boundary points of each map feature forms a curve that divides universe into 2 partitions The tree’s first level is a hash where the hash node for a map feature points to the
E N D
Manu Shukla 6/14/09 MF Tree Comparisons
MF Tree Algorithm • Boundary points of each map feature forms a curve that divides universe into 2 partitions • The tree’s first level is a hash where the hash node for a map feature points to the • set of cells in the spatial index on both sides of a partition and on the partition line • linear least square fitting curve • Overlaps, containment etc. are not an issue as the hash entries are independent • As we process a query • Refine the cells with the MF hash if a map feature present in query • test for distance etc. using the curve for the map feature • Query the spatial index to get a set of locations that match cells from MF tree and combine with other locations from query • Get documents from text and spatial index
MF Tree Example • For the map features mf1, mf2,mf3, mf4, using their coordinates, build curves c1,c2, c3, c4 • Mf1 can be a lake, mf2 shoreline, mf3 a housing development and mf4 a highway • Build a hash where • Mf1 points to c1 and a set of cells c1s1 within mf1, c1s2 on the curve and c1s3 outside • Mf2 entry points to the cells in the two regions it partitions the universe to and set of cell on the boundary • Same for mf3 and mf4 • Using the sets of cells in both partitions and boundary and the curve we can filter cells based on query terms like within 5 miles of mf2 • Can access 1 or 2 sets of cells mf1 mf2 mf3 mf4
Experiments • Built a hash (in java) with up to 1 million mf-tree elements based on a synthetic dataset • Each hash element had four fields, the cells in partitions, the curve and cells on the curve for each map feature • To index the elements time taken:
Experiments • To query for elements in the hash: • The resident size of the process went to 307MB
Issues • Computational and storage expense • Paging issues with storing pointers to cells in hash in querying • How to keep the resident process size within limits
QH-Index • Similar index used by Dong Li, Yu-hui Peng and Jiang-long Yin from South China University of Technology in Quadtree and Hash Table Based Index Structure for Indexing the past, Present and future Positions of Moving Objects, CSA 2008 • Authors use a modified quad-tree by adding time and speed variables and using that in their QH index
QH Index • Entry[n] is an array for storing moving objects, with each moving object's structure being (OID,X,V,t) • R defines region and consists of (xlt,ylt,xbr,ybr)
QH-Index • HashTable has one way linked list to preserve the historical trajectories of moving objects • LeafNodeLink points to the lef nodes of the improved QuadTree which stores moving objects • LinkedList points to the head node of the Linked List
Conclusions • We can extend MF hash to include the trajectories of objects within the map feature • Can be used to track storms, military objects, mobile users on highway etc. • Big issue is to scale to millions of mobile users