×

Method of storing and retrieving multi-dimensional data using the hilbert curve

  • US 7,167,856 B2
  • Filed: 05/07/2002
  • Issued: 01/23/2007
  • Est. Priority Date: 05/15/2001
  • Status: Expired due to Fees
First Claim
Patent Images

1. A method of storing multi-dimensional data or multi-dimensional data points, in a multi-dimensional database and retrieving subsets of said multi-dimensional data according to the specification of a query comprising:

  • 1 providing a computer memory which is able to store said multi-dimensional data at a series of addresses in said memory,2 providing a means of transforming by calculation of multi-dimensional points including said multi-dimensional data into one-dimensional values by mapping said multi-dimensional data to one-dimensional distance values along an approximation of a Hilbert space-filling curve that passes through all multi-dimensional points corresponding to possible data values in the domain of said multi-dimensional database,3 providing a means of partitioning said multi-dimensional data into an ordered sequence of subsets of said multi-dimensional data so that each said subset of said multi-dimensional data comprises multi-dimensional data that maps to lower said one-dimensional distance values than all succeeding said subsets of said multi-dimensional data,4 providing a means of identifying each said subset of said multi-dimensional data together with the location in said computer memory in which each said subset of multi-dimensional data is stored,5 providing a means of indexing locations in said computer memory of said subsets of said multi-dimensional data,6 providing a means of specifying a query region or query as a multi-dimensional rectangular region within said domain of said database,7 providing a calculation method utilizing bit-wise manipulation of said one-dimensional distance values along an approximation of a Hilbert space-filling curve for identifying for retrieval and searching which said subsets of said multi-dimensional data intersect with any said query, the calculation method comprising the steps of;

    (a) calculating the lowest said one-dimensional value corresponding to a multi-dimensional point lying within said query region and identifying from said index which subset of said multi-dimensional data will contain said multi-dimensional point, if it exists as a multi-dimensional data point in said database, and identifying from said index the location in said computer memory of said subset of said multi-dimensional data,(b) calculating the lowest one-dimensional value, if it exists, corresponding to a multi-dimensional point lying within said query region which is greater than or equal to the lowest one-dimensional value corresponding to any multi-dimensional point that may exist as a multi-dimensional data point and be contained within the succeeding subset of said multi-dimensional data identified in the previous step,(c) repeating the previous step zero or more times to identify further subsets of said multi-dimensional data that intersect with said query region,whereby said database and its index adapt efficiently to insertion and deletion of said multi-dimensional data, andwhereby subsets of multi-dimensional data that intersect with a query region can be identified efficiently for searching and retrieval of multi-dimensional data that lies within the query region.

View all claims
  • 0 Assignments
Timeline View
Assignment View
    ×
    ×