quadbin
You can learn more about Quadbins in the Spatial Indexes section of the documentation.
QUADBIN_POLYFILL is a pipelined function that can be used directly inside INSERT … SELECT to materialize a table.
QUADBIN_BBOX
QUADBIN_BBOX(quadbin)Description
Returns an object with the boundary box of a given Quadbin. This boundary box contains the minimum and maximum longitude and latitude. The output object exposes the named fields west, south, east, north (i.e. [West-South, East-North], or [min long, min lat, max long, max lat]).
Input parameters
quadbin:NUMBERQuadbin to get the bbox from.
Return type
QUADBIN_BBOX_OBJ (object with west, south, east, north of type BINARY_DOUBLE)
Example
SELECT t.bbox.west, t.bbox.south, t.bbox.east, t.bbox.north
FROM (
SELECT carto.QUADBIN_BBOX(5207251884775047167) AS bbox FROM DUAL
) t;
-- WEST SOUTH EAST NORTH
-- -2.250000000000000e+01 2.194304553343818e+01 0 4.097989806962013e+01QUADBIN_BOUNDARY
Description
Returns the boundary for a given Quadbin as a polygon SDO_GEOMETRY (SRID 4326) with the same coordinates as given by the QUADBIN_BBOX function.
Input parameters
quadbin:NUMBERQuadbin to get the boundary geometry from.
Return type
SDO_GEOMETRY
Example
QUADBIN_CENTER
Description
Returns the center for a given Quadbin. The center is the intersection point of the four immediate children Quadbin.
Input parameters
quadbin:NUMBERQuadbin to get the center from.
Return type
SDO_GEOMETRY
Example
QUADBIN_DISTANCE
Description
Returns the Chebyshev distance between two quadbin indexes. The origin and destination indices must have the same resolution. Otherwise NULL will be returned.
Input parameters
origin:NUMBERorigin quadbin index.destination:NUMBERdestination quadbin index.
Return type
NUMBER
Example
QUADBIN_FROMGEOGPOINT
Description
Returns the Quadbin of a given point at a requested resolution. The input point is interpreted as WGS84 (EPSG:4326).
Input parameters
point:SDO_GEOMETRYpoint to get the Quadbin from.resolution:NUMBERlevel of detail or zoom.
Return type
NUMBER
Example
QUADBIN_FROMLONGLAT
Description
Returns the Quadbin representation of a point for a requested resolution and geographic coordinates.
Input parameters
longitude:NUMBERlongitude (WGS84) of the point.latitude:NUMBERlatitude (WGS84) of the point.resolution:NUMBERlevel of detail or zoom.
Return type
NUMBER
Example
QUADBIN_FROMQUADKEY
Description
Compute a quadbin index from a quadkey.
Input parameters
quadkey:VARCHAR2Quadkey representation of the index.
Return type
NUMBER
Example
QUADBIN_FROMZXY
Description
Returns a Quadbin from z, x, y tile coordinates.
Input parameters
z:NUMBERzoom level.x:NUMBERhorizontal position of a tile.y:NUMBERvertical position of a tile.
Constraints
Tile coordinates x and y depend on the zoom level z. For both coordinates, the minimum value is 0, and the maximum value is two to the power of z, minus one (2^z - 1).
Return type
NUMBER
Example
QUADBIN_ISVALID
Description
Returns 1 when the given index is a valid Quadbin, 0 otherwise. Oracle has no native SQL BOOLEAN, so the function uses the conventional 1/0 shape — callers test with = 1.
Input parameters
quadbin:NUMBERQuadbin index.
Return type
NUMBER (1 or 0)
Examples
QUADBIN_KRING
Description
Returns all cell indexes in a filled square k-ring centered at the origin in no particular order.
Input parameters
origin:NUMBERQuadbin index of the origin.size:NUMBERsize of the ring (distance from the origin).
Return type
QUADBIN_INDEX_ARRAY (pipelined TABLE OF NUMBER)
Example
QUADBIN_KRING_DISTANCES
Description
Returns all cell indexes and their distances in a filled square k-ring centered at the origin in no particular order.
Input parameters
origin:NUMBERQuadbin index of the origin.size:NUMBERsize of the ring (distance from the origin).
Return type
QUADBIN_DISTANCE_ARRAY (pipelined TABLE OF QUADBIN_DISTANCE_PAIR, fields quadbin_index, distance)
Example
QUADBIN_POLYFILL
Description
Returns the Quadbins that intersect with the given geometry at a requested resolution. The function is pipelined; each row is one Quadbin.
Input parameters
geometry:SDO_GEOMETRYgeometry to extract the Quadbins from. Interpreted as WGS84 (EPSG:4326).resolution:NUMBERlevel of detail or zoom.
Return type
QUADBIN_INDEX_ARRAY (pipelined TABLE OF NUMBER)
Example
QUADBIN_POLYFILL_TABLE
Description
Materializes the quadbin polyfill of every row in input_query into a new table. The resulting table joins each input row with the polyfill cells of its geom column, preserving every other column the input query exposes.
This is the procedural form of QUADBIN_POLYFILL. Unlike the function, which returns the cells as a collection, this procedure writes the result directly to a table, avoiding the collection/array size limits that can be reached when polyfilling large geographies at high resolutions.
Invalid polyfill_mode, resolution outside 0..26, or NULL arguments cause the procedure to silently no-op (output table is not created).
Input parameters
input_query:VARCHAR2SELECT statement; must expose a column namedgeomof typeSDO_GEOMETRY. Any other columns are passed through to the output table.resolution:NUMBERquadbin resolution (level of detail) between 0 and 26.polyfill_mode:VARCHAR2'center','intersects', or'contains'. Accepted for forward compatibility. (Namedpolyfill_moderather thanmodebecausemodeis a reserved word in Oracle PL/SQL.) The native coverage produced by QUADBIN_POLYFILL is used regardless of the value; mode-specific containment will be supported in a future release.output_table:VARCHAR2fully-qualified name of the table to create. Sanitized viaDBMS_ASSERT.QUALIFIED_SQL_NAME.
Return type
None — creates the named table as a side effect. The output table has columns:
quadbinNUMBER— the polyfill cell.every other column produced by
input_queryexceptgeom.
Example
QUADBIN_RESOLUTION
Description
Returns the resolution of the input Quadbin.
Input parameters
quadbin:NUMBERQuadbin from which to get the resolution.
Return type
NUMBER
Example
QUADBIN_SIBLING
Description
Returns the Quadbin directly next to the given Quadbin at the same resolution. The direction must be set in the corresponding argument and currently only horizontal/vertical neigbours are supported. It will return NULL if the sibling does not exist.
Input parameters
quadbin:NUMBERQuadbin to get the sibling from.direction:VARCHAR2'right'|'left'|'up'|'down'direction to move in to extract the next sibling.
Return type
NUMBER
Example
QUADBIN_TOCHILDREN
Description
Returns the children Quadbins of a given Quadbin for a specific resolution. A children Quadbin is a Quadbin of higher level of detail that is contained by the current Quadbin. Each Quadbin has four direct children (at the next higher resolution).
Input parameters
quadbin:NUMBERQuadbin to get the children from.resolution:NUMBERresolution of the desired children.
Return type
QUADBIN_INDEX_ARRAY (pipelined TABLE OF NUMBER)
Example
QUADBIN_TOPARENT
Description
Returns the parent (ancestor) Quadbin of a given Quadbin for a specific resolution. An ancestor of a given Quadbin is a Quadbin of smaller resolution that spatially contains it.
Input parameters
quadbin:NUMBERQuadbin to get the parent from.resolution:NUMBERresolution of the desired parent.
Return type
NUMBER
Example
QUADBIN_TOQUADKEY
Description
Compute a quadkey from a quadbin index.
Input parameters
quadbin:NUMBERQuadbin index.
Return type
VARCHAR2
Example
QUADBIN_TOZXY
Description
Returns the zoom level z and coordinates x, y for a given Quadbin.
Input parameters
quadbin:NUMBERQuadbin from which to obtain the coordinates.
Return type
QUADBIN_ZXY (object with z, x, y of type NUMBER)
Example
Last updated
Was this helpful?
