Type Alias GeometryEncodingExperimental

GeometryEncoding:
    | "wkb"
    | "native"
    | "geojson"
    | "geoarrow-point"
    | "geoarrow-linestring"
    | "geoarrow-polygon"
    | "geoarrow-multipoint"
    | "geoarrow-multilinestring"
    | "geoarrow-multipolygon"

How the geometry column is physically stored, which decides the SQL used to (a) evaluate a spatial predicate and (b) project GeoJSON output.

  • wkb: GeoParquet 1.0/1.1 well-known-binary BLOB — wrap with ST_GeomFromWKB(...).
  • native: Parquet-native GEOMETRY / GEOGRAPHY logical type (Parquet 2.11, Mar 2025) — DuckDB reads it as a GEOMETRY, used directly.
  • geojson: GeoParquet GeoJSON encoding (string) — wrap with ST_GeomFromGeoJSON(...).
  • geoarrow-point / geoarrow-linestring / geoarrow-polygon / geoarrow-multipoint / geoarrow-multilinestring / geoarrow-multipolygon: GeoParquet 1.1 native single-geometry encodings (geo.columns[].encoding). DuckDB exposes these as nested STRUCT/LIST columns, not a GEOMETRY value — there is no DuckDB spatial expression for them. Geometry projection is decoded in JS by @honua/sdk-js/geoparquet's native decoder (native-geometry.ts, built on src/columnar/geoarrow.ts); a spatial predicate against one of these columns requires a GeoParquet 1.1 bbox-covering column (GeometryColumnPlan.bboxColumn) and otherwise fails closed — see geometryExpr.