System and method for efficient storage and manipulation of extremely large amounts of scan data
First Claim
1. A method of organizing and storing point data, comprising the steps of:
- obtaining a set of related point data;
sorting the related point data by at least one of spatial density and region of space;
partitioning the sorted point data into separately addressable blocks of data;
organizing the separately addressable blocks by at least one of spatial density and region of space; and
stitching related separately addressable blocks together to form a single global data tree.
2 Assignments
0 Petitions
Accused Products
Abstract
Large data sets can be stored and processed in real time by combining and registering the large data sets into a single data set. The data can be stored in a data tree structure formed of layers of spatially organized blocks of data. Such storage allows portions of the data to be viewed efficiently, displaying actual point data at an acceptable resolution for the viewing mechanism. Density limited queries can be executed that allow sub-sampling to be done directly and evenly without geometric constraint, to provide a subset of points that is limited in size and includes a spatially-even decomposition of that set of points. This allows the system as a whole to support arbitrarily large point sets while allowing full partitioning functionality, which is efficient to use in both time and space.
-
Citations
46 Claims
-
1. A method of organizing and storing point data, comprising the steps of:
-
obtaining a set of related point data;
sorting the related point data by at least one of spatial density and region of space;
partitioning the sorted point data into separately addressable blocks of data;
organizing the separately addressable blocks by at least one of spatial density and region of space; and
stitching related separately addressable blocks together to form a single global data tree. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 18)
-
-
16. A method of querying a point data set consisting of a global data tree of separately addressable blocks, comprising the steps of:
-
specifying a spatial area of the point data set;
specifying a maximum number of data points to be returned;
specifying whether to return auxiliary data associated with points in the data set; and
receiving a subset of the point data set corresponding to the spatial area, the subset having a number of points at most equal to the maximum number, the subset further including any specified per-point auxiliary data corresponding to data points in the subset. - View Dependent Claims (17)
-
-
19. A method of querying a point data set, comprising the steps of:
-
allowing a user to specify a spatial area of the point data set;
allowing a user to specify a maximum number of data points to be returned;
allowing a user to specify whether to return auxiliary data associated with points in the data set;
formulating a query based on the spatial area, maximum number, and auxiliary data specification and running that query against a database;
receiving from the database a subset of the point data set corresponding to the spatial area, the subset having a number of points at most equal to the maximum number, the subset further including any per-point auxiliary data corresponding to data points in the subset; and
at least one of displaying the subset and writing the subset to a database.
-
-
20. A method of registering multiple data sets, comprising the steps of:
-
obtaining a plurality of data sets, each data set including separately addressable blocks stitched together to form a single data tree;
running a series of queries against the plurality of data sets, each query specifying a spatial area and maximum number of points;
using results from the series of queries to relate the data sets together; and
organizing the related data sets to form a single global data tree. - View Dependent Claims (21, 22, 23, 24)
-
-
25. A memory for storing data for access by an application program being executed on a data processing system, comprising:
-
a data structure stored in said memory, said data structure including information resident in a database used by said application program and including;
a plurality of spatial block data objects, each spatial block data object representing a spatially indexed partitioning of a data set, each spatial block data object containing a set of data arrays storing point data from the data set, as well as corresponding organizational structure information and any auxiliary information; and
a point set spatial tree data object formed of the plurality of spatial block data objects at a number of body layers, the spatial tree data object growing from a global root block data object using the organizational structure information for the spatial block data objects. - View Dependent Claims (26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46)
-
Specification