CN102289466A - K-nearest neighbor searching method based on regional coverage - Google Patents

K-nearest neighbor searching method based on regional coverage Download PDF

Info

Publication number
CN102289466A
CN102289466A CN2011102063919A CN201110206391A CN102289466A CN 102289466 A CN102289466 A CN 102289466A CN 2011102063919 A CN2011102063919 A CN 2011102063919A CN 201110206391 A CN201110206391 A CN 201110206391A CN 102289466 A CN102289466 A CN 102289466A
Authority
CN
China
Prior art keywords
grid
point
chained list
voronoi
node
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2011102063919A
Other languages
Chinese (zh)
Other versions
CN102289466B (en
Inventor
王波涛
乔百友
屈敬伟
王小松
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Northeastern University China
Original Assignee
Northeastern University China
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Northeastern University China filed Critical Northeastern University China
Priority to CN2011102063919A priority Critical patent/CN102289466B/en
Publication of CN102289466A publication Critical patent/CN102289466A/en
Application granted granted Critical
Publication of CN102289466B publication Critical patent/CN102289466B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

The invention provides a k-nearest neighbor searching method based on regional coverage, belonging to the technical field of mobile data indexes. The k-nearest neighbor searching method comprises the steps of: gridding a space, storing data points in corresponding grids, storing grids which are taken as the leaf nodes of a quadtree, meanwhile, storing the grids, which are taken as mobile objects, into a Voronoi image; and during searching, firstly finding out a grid in which an object is located according to coordinates of the object, further finding out the position of the grid in the Voronoi image, structuring the object in the grid according to an ascending order of distances to form a result linked list, meanwhile, putting adjacent grids into an access linked list based on the ascending order of the distances according to the Voronoi image, comparing the distances, and finally finding out K nearest neighbors of the object. In the k-nearest neighbor searching method, an index structure with the Voronoi image and a virtual grid quadtree is comprehensively utilized, and a Hash table is utilized for rapid searching and positioning, so that the searching efficiency is increased.

Description

A kind of k neighbour querying method that covers based on the zone
Technical field
The invention belongs to mobile data index technology field, particularly a kind of k neighbour querying method that covers based on the zone.
Background technology
Progress along with science and technology, particularly wireless communication technology, GPS (Global Positioning System, GPS) technology and development of database, mobile object database technology becomes the research focus of database field gradually, and wherein the k nearest neighbor querying method of mobile object data is a key areas in the research.So-called k nearest neighbor (KNN, K Nearest Neighbor) inquiry is meant to be sought in the space apart from K before the set point nearest object, wherein K can for one also can be for a plurality of.But most of research work in past all is at the k nearest neighbor inquiry that is under the static environment, and the property value of impact point remains unchanged or seldom needs and upgrades under this environment, and the research of this respect is comparative maturity; For in dynamic environment, query object and all be k nearest neighbor inquiry problem under the situation about moving by query aim, the research of this respect all also is in the immature stage both at home and abroad at present.
The k nearest neighbor inquiry of mobile object is used very extensive, concrete application is mainly reflected in following four aspects, it at first is the application in communication navigation and traffic scheduling, can and send request such as people by the own nearest taxi information of whois lookup distance in when trip, the time of waiting for bus with minimizing.Secondly the application on aspect the digitizing military commanding, and by the nearest comrade-in-arms of whois lookup distance oneself, is fought by the position of wireless localization apparatus to server real-time report oneself jointly such as a soldier.In the managerial application of crowd, when for example travelling a travel party, the guide sends a continuous range query visitor around it is continued monitoring, thereby avoids scattering of visitor once more.The application on aspect the mobile e-business at last, for example a market can be by the situation of mobile object in the kilometer range around the server real-time monitoring market, send the various information on services in this market, preferential action message to them, to attract some potential customers.
In recent years, in the spatial database research field, k nearest neighbor (KNN) search algorithm is a research emphasis and focus.Arest neighbors search algorithm based on Euclidean distance is to equal the nineteen ninety-five proposition by Roussopoulos the earliest.The R tree ergodic algorithm that the author uses branch to define, propose two distance metrics (being mindist and minmaxdist) and three heuristic rules and filtered the node that does not comprise nearest-neighbors, thereby reduce node visit number, reduce magnetic disc i/o, and then improve query performance effectively.
Subsequently, people such as Kom have developed an arest neighbors search algorithm that multistep is rapid, and this algorithm obtains final query result by scan data set repeatedly.People such as Berchtold have inquired into the arest neighbors search algorithm based on Voronoi cells.Seidl and Kriegel have proposed a kind of rapid k arest neighbors of multistep inquiry processing method of the best, and are better than the previous arest neighbors search algorithm that oneself has greatly with a large amount of algorithm performances that they propose that experimental results show that.Cheung etc. further improve this algorithm, under the situation that guarantees beta pruning efficient, have removed two kinds and can not strengthen the beta pruning rule that the beta pruning effect has high computation complexity again, have reduced the CPU calculation cost.Hjaltson etc. have proposed a kind of arest neighbors search algorithm based on BF and have minimized the I/O cost, used the method for PMR-tree quaternary tree index structure in conjunction with Priority Queues, this method does not need to travel through all objects when making inquiry, by utilizing the beta pruning strategy to improve search efficiency, and according to the characteristic of Priority Queues, k nearest neighbor efficient is higher for searching.
Kolahdouzan etc. have proposed a kind of VN3 method that solves KNN inquiry in the spatial network database.This method estimates to calculate network Voronoi polygon (NVPs) and some network distances of impact point.Yet under the situation that the NNs number increases and the impact point number increases that needs are searched, the precomputation of NVPs needs huge calculating cost among the VN3.Therefore, be under the highdensity situation at impact point, the efficient of VN3 will greatly be degenerated.
Bx-Tree is a kind of B for transfer point that Christian S.Jensen etc. proposed in 2004 +-tree index structure.This index structure uses B +-tree is as basic index structure, and B +-tree is the one dimension index, and the index structure that the zone covers require be minimum be two position index structures.Therefore Bx-Tree at first carries out grid dividing to the space, uses the Hilbert curve that grid is encoded then, and two-dimensional grid just can use B like this +-Tree carries out index to it.During Bx-Tree index mobile object, not the position of index object, and be to use a linear function to replace moving of object, in a period of time, guarantee minimum renewal once.B +-Tree safeguards three stalks tree simultaneously, to guarantee result's accuracy.
People such as Su Chen and Beng Chin Ooi have improved Bx-Tree tree index structure in 2008, proposed ST 2The B structure.ST 2The B tree is a kind of from adjustable mobile object B +The tree index structure, at first in time, ST 2The B tree is with bottom B +Tree is divided into two stalks tree BT 0And BT 1, each moves object and carries out index according to the corresponding subtree of upgrading of selection of time, and wherein two stalks tree carries out mobile Object Management group along with time-interleaved; Secondly spatially, according to the distribution of mobile object in the zone, choose one with reference to point set according to the difference of density, and piecemeal is carried out in the zone according to reference point Voronoi piece, choose different grid granularity division at different piecemeals then mobile object is carried out index, for based on ST 2The arest neighbors querying method of B tree, what take is continuous expanded scope inquiry radius, and the mobile object number in query region satisfies till the condition of arest neighbors inquiry, and the shortcoming of method is to adopt constantly to call the range query algorithm, and time cost is bigger.
Summary of the invention
For overcoming the deficiency of said method, the present invention proposes a kind of k neighbour querying method that covers based on the zone.It has fully utilized Voronoi figure and two kinds of index structures of virtual grid four fens trees VGQ, utilize Hash table to have the characteristics of quick Search and Orientation simultaneously, the data message that some are important leaves in the Hash table, with Search and Orientation easily and fast, thereby has improved the efficient of inquiry.
VGQ (Virtual Grid Quadtree) is virtual grid four a minutes tree, and it is the advantage in conjunction with the higher three kinds of index technologies of Hash structure of four fens trees of grid file, compression and search efficiency, a kind of mobile object indexing structure that covers based on the zone of formation.At first use grid that subdivision is carried out in the space, form a lot of little zones, mobile object just is distributed in these zonules.Processing to these grids is the index structure that adopts four fens trees of compression, compress four minutes tree (Compressed Quadtree) be improvement on the basis of basic four minutes of tradition tree, its main thought is when setting up index, set spatial index node deletion redundant in the index with four minutes and fall, to improve the utilization factor of internal memory.Then further improve search efficiency with Hash table.Voronoi figure is divided into many unit areas to area of space according to each position of element in the object set, i.e. the Voronoi zone.A Voronoi zone is one to one with its formation object, and non-overlapping copies between the different Voronoi zones, and this has just constituted a division in space.The advantage of Voronoi figure is can be the distribution of a space according to object in the space, and object is coupled to the shape structure of throwing the net, and makes that the traversal between object and the object becomes very convenient.
The Vor-VGQ structure is the index structure of Voronoi figure and VGQ combination.At first grid dividing is carried out in the space, data point is kept in the corresponding grid, then the leafy node of grid as four fens trees is stored, and simultaneously grid is kept among the Voronoi figure as a mobile object.When inquiring about, at first find the grid at its place according to the coordinate of object, further find the position of this grid in Voronoi figure, object in this grid is organized into chained list as a result according to the ascending order of distance, according to Voronoi figure adjacent grid is put into the visit chained list by the ascending order of distance simultaneously, carry out the comparison of distance then, finally find K arest neighbors of this object.
The k neighbour querying method that covers based on the zone may further comprise the steps:
Step 1: typing personnel positions information, method is: each object is the current coordinate of report oneself upwards, determines search space;
Step 2: search space is divided into grid;
At first whole search space is divided into M * N Virtual space grid cell, wherein, M represents sidewards the space to be divided into M part, and N represents endways the space to be divided into N part, as shown in Figure 1;
For a p (computing formula is as follows for x, y) the grid id at place:
px=(int)x/hX
py=(int)y/hY
id=px+py×divX+1
In the formula, x and y represent horizontal ordinate and the ordinate of a p, and hX and hY represent the horizontal width and the vertical height of grid cell respectively, and divX represents grid file division number in the horizontal direction;
Step 3: mobile object is carried out index;
Is each space lattice cell abstract that a point in the space carries out index, to to the management transitions of dynamic mobile object the management of grid cell, promptly only index is carried out in the zone that has mobile object, index is not carried out in the zone that does not have mobile object, set up the index concrete grammar and be:
For each the space lattice unit after dividing,, then this space lattice unit is inserted in four fens trees of compression if there is mobile object in the grid inner region; If the not mobile object in its inside, this grid necessary being not then, the structure of wherein compressing four fens trees is shown in Fig. 2 (b); Meanwhile, set up Voronoi figure with the central point of each grid, as Fig. 3 (a) with (b), the increment building method is mainly adopted in the foundation of Voronoi figure, thereby has satisfied the demand that index structure needs of the present invention use the variation of four fens trees of Voronoi figure dynamic memory; The foundation of index as shown in Figure 4;
Index is set up process and is related to following three kinds of operations:
(1) inserts operation; When mobile object newly occurs, mobile object abstract be a point, by the mesh mapping formula, draw its place grid id, obtain the actual grid address by hash table then, find grid,
If this grid is Already in the index, the some chained list back of then new point being inserted this grid correspondence, the number of point adds 1 in the grid;
If in the hash table, do not find this grid, i.e. still not mobile object in this grid, apply for that then an allocation of space is to mesh object, mesh object registration in the hash table, the head pointer that while is made a some chained list to this point is linked this grid, the number of point adds 1 in the grid, this grid inserts corresponding position as the leaf node of four fens trees, the central point of leaf node is as the representative of leaf node, in Voronoi figure object, call increment function, the representative point of leaf is inserted in the graph structure;
(2) deletion action; When an object disappears from search space, this object of deletion from Vor-VGQ,
If representing the point of mobile object is unique point in the grid, delete this point after, do not have object in the grid, then delete mesh object, deletion leaf node object is deleted the point of correspondence among the Voronoi figure simultaneously;
If by the point of the mobile object of representative is not the interior unique point of grid, need behind grid, delete corresponding object in the millet cake chained list, then the number of putting in the grid is deducted 1 and get final product;
(3) move operation:
When in the grid of the some P of mobile object representative at own place when mobile, only need find this to move object in the some chained list in this grid, this positional information that moves object is revised getting final product simultaneously;
When the P point is mobile between grid, divide following four kinds of situations:
First kind of situation: when a P shifts out this grid, still have a few in this grid, and the new grid that the P point moves to is original in existence, then delete this point on the some chained list in old dot grid, counting in the old grid subtracts 1, inserts this point in the some chained list in new grid, and counting in the new grid adds 1;
Second kind of situation: the old grid of transfer point has only a point, when point shifts out this grid, grid lost efficacy, originally do not exist with stylish grid, need set up new grid during immigration: at first handle old grid, to put in old net point chained list and delete, delete old grid then, delete four fens leaf nodes, the corresponding node of deletion in Voronoi figure needs space of first to file to give new grid for new grid again, insertion point chained list then, put number and be set to 1, insert this leafy node in four fens trees then, in Voronoi figure, add corresponding node at last;
The third situation: the old grid of transfer point P has only a point, when point shifts out this grid, then grid lost efficacy, and new grid exists originally: will put and delete in old net point chained list, delete old grid then, delete four fens leaf nodes, the more corresponding node of deletion in Voronoi figure, insert this point in the some chained list in new grid, counting in the new grid adds 1;
The 4th kind of situation: the more than point of the old grid of transfer point, originally do not exist with stylish grid, need set up new grid during immigration: this point of deletion on the some chained list in old dot grid, counting in the old grid subtracts 1, need space of first to file to give new grid for new grid, the insertion point chained list is put number and is set to 1 then, insert this leafy node in four fens trees then, in Voronoi figure, add corresponding node at last.
Step 4: set the index structure that combines with Voronoi figure in four minutes according to the virtual grid that covers based on the zone, carry out the k nearest neighbor inquiry, specifically carry out as follows:
Mobile object is initiated k neighbour inquiry, and object is considered as a P,
Step 4.1: by the grid id of formula calculation level P, the address by hash shows to obtain this leafy node then can obtain corresponding address among the Voronoi figure;
Step 4.2: the data in the leafy node according to putting into chained list resultList as a result to a size of P distance, are write down resultList chained list length;
Step 4.3: leaf node adjacent node in Voronoi figure of current accessed is visited among the chained list visitList according to inserting to the order near far away of query point distance;
Step 4.4: if resultList length less than K, according to the sequential access next node in the visit chained list, is put into the resultList chained list with the point in the leafy node; Repeating step 4.3;
Step 4.5: if resultList length equals K; Be pDis from query point distance farthest in the record this moment resultList chained list;
Step 4.6: if the next node of the order of visit in the chained list apart from the distance of query point smaller or equal to pDis, then visit next node;
Step 4.7: the point in the grid of scanning access node correspondence, it is compared with the resultList mid point, replace, keep the nearest K of its middle distance query point in resultList;
Step 4.8: leaf node adjacent node in Voronoi figure of current accessed is visited in the chained list according to inserting to the order near far away of query point distance; Repeating step 4.5;
Step 4.9: finish.
K refers to the neighbour's number that will inquire about in this algorithm, id is meant the numbering of grid, and hash is meant Hash table, and what resultList deposited is the intermediate result that satisfies condition, what visitList deposited is the adjacent node that will visit, and pDis refers in the resultList chained list from query point distance farthest.
Beneficial effect: set and the Voronoi graph structure in four minutes in conjunction with grid file, compression, finish the k neighbour inquiry that covers based on the zone.Obtain the processing speed of similar grid by grid file in conjunction with four fens trees of compression index structure, can save the primary memory space, significantly sacrificing search index performance has neither improved the utilization factor of internal memory again.And Voronoi figure neighbor relationships is more clear, inquires about more convenient.This method is compared search efficiency and is significantly improved and provides maximum quick and accurate result for each inquirer with existing method simultaneously.
Description of drawings
Fig. 1 the present invention is based on the k neighbour querying method space lattice division synoptic diagram that the zone covers;
Common four minutes trees of the k neighbour querying method synoptic diagram that Fig. 2 (a) covers for the present invention is based on the zone;
Four fens trees of k neighbour querying method compression synoptic diagram that Fig. 2 (b) covers for the present invention is based on the zone;
The k neighbour querying method network area covering synoptic diagram that Fig. 3 (a) covers for the present invention is based on the zone;
Fig. 3 (b) is for the present invention is based on the regional k neighbour querying method that covers and the Voronoi graphic structure synoptic diagram of Fig. 3 (a) corresponding virtual grid;
Fig. 4 is that the k neighbour querying method index structure that the present invention is based on the zone covering is set up the process synoptic diagram;
Fig. 5 the present invention is based on 20 soldier planimetric positions of k neighbour querying method synoptic diagram that the zone covers;
Fig. 6 the present invention is based on the k neighbour querying method space lattice division synoptic diagram that the zone covers;
Fig. 7 is the Voronoi figure that the present invention is based on the k neighbour querying method correspondence of zone covering;
Fig. 8 the present invention is based on the k neighbour querying method process flow diagram that the zone covers.
Embodiment
Below in conjunction with drawings and Examples the present invention is described in further detail.
The hardware environment that present embodiment adopts is: one of IBM server, CPU Xeon EM64T Quad core E5405 (2.0GHz 12MB L21333MHz 80w, internal memory 16G Bytes DDR RAM,
Software environment: operating system: CentOS 5.2; Developing instrument: GNU Toolkits (GCC, G++, GDB), Make, Vim, SVN etc.; Development language: standard C ++ language;
At be the situation that has a large amount of soldiers to enter a war on the battlefield, present embodiment is an example with 20 soldiers only, the k neighbour querying method based on the zone covers may further comprise the steps:
Step 1: each soldier is the current coordinate of report oneself upwards, determines the space, battlefield: require the soldier to have the orientation and communication device, upload position and the query requests of oneself, soldier's distribution as shown in Figure 5, the position coordinates that the soldier reports is as shown in table 1:
Table 1 soldier position coordinates
Figure BDA0000077479770000061
Figure BDA0000077479770000071
Step 2: is the battlefield spatial division grid, as shown in Figure 6.
The battlefield spatial division become 16 grids of 4 * 4, utilize formula id=px+py * divX+1 to calculate the id of each grid, as shown in Figure 6, hX=4000, hY=1000, thereby the grid id that calculates from left to right, is 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16 from the bottom up successively;
Step 3: the soldier is carried out index:
Deposit each soldier's data in index, as shown in Figure 6, in the present embodiment, a root node is arranged, the child node of four ground floors, the 3rd layer is leafy node, in the actual grid 1,3,4,10 and 16, these five grids do not have a little, do not carry out index, therefore have only 11 actual grid, be 11 leaves, 20 soldiers' information just is stored in the leafy node the inside, and these 11 leaves are set up Voronoi figure, as shown in Figure 7, thus whole index structure is set up;
Step 4:Vor-VGQ Knn (Point P) algorithm carries out KNN neighbour inquiry, and method is:
With the arest neighbors of searching No. 5 soldiers is example, at first obtain grid id according to its coordinate, present embodiment id is 7, obtain the address of grid by four fens trees of the compression of previous foundation and Voronoi index of the picture structure, and then obtain its corresponding address in Voronoi figure, the distance of i.e. No. 4 and No. 8 to No. 5 of the data of this leaf node is inserted in the resultList chained list by ascending order.This moment, chained list length was 2, greater than 1, then write down No. 5 points to No. 4, joint of the chain tail must apart from and deposit among the pDis.Calculate No. 5 soldiers to the distance of peripheral leaf node and with pDis relatively, less than checking its inner point, greater than then directly skipping, up to around not to No. 5 distance point less than pDis; The process flow diagram of Vor-VGQKnn (Point P) algorithm as shown in Figure 8.
Step 5: obtaining net result, obviously is the arest neighbors that No. 8 soldiers are No. 5 soldiers.

Claims (3)

1. a k neighbour querying method that covers based on the zone is characterized in that: comprise the steps:
Step 1: typing personnel positions information, method is: each object is the current coordinate of report oneself upwards, determines search space;
Step 2: search space is divided into grid;
At first whole search space is divided into M * N Virtual space grid cell, wherein, M represents sidewards the space to be divided into M part, and N represents endways the space to be divided into N part,
For a p (computing formula is as follows for x, y) the grid id at place:
px=(int)x/hX
py=(int)y/hY
id=px+py×divX+1
In the formula, x and y represent horizontal ordinate and the ordinate of a p, and hX and hY represent the horizontal width and the vertical height of grid cell respectively, and divX represents grid file division number in the horizontal direction;
Step 3: mobile object is carried out index;
Is each space lattice cell abstract that a point in the space carries out index, to be the grid cell management to the management transitions of dynamic mobile object, promptly only index is carried out in the zone that has mobile object, index is not carried out in the zone that does not have mobile object, the concrete grammar of setting up index is:
For each the space lattice unit after dividing,, then this space lattice unit is inserted in four fens trees of compression if there is mobile object in the grid inner region; If the not mobile object in its inside, this grid necessary being not then; Meanwhile, adopt the increment building method to set up Voronoi figure with the central point of each grid;
Step 4: set the index structure that combines with Voronoi figure in four minutes according to the virtual grid that covers based on the zone, carry out the k nearest neighbor inquiry.
2. the k neighbour querying method that covers based on the zone according to claim 1 is characterized in that: described step 3 pair mobile object carries out relating in the process of index following three kinds of operations:
(1) inserts operation; When mobile object newly occurs, object abstract be a point, by the mesh mapping formula, draw its place grid id, obtain the actual grid address by hash table then, find grid,
If this grid is Already in the index, the some chained list back of then new point being inserted this grid correspondence, the number of point adds 1 in the grid;
If in the hash table, do not find this grid, i.e. still not mobile object in this grid, apply for that then an allocation of space is to mesh object, mesh object registration in the hash table, the head pointer that while is made a some chained list to this point is linked this grid, the number of point adds 1 in the grid, this grid inserts corresponding position as the leaf node of four fens trees, the central point of leaf node is as the representative of leaf node, in Voronoi figure object, call increment function, the representative point of leaf is inserted in the graph structure;
(2) deletion action; When an object when the battlefield disappears, this object of deletion from Vor-VGQ,
If representing the point of mobile object is unique point in the grid, delete this point after, do not have object in the grid, then delete mesh object, deletion leaf node object is deleted the point of correspondence among the Voronoi figure simultaneously;
If by the point of the mobile object of representative is not the interior unique point of grid, need behind grid, delete corresponding object in the millet cake chained list, then the number of putting in the grid is deducted 1 and get final product;
(3) move operation:
When in the grid of the some P of mobile object representative at own place when mobile, only need find this to move object in the some chained list in this grid, this positional information that moves object is revised getting final product simultaneously;
When the P point is mobile between grid, divide following four kinds of situations:
First kind of situation: when a P shifts out this grid, still have a few in this grid, and the new grid that the P point moves to is original in existence, then delete this point on the some chained list in old dot grid, counting in the old grid subtracts 1, inserts this point in the some chained list in new grid, and counting in the new grid adds 1;
Second kind of situation: the old grid of transfer point has only a point, when point shifts out this grid, grid lost efficacy, originally do not exist with stylish grid, need set up new grid during immigration: at first handle old grid, to put in old net point chained list and delete, delete old grid then, delete four fens leaf nodes, the corresponding node of deletion in Voronoi figure needs space of first to file to give new grid for new grid again, insertion point chained list then, put number and be set to 1, insert this leafy node in four fens trees then, in Voronoi figure, add corresponding node at last;
The third situation: the old grid of transfer point P has only a point, when point shifts out this grid, then grid lost efficacy, and new grid exists originally: will put and delete in old net point chained list, delete old grid then, delete four fens leaf nodes, the more corresponding node of deletion in Voronoi figure, insert this point in the some chained list in new grid, counting in the new grid adds 1;
The 4th kind of situation: the more than point of the old grid of transfer point, originally do not exist with stylish grid, need set up new grid during immigration: this point of deletion on the some chained list in old dot grid, counting in the old grid subtracts 1, need space of first to file to give new grid for new grid, the insertion point chained list is put number and is set to 1 then, insert this leafy node in four fens trees then, in Voronoi figure, add corresponding node at last.
3. step 4 according to claim 1 was set the index structure that combines with Voronoi figure in four minutes according to the virtual grid that covers based on the zone, carried out the k nearest neighbor inquiry, specifically carried out as follows:
Mobile object is initiated k neighbour inquiry, and mobile object is considered as a P,
Step 4.1: by the grid id of formula calculation level P, the address by hash shows to obtain this leafy node then can obtain corresponding address among the Voronoi figure;
Step 4.2: the data in the leafy node according to putting into chained list resultList as a result to a size of P distance, are write down resultList chained list length;
Step 4.3: leaf node adjacent node in Voronoi figure of current accessed is visited among the chained list visitList according to inserting to the order near far away of query point distance;
Step 4.4: if resultList length less than K, according to the sequential access next node in the visit chained list, is put into the resultList chained list with the point in the leafy node; Repeating step 4.3;
Step 4.5: if resultList length equals K; Be pDis from query point distance farthest in the record this moment resultList chained list;
Step 4.6: if the next node of the order of visit in the chained list apart from the distance of query point smaller or equal to pDis, then visit next node;
Step 4.7: the point in the grid of scanning access node correspondence, it is compared with the resultList mid point, replace, keep the nearest K of its middle distance query point in resultList;
Step 4.8: leaf node adjacent node in Voronoi figure of current accessed is visited in the chained list according to inserting to the order near far away of query point distance; Repeating step 4.5;
Step 4.9: finish.
CN2011102063919A 2011-07-21 2011-07-21 K-nearest neighbor searching method based on regional coverage Active CN102289466B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2011102063919A CN102289466B (en) 2011-07-21 2011-07-21 K-nearest neighbor searching method based on regional coverage

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2011102063919A CN102289466B (en) 2011-07-21 2011-07-21 K-nearest neighbor searching method based on regional coverage

Publications (2)

Publication Number Publication Date
CN102289466A true CN102289466A (en) 2011-12-21
CN102289466B CN102289466B (en) 2013-11-13

Family

ID=45335893

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2011102063919A Active CN102289466B (en) 2011-07-21 2011-07-21 K-nearest neighbor searching method based on regional coverage

Country Status (1)

Country Link
CN (1) CN102289466B (en)

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102665164A (en) * 2012-03-14 2012-09-12 杭州电子科技大学 Nearest neighbor detection method for moving object
CN103235831A (en) * 2013-05-15 2013-08-07 西南大学 Road network based structure and method for indexing moving object position
CN103559209A (en) * 2013-10-10 2014-02-05 河南大学 Method for querying nearest neighbor of efficient space combined by Voronoi Diagram and virtual grids
CN103995871A (en) * 2014-05-22 2014-08-20 东北大学 Approximate massive address data nearest neighbor query method
CN104392280A (en) * 2014-08-14 2015-03-04 成都边界元科技有限公司 2-quadtree method for searching short-distance moving target
WO2015081745A1 (en) * 2013-12-04 2015-06-11 华为技术有限公司 Method and apparatus for processing data
CN106528773A (en) * 2016-11-07 2017-03-22 山东首讯信息技术有限公司 Spark platform supported spatial data management-based diagram calculation system and method
CN106649821A (en) * 2016-12-29 2017-05-10 郑州星途信息科技有限公司 Space target index constructing method, space target collision pre-warning method, space target region query region and space target nearest neighbor query method
CN107126702A (en) * 2017-04-20 2017-09-05 杭州游聚信息技术有限公司 A kind of generation method of 3D game Random map
CN107169372A (en) * 2017-05-10 2017-09-15 东南大学 Privacy protection enquiring method based on Voronoi polygons Yu Hilbert curve encodings
CN107357871A (en) * 2017-07-04 2017-11-17 东北大学 A kind of successive range query load equalization methods based on feedback towards Storm
CN109173253A (en) * 2018-11-21 2019-01-11 北京像素软件科技股份有限公司 Game role position decision method and device
WO2019014808A1 (en) * 2017-07-17 2019-01-24 Beijing Didi Infinity Technology And Development Co., Ltd. Systems and methods for spatial index
CN110287392A (en) * 2019-06-20 2019-09-27 沈阳航空航天大学 A kind of safe space network inquiry method based on safe partition tree
CN111538725A (en) * 2020-03-19 2020-08-14 中国测绘科学研究院 Method and system for nearest quick search for ten-million-level dot-shaped elements
CN111723096A (en) * 2020-06-23 2020-09-29 重庆市计量质量检测研究院 Spatial data indexing method integrating GeoHash and Quadtree
WO2020206665A1 (en) * 2019-04-12 2020-10-15 Grabtaxi Holdings Pte. Ltd. Distributed in‐memory spatial data store for k‐nearest neighbour search
CN113901156A (en) * 2021-09-08 2022-01-07 燕山大学 Three-dimensional self-adaptive grid R + tree mixed index construction, maintenance and query method
CN114820869A (en) * 2022-05-11 2022-07-29 中南大学 Incomplete scatter diagram overlap removing method
CN116862530A (en) * 2023-06-25 2023-10-10 江苏华泽微福科技发展有限公司 Intelligent after-sale service method and system

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102073689A (en) * 2010-12-27 2011-05-25 东北大学 Dynamic nearest neighbour inquiry method on basis of regional coverage

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102073689A (en) * 2010-12-27 2011-05-25 东北大学 Dynamic nearest neighbour inquiry method on basis of regional coverage

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
李佳佳等: "分组移动对象的区域偏离监视算法", 《JOURNAL OF FRONTIERS OF COMPUTER SCIENCE AND TECHNOLOGY》 *
王波涛等: "利用覆盖区域设计与实现移动对象索引", 《JOURNAL OF FRONTIERS OF COMPUTER SCIENCE AND TECHNOLOGY》 *

Cited By (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102665164A (en) * 2012-03-14 2012-09-12 杭州电子科技大学 Nearest neighbor detection method for moving object
CN102665164B (en) * 2012-03-14 2014-11-05 杭州电子科技大学 Nearest neighbor detection method for moving object
CN103235831B (en) * 2013-05-15 2016-08-10 西南大学 Mobile object location index structure based on road network and indexing means
CN103235831A (en) * 2013-05-15 2013-08-07 西南大学 Road network based structure and method for indexing moving object position
CN103559209A (en) * 2013-10-10 2014-02-05 河南大学 Method for querying nearest neighbor of efficient space combined by Voronoi Diagram and virtual grids
CN103559209B (en) * 2013-10-10 2016-08-17 河南大学 A kind of efficient spatial K-NN search method that Voronoi Diagram is combined with virtual grid
WO2015081745A1 (en) * 2013-12-04 2015-06-11 华为技术有限公司 Method and apparatus for processing data
CN103995871A (en) * 2014-05-22 2014-08-20 东北大学 Approximate massive address data nearest neighbor query method
CN103995871B (en) * 2014-05-22 2017-04-12 东北大学 Approximate massive address data nearest neighbor query method
CN104392280A (en) * 2014-08-14 2015-03-04 成都边界元科技有限公司 2-quadtree method for searching short-distance moving target
CN104392280B (en) * 2014-08-14 2018-05-22 成都边界元科技有限公司 Find the 2- quadtree approach for closely moving target
CN106528773A (en) * 2016-11-07 2017-03-22 山东首讯信息技术有限公司 Spark platform supported spatial data management-based diagram calculation system and method
CN106528773B (en) * 2016-11-07 2020-06-26 山东联友通信科技发展有限公司 Map computing system and method based on Spark platform supporting spatial data management
CN106649821A (en) * 2016-12-29 2017-05-10 郑州星途信息科技有限公司 Space target index constructing method, space target collision pre-warning method, space target region query region and space target nearest neighbor query method
CN107126702B (en) * 2017-04-20 2020-08-25 杭州游聚信息技术有限公司 Generation method of 3D game random map
CN107126702A (en) * 2017-04-20 2017-09-05 杭州游聚信息技术有限公司 A kind of generation method of 3D game Random map
CN107169372B (en) * 2017-05-10 2020-04-14 东南大学 Privacy protection query method based on Voronoi polygon and Hilbert curve coding
CN107169372A (en) * 2017-05-10 2017-09-15 东南大学 Privacy protection enquiring method based on Voronoi polygons Yu Hilbert curve encodings
CN107357871A (en) * 2017-07-04 2017-11-17 东北大学 A kind of successive range query load equalization methods based on feedback towards Storm
CN107357871B (en) * 2017-07-04 2020-08-11 东北大学 Storm-oriented continuous range query load balancing method based on feedback
WO2019014808A1 (en) * 2017-07-17 2019-01-24 Beijing Didi Infinity Technology And Development Co., Ltd. Systems and methods for spatial index
CN110799968A (en) * 2017-07-17 2020-02-14 北京嘀嘀无限科技发展有限公司 System and method for spatial indexing
CN109173253A (en) * 2018-11-21 2019-01-11 北京像素软件科技股份有限公司 Game role position decision method and device
WO2020206665A1 (en) * 2019-04-12 2020-10-15 Grabtaxi Holdings Pte. Ltd. Distributed in‐memory spatial data store for k‐nearest neighbour search
CN110287392B (en) * 2019-06-20 2022-12-23 沈阳航空航天大学 Safe space network query method based on safe partition tree
CN110287392A (en) * 2019-06-20 2019-09-27 沈阳航空航天大学 A kind of safe space network inquiry method based on safe partition tree
CN111538725A (en) * 2020-03-19 2020-08-14 中国测绘科学研究院 Method and system for nearest quick search for ten-million-level dot-shaped elements
CN111723096A (en) * 2020-06-23 2020-09-29 重庆市计量质量检测研究院 Spatial data indexing method integrating GeoHash and Quadtree
CN111723096B (en) * 2020-06-23 2022-08-05 重庆市计量质量检测研究院 Spatial data indexing method integrating GeoHash and Quadtree
CN113901156A (en) * 2021-09-08 2022-01-07 燕山大学 Three-dimensional self-adaptive grid R + tree mixed index construction, maintenance and query method
CN113901156B (en) * 2021-09-08 2024-05-10 燕山大学 Three-dimensional self-adaptive grid R+ tree mixed index construction, maintenance and query method
CN114820869A (en) * 2022-05-11 2022-07-29 中南大学 Incomplete scatter diagram overlap removing method
CN114820869B (en) * 2022-05-11 2024-05-03 中南大学 Incomplete scatter diagram de-overlapping method
CN116862530A (en) * 2023-06-25 2023-10-10 江苏华泽微福科技发展有限公司 Intelligent after-sale service method and system
CN116862530B (en) * 2023-06-25 2024-04-05 江苏华泽微福科技发展有限公司 Intelligent after-sale service method and system

Also Published As

Publication number Publication date
CN102289466B (en) 2013-11-13

Similar Documents

Publication Publication Date Title
CN102289466B (en) K-nearest neighbor searching method based on regional coverage
CN102073689B (en) Dynamic nearest neighbour inquiry method on basis of regional coverage
CN106528773B (en) Map computing system and method based on Spark platform supporting spatial data management
CN111930767B (en) Multilayer cache-based vector tile real-time slicing and updating method
CN103473248B (en) A kind of continuous moving K-nearest neighbor query method under road network environment
CN103198151A (en) Index inquiry system and method for running information of regional urban buses
CN102567497B (en) Inquiring method of best matching with fuzzy trajectory problems
CN106933833A (en) A kind of positional information method for quickly querying based on Spatial Data Index Technology
CN106528815B (en) A kind of road network mobile object probability Aggregation Query method and system
CN109492060A (en) A kind of map tile storage method based on MBTiles
Du et al. Spatio-temporal data index model of moving objects on fixed networks using hbase
CN112035586A (en) Spatial range query method based on extensible learning index
CN101299213A (en) N-dimension clustering order recording tree space index method
CN116860905B (en) Space unit coding generation method of city information model
CN103294912B (en) A kind of facing mobile apparatus is based on the cache optimization method of prediction
CN111639075A (en) Non-relational database vector data management method based on flattened R tree
CN104346444A (en) Optimum site selection method based on road network reverse spatial keyword query
CN113589753A (en) Three-dimensional model surface path planning method, system, equipment, terminal and application
CN101916301B (en) Three-dimensional spatial data adaptive pre-scheduling method based on spatial relationship
KR20170016168A (en) Tile-based map data updating system and method thereof
CN112866992B (en) Position privacy protection method and system
CN113407542B (en) Urban road network vehicle travel track retrieval method and system
CN105138607A (en) Hybrid granularity distributional memory grid index-based KNN query method
CN114443914B (en) Data indexing and querying method and system of meta-space server
CN112214485B (en) Power grid resource data organization planning method based on global subdivision grid

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant