Abstract:
Techniques and systems for processing within-distance queries are provided. A query for geometry objects within a query distance of a query geometry is received. An in-memory R-tree (IMR-tree) is generated for the query geometry. The IMR-tree includes nodes corresponding to edges of the query geometry. An R-tree index for a plurality of candidate geometries is accessed. At least one node of the R-tree index is processed by: generating an expanded bounding geometry based on the query distance, and using the IMR-tree to determine a topological relationship between the expanded bounding geometry and the query geometry. When the expanded bounding geometry intersects the query geometry, if at least one within-distance test is satisfied, the candidate geometries associated with the selected node are added to a result set. Otherwise, if the selected node is a non-leaf node of the R-tree index, child nodes of the selected node are processed.
Abstract:
A method and apparatus for querying a database table containing point spatial data and without indexes is provided. A request for point spatial data in the table includes a query window provided by the user and describing an area of interest in which the user desires the point spatial data contained therein. The query window is tiled to create interior tiles and boundary tiles. A first query is formed to determine the point spatial data contained in the interior tiles. A second query is formed to determine the point spatial data contained within the boundary tiles and also within the query window. The second query includes a function that tests to determine whether the point spatial data within a boundary tile also lies within the query window. The first and second queries are executed in part on an enhanced data storage device and the results joined and returned to the user in answer to the request.
Abstract:
Systems, methods, and other embodiments associated with index-based optimization of geometric figured-related queries are described. In one embodiment, a method includes receiving two points selected from a corpus of spatial data. A hierarchical index on the data is accessed to choose candidate nodes. The index is a hierarchical arrangement of nodes arranged in paths from root node entries to leaf node entries such that each node is contained in all nodes in a path leading to the node. The method includes determining a spatial relationship between the two points and the candidate nodes in the index. The candidate nodes are a proper subset of the nodes in the index, such that the spatial relationship is not determined between the two points and some non-candidate nodes. A candidate node is selected based on the determined angles for processing related to construction of a geometric figure describing the spatial data.
Abstract:
Techniques are described for memory-efficient spatial histogram construction. A hierarchical spatial index has leaf nodes and non-leaf nodes, each leaf node representing a bounding region containing a spatial object, each non-leaf node representing a bounding region at least partially containing one or more spatial objects. A plurality of selected nodes is selected from the plurality of non-leaf nodes. The plurality of selected nodes includes an ancestor of each leaf node. For each particular node in the plurality of selected nodes, a weight is determined. The weight is based on the number of spatial objects contained within the bounding region of the particular node. A spatial partitioning of the plurality of selected nodes is determined. A spatial histogram is generated based on the spatial partitioning of the weights of the plurality of selected nodes.
Abstract:
Techniques described herein perform spherical PIP analysis by detecting whether a test ray (defined by a test point (TP) and a point (EP) that is external to a spherical polygon) crosses edge arcs (“edges”) of the polygon based on relative orientations of vertices of the test ray and edges. A classifier vector (CV) for a test ray is calculated based on the cross-product of the TP and the EP. Using the CV, the orientation of each vertex of the polygon with respect to the test ray is determined. Candidate edges having vertices with opposite orientations with respect to the test ray are identified. Crossing edges are determine by calculating CVs for each candidate edge, and determining orientations of the TP and EP with respect to each candidate edge. A set of crossing edges is determined, where the TP and the EP have opposite orientations with respect to each crossing edge.
Abstract:
Systems, methods, and other embodiments associated with indexing spatial data in a distributed file system using local indexes are described. In one embodiment, a method includes dividing the spatial data into splits. Each of the splits includes a portion of the spatial data and includes additional sub-units that further sub-divide the spatial data. The example method may also include populating index records for the sub-units using metadata extracted from the spatial data. The metadata for each of the sub-units describes sub-unit characteristics of a respective one of the sub-units and split characteristics of one of the splits associated with the respective one of the sub-units. The method includes indexing the spatial data by generating local indexes using the index records with one of the local indexes for each of the splits and generating a global index that identifies the local indexes.
Abstract:
Techniques are described for memory-efficient spatial histogram construction. A hierarchical spatial index has leaf nodes and non-leaf nodes, each leaf node representing a bounding region containing a spatial object, each non-leaf node representing a bounding region at least partially containing one or more spatial objects. A plurality of selected nodes is selected from the plurality of non-leaf nodes. The plurality of selected nodes includes an ancestor of each leaf node. For each particular node in the plurality of selected nodes, a weight is determined. The weight is based on the number of spatial objects contained within the bounding region of the particular node. A spatial partitioning of the plurality of selected nodes is determined. A spatial histogram is generated based on the spatial partitioning of the weights of the plurality of selected nodes.
Abstract:
Techniques and systems for processing within-distance queries are provided. A query for geometry objects within a query distance of a query geometry is received. An in-memory R-tree (IMR-tree) is generated for the query geometry. The IMR-tree includes nodes corresponding to edges of the query geometry. An R-tree index for a plurality of candidate geometries is accessed. At least one node of the R-tree index is processed by: generating an expanded bounding geometry based on the query distance, and using the IMR-tree to determine a topological relationship between the expanded bounding geometry and the query geometry. When the expanded bounding geometry intersects the query geometry, if at least one within-distance test is satisfied, the candidate geometries associated with the selected node are added to a result set. Otherwise, if the selected node is a non-leaf node of the R-tree index, child nodes of the selected node are processed.
Abstract:
Systems, methods, and other embodiments associated with feature generalization leveraging topological model functionality are described. In one embodiment, a method includes loading primitives associated with a first feature and a second feature into a topological model. The topological model may be an existing topological model or a topological model that is created by the feature generalization methods and systems described herein. The topological model stores primitives that are shared by the first feature and the second feature as a single unique shared primitive. The method includes generalizing respective primitives including at least one shared primitive to produce corresponding respective generalized primitives, and associating a generalized primitive corresponding to the shared primitive with the first feature and the second feature, while maintaining alignment across shared edges of adjacent features and hierarchical relationships between features.