Quadtree center tile/boundary tile optimization
First Claim
1. A computer implemented method for determining positional relationships among objects represented in a database, the method comprising:
- receiving a query including at least a first object in the database and a desired positional relationship between the first object and a second object in the database;
in response to receiving the query performing the steps of;
identifying, for the first object, one or more tiles in a plurality of tiles defined in a spatial index in the database that are interior tiles of the first object and one or more tiles in the plurality of tiles that are boundary tiles of the first object;
identifying, for the second object, one or more tiles in the plurality of tiles that are interior tiles of the second object and tiles in the plurality of tiles that are boundary tiles of the second object; and
providing the query to a primary filter operable to;
compare tiles of the first object with tiles of the second object to determine whether at least one tile of the first object intersects with at least one tile of the second object; and
determine whether the at least one tile of the second object with which the at least one tile of the first object intersects is an interior tile of the second object;
if so, providing the first object to a result set of objects that satisfy the desired positional relationship,otherwise, providing the first object and second object to a secondary filter operable to;
compare the second object with the first object; and
if the first object fulfills the desired positional relationship, include the first object in the result set of objects that satisfy the desired positional relationship;
otherwise, exclude the first object from the result set of objects that satisfy the desired positional relationship.
2 Assignments
0 Petitions
Accused Products
Abstract
A method for determining positional relationships among objects represented in a database. A plurality of tiles are defined. A distribution of objects with respect to the tiles is determined. The distribution of objects is compared with respect to the tiles to identify objects fulfilling a primary filter condition related to an interaction of the objects with respect to the tiles. Objects are identified that fulfill a secondary filter condition related to an interaction of the geometries of the objects by analyzing the distribution of objects that fulfill the primary filter condition with respect to the tiles. Objects are identified that fulfill the secondary filter condition by comparing geometries of objects that fulfill the primary filter condition that the analysis does not identify as fulfilling the secondary filter condition.
45 Citations
19 Claims
-
1. A computer implemented method for determining positional relationships among objects represented in a database, the method comprising:
-
receiving a query including at least a first object in the database and a desired positional relationship between the first object and a second object in the database; in response to receiving the query performing the steps of; identifying, for the first object, one or more tiles in a plurality of tiles defined in a spatial index in the database that are interior tiles of the first object and one or more tiles in the plurality of tiles that are boundary tiles of the first object; identifying, for the second object, one or more tiles in the plurality of tiles that are interior tiles of the second object and tiles in the plurality of tiles that are boundary tiles of the second object; and providing the query to a primary filter operable to; compare tiles of the first object with tiles of the second object to determine whether at least one tile of the first object intersects with at least one tile of the second object; and determine whether the at least one tile of the second object with which the at least one tile of the first object intersects is an interior tile of the second object; if so, providing the first object to a result set of objects that satisfy the desired positional relationship, otherwise, providing the first object and second object to a secondary filter operable to; compare the second object with the first object; and if the first object fulfills the desired positional relationship, include the first object in the result set of objects that satisfy the desired positional relationship; otherwise, exclude the first object from the result set of objects that satisfy the desired positional relationship. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A computer program product for performing a process for determining positional relationships among objects represented in a database in a computer system, comprising:
-
a computer readable medium; and computer program instructions, recorded on the computer readable medium, executable by a processor, for performing the steps of receiving a query including at least a first object in the database and a desired relationship between the first object and a second object in the database; in response to receiving the query performing the steps of; identifying, for the first object, one or more tiles in a plurality of tiles defined in a spatial index in the database that are interior tiles of the first object and one or more tiles in the plurality of tiles that are boundary tiles of the first object identifying, for the second object, one or more tiles in the plurality of tiles that are interior tiles of the second object and tiles in the plurality of tiles that are boundary tiles of the second object; and providing the query to a primary filter operable to; compare tiles of the first object with tiles of the second object to determine whether at least one tile of the first object intersects with at least one tile of the second object; and determine whether the at least one tile of the second object with which the at least one tile of the first object intersects is an interior tile of the second object; if so, providing the first object to a result set of objects that satisfy the desired positional relationship, otherwise, providing the first object and second object to a secondary filter operable to; compare the second object with the first object; and if the first object fulfills the desired positional relationship, include the first object in the result set of objects that satisfy the desired positional relationship; otherwise, exclude the first object from the result set of objects that satisfy the desired positional relationship. - View Dependent Claims (17)
-
-
18. A system for performing a process method for determining positional relationships among objects represented in a database, comprising:
-
a processor operable to execute computer program instructions; and a memory operable to store computer program instructions executable by the processor, for performing the steps of; receiving a query including at least a first object in the database and a desired positional relationship between the first object and a second object in the database; in response to receiving the query performing the steps of; identifying, for the first object, one or more tiles in a plurality of tiles defined in a spatial index in the database that are interior tiles of the first object and one or more tiles in the plurality of tiles that are boundary tiles of the first object; identifying, for the second object, one or more tiles in the plurality of tiles that are interior tiles of the second object and tiles in the plurality of tiles that are boundary tiles of the second object; and providing the query to a primary filter operable to; compare tiles of the first object with tiles of the second object to determine whether at least one tile of the first object intersects with at least one tile of the second object; and determine whether the at least one tile of the second object with which the at least one tile of the first object intersects is an interior tile of the second object; if so, providing the first object to a result set of objects that satisfy the desired positional relationship, otherwise, providing the first object and second object to a secondary filter operable to; compare the second object with the first object; and if the first object fulfills the desired positional relationship, include the first object in the result set of objects that satisfy the desired positional relationship; otherwise, exclude the first object from the result set of objects that satisfy the desired positional relationship. - View Dependent Claims (19)
-
Specification