Abstract: In various embodiments, Methods, systems, computer-readable storage media, and apparatuses are described for determining interactions between geometric objects stored on distributed computing nodes. Nodes may be configured to perform a join operation in response to a query. The worker nodes may perform a source stage where source geometric objects are identified and sent to other worker nodes. The worker nodes may perform a target stage a set of target geometric objects is identified and a join operation performed on the received source and target geometric objects. The worker nodes may also perform a join operation that is based on storage of geometric objects in a storage sieve tree structure (“SST”). A space-filling curve may be used to map levels of the SST to a one-dimensional interval. The join operation may be performed only on objects whose mapped portions of the interval overlap. Other embodiments, may be described and claimed.
Abstract: Methods, computer-readable storage media, and apparatuses for determining interactions between geometric shapes on a geoid may be described. In embodiments, queries about geometric shapes on a geoid may be received. Various interaction tests, such as point-point or point-segment intersection tests, may be identified that need to be determined to satisfy the query. Points for the geometric shapes may be projected onto an auxiliary sphere that is associated with the geoid. The tests may be performed using these projected points, and from the results of these tests, a response may be provided to the query. Approximate computations, such as limited-precision CPU-based computations, may also be utilized to reduce computational complexity during test performance. An error value may be determined during performance of these tests, and, if the error value is greater than a pre-determined error bound, the test may be performed using higher-precision computations. Additional embodiments may be described and claimed.
Abstract: A method, apparatus, and system is described for creating a spatial sieve tree which stores, manages, and manipulates multidimensional data by partitioning the bounds of the nodes of the tree, creating child nodes which each have defined bounds associated with a partitioned portion of their parent node(s) and may be further partitioned into additional levels of child nodes, and determining which level of the tree has the smallest size node in which a data object could wholly fit regardless of the data object's location in coordinate space and the one or more nodes of that determined level that could at least partially contain the data object based on the bounds of the one or more nodes and the data object's location in coordinate space.