Class GeoParquetFilterToSQL
- Object
- 
- FilterToSQL
- 
- DuckDBFilterToSQL
- 
- GeoParquetFilterToSQL
 
 
 
- 
- All Implemented Interfaces:
- ExpressionVisitor,- FilterVisitor
 
 public class GeoParquetFilterToSQL extends DuckDBFilterToSQL Filter SQL encoder for GeoParquet queries.This class extends DuckDBFilterToSQL with GeoParquet-specific optimizations for encoding OGC Filter objects into SQL queries. It handles translation of spatial filters, particularly optimizing bounding box (BBOX) queries to work efficiently with GeoParquet's metadata and structure. Key features include: - Optimized BBOX filter translation that uses GeoParquet's bounding box information
- Support for the standard set of spatial operations adapted to GeoParquet's spatial model
 The implementation specifically targets the column structure and query patterns that perform well with GeoParquet datasets, considering both the GeoParquet specification and DuckDB's spatial capabilities. 
- 
- 
Nested Class Summary- 
Nested classes/interfaces inherited from class FilterToSQLFilterToSQL.FieldEncoder
 
- 
 - 
Field Summary- 
Fields inherited from class FilterToSQLcapabilities, currentDimension, currentGeometry, currentSRID, databaseSchema, encodingFunction, escapeBackslash, featureType, fieldEncoder, filterFactory, inEncodingEnabled, inline, IO_ERROR, LOGGER, out, primaryKey, sqlNameEscape
 
- 
 - 
Constructor SummaryConstructors Constructor Description GeoParquetFilterToSQL()
 - 
Method SummaryAll Methods Instance Methods Concrete Methods Modifier and Type Method Description StringtoString()Returns a string representation of this filter encoder.protected ObjectvisitBBOX(BBOX filter, Expression leftExp, Expression rightExpt, Object extraData)Converts a bounding box filter to optimized SQL using bbox components.- 
Methods inherited from class DuckDBFilterToSQLcreateFilterCapabilities, visitBinarySpatialOperator, visitBinarySpatialOperator, visitDistanceBufferOperator, visitLiteralBoundingBox, visitLiteralGeometry, visitLiteralGeometry, write
 - 
Methods inherited from class FilterToSQLcast, encode, encode, encodeBinaryComparisonOperator, encodeToString, encodeToString, escapeLiteral, escapeName, evaluateLiteral, getCapabilities, getDatabaseSchema, getDistanceInNativeUnits, getExpressionType, getFeatureType, getFunctionName, getFunctionReturnType, getParameter, getPrimaryKey, getSqlNameEscape, isBinaryExpression, isEscapeBackslash, isInEncodingEnabled, processLikeLeftOperand, setCapabilities, setDatabaseSchema, setEscapeBackslash, setFeatureType, setFieldEncoder, setInEncodingEnabled, setInline, setPrimaryKey, setSqlNameEscape, setWriter, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visitBinaryComparisonOperator, visitBinarySpatialOperator, visitBinaryTemporalOperator, visitBinaryTemporalOperator, visitBinaryTemporalOperator, visitInFunction, visitLiteralTimePeriod, visitNullFilter, writeBinaryExpression, writeBinaryExpressionMember, writeLiteral
 
- 
 
- 
- 
- 
Method Detail- 
toStringpublic String toString() Returns a string representation of this filter encoder.
 - 
visitBBOXprotected Object visitBBOX(BBOX filter, Expression leftExp, Expression rightExpt, Object extraData) Converts a bounding box filter to optimized SQL using bbox components.This method optimizes bounding box queries by using the 'bbox' column components common in GeoParquet datasets. Instead of using expensive spatial functions, it uses simple comparisons on the xmin, xmax, ymin, ymax components, which can be much more efficient. The generated SQL follows the pattern: bbox.xmin <= maxX and bbox.xmax >= minX and bbox.ymin <= maxY and bbox.ymax >= minYwhich implements a proper spatial intersection test using only simple comparisons.- Overrides:
- visitBBOXin class- DuckDBFilterToSQL
- Parameters:
- filter- The BBOX filter to encode
- leftExp- The left expression (typically the geometry column)
- rightExpt- The right expression (typically the literal bounding box)
- extraData- Extra data that might be passed through
- Returns:
- The extraData parameter, potentially modified
 
 
- 
 
-