Method and apparatus for multidimensional database using binary hyperspatial code
First Claim
1. A method for storing dimensional data in a database, comprising the computer-implemented steps of:
- receiving dimensional data points;
determining a hyperspatial code for said data points by recursively defining spatial cells in which a predefined volume of said dimensional data points reside, said spatial cells being identified by binary quantities representing the location of said spatial cells relative to one another;
generating hyperspatial code data partitions based on the number of dimensions of said dimensional data points and said predefined volume; and
generating a data dictionary, said data dictionary including a table having respective entries for each of said generated data partitions.
1 Assignment
0 Petitions
Accused Products
Abstract
An improved database data structure and datatype is disclosed for storing, manipulating and accessing multidimensional spatial data in a database. Binary helical hyperspatial code (HH CODE) is used to represent data of N dimensions. The binary HH CODE data structure maintains the dimensional organization of multidimensional data within the data itself. Spatial data is stored using BH code which is modeled as a N-tree structure derived using recursive decomposition. A high water mark is set as the upper limit for data volume which may be stored in any one partition. As data stored in a partition exceeds the high water mark, the data is decomposed into child partitions such that no partition data stores exceed the high water mark. If the high water mark is exceeded, additional child partitions are automatically created and the parent table is not retained. A data structure is defined which represents the partitioned tables and BH code values. Appropriate attributes are associated with each of the BH code values which may represent non-spatial data such as temperature, salinity, or cosmic ray flux. Methods and apparatus are also provided to apply teachings of binary HH CODE to line segments and topology.
161 Citations
69 Claims
-
1. A method for storing dimensional data in a database, comprising the computer-implemented steps of:
-
receiving dimensional data points; determining a hyperspatial code for said data points by recursively defining spatial cells in which a predefined volume of said dimensional data points reside, said spatial cells being identified by binary quantities representing the location of said spatial cells relative to one another; generating hyperspatial code data partitions based on the number of dimensions of said dimensional data points and said predefined volume; and generating a data dictionary, said data dictionary including a table having respective entries for each of said generated data partitions. - View Dependent Claims (2, 66)
-
-
3. A method for storing dimensional data in a database, comprising the computer-implemented steps of:
-
receiving dimensional data points; and determining binary hyperspatial codes (BH codes) for said data points, respectively, by recursively defining spatial cells in which said dimensional data points reside, said spatial cells being identified by binary quantities representing the location of said spatial cells relative to one another, wherein each of said BH codes includes a data structure having BH code data representing a hyperspatial key and meta data representing an attribute of the BH code. - View Dependent Claims (4, 5, 6, 7)
-
-
8. A method for storing dimensional data in a database, comprising the computer-implemented steps of:
-
receiving dimensional data points; determining a hyperspatial code for said data points by recursively defining spatial cells in which said dimensional data points reside, said spatial cells being identified by binary quantities representing the location of said spatial cells relative to one another; and generating a data dictionary, wherein said data dictionary includes a list of all tables stored in said database that are multidimensional. - View Dependent Claims (9, 10, 11)
-
-
12. An apparatus for storing dimensional data points in a database coupled to a computer, comprising:
-
an element coupled to said computer for determining a hyperspatial code for said dimensional data points by recursively decomposing spatial cells in which a predefined volume of said dimensional data points reside, said spatial cells being identified by binary quantities representing the location of said spatial cells relative to one another; an element for partitioning and storing said hyperspatial code in said database, said element for partitioning generates hyperspatial code data partitions based on the number of dimensions of said dimensional data points and said predefined volume; and an element for generating a data dictionary, said data dictionary including a partition table having respective entries for each of said generated data partitions. - View Dependent Claims (13, 67)
-
-
14. An apparatus for storing dimensional data points in a database coupled to a computer, comprising:
-
an element coupled to said computer for determining binary hyperspatial codes (BH codes) for said data points, respectively, by recursively defining spatial cells in which said dimensional data points reside, said spatial cells being identified by binary quantities representing the location of said spatial cells relative to one another, wherein each of said BH codes includes a data structure having BH code data representing a hyperspatial key and meta data representing an attribute of the BH code; and an element for partitioning and storing said BH codes in said database. - View Dependent Claims (15, 16, 17, 18)
-
-
19. An apparatus for storing dimensional data points in a database coupled to a computer, comprising:
-
an element coupled to said computer for determining a hyperspatial code for said dimensional data points by recursively decomposing spatial cells in said dimensional data points reside, said spatial cells being identified by binary quantities representing the location of said spatial cells relative to one another; an element for partitioning and storing said hyperspatial code in said database; and an element for generating a data dictionary, wherein said data dictionary includes a multidimension table which contains a list of all tables stored in said database that are multidimensional. - View Dependent Claims (20, 21, 22)
-
-
23. A method for storing a line segment in a database, comprising the computer-implemented steps of:
-
receiving data points representing a first (x1,y1) and a second (x2, y2) end point of said line segment; and determining a single hyperspatial code for said line segment by defining first and second spatial cells in which said first and second end points reside, respectively, said first and second spatial cells being identified by binary quantities representing the location of said first and second spatial cells relative to one another. - View Dependent Claims (24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38)
-
-
39. An apparatus for storing a line segment in a database coupled to a computer, comprising:
-
an element for receiving data points representing a first (x1,y1) and a second (x2,y2) end point of said line segment; an element for determining a single hyperspatial code for said line segment by defining first and second spatial cells in which said first and second end points reside, respectively, said first and second spatial cells being identified by binary quantities representing the location of said first and second spatial cells relative to one another. - View Dependent Claims (40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53)
-
-
54. A method for storing a topologic representation of a first object in a database, comprising the computer-implemented steps of:
-
defining an interior I1 and a boundary B1 for said first object; recursively decomposing said first object into first object tile regions defined by BH codes; and wherein said BH codes identify whether each of said first tile regions forms part of said interior I1 or said boundary B1. - View Dependent Claims (55, 56, 57, 58, 59, 68)
-
-
60. An apparatus for storing a topologic representation of a first object in a database, comprising:
-
an element for defining an interior I1 and a boundary B1 for said first object; and an element for recursively decomposing said first object into first object tile regions defined by binary hyperspatial codes (BH code); wherein each of said BH codes identifies whether each of said first tile regions forms part of said interior I1 or said boundary B1. - View Dependent Claims (61, 62, 63, 64, 65, 69)
-
Specification