Interface OdataSpatialFilterContext

Build a spatial $filter predicate (geo.intersects / geo.distance) from a canonical SpatialFilter. The geometry column is resolved from the supplied schema (typed Edm.Geography); when no geometry column is declared the function throws so the caller can either pass an explicit column via extra or refuse the request before it reaches the server.

Only the spatialRel values supported by Honua Server's parity matrix are accepted: esriSpatialRelIntersects and esriSpatialRelEnvelopeIntersects translate to geo.intersects; esriSpatialRelWithin and esriSpatialRelContains are not supported by geo.intersects semantics and throw.

The WKT literal is stamped with the input geometry's SRID (i.e. the coordinate system the literal coordinates are in), not an output SR. The resolution order is inputSrid → the spatialFilter.geometry.spatialReference.{wkid|latestWkid} carried by the canonical SpatialFilter constructors → the metadata-declared SRID on the selected geometry column (matched by name against geometryColumn when supplied; falls back to the first isSpatial field only when no column was pinned). Multi-geometry entity types never borrow SRIDs across columns. When none of those resolves, the literal is emitted without a SRID= prefix and the server falls back to the column's declared SRID.

interface OdataSpatialFilterContext {
    geometryColumn?: string;
    geometryFields?: readonly HonuaOdataFieldInfo[];
    inputSrid?: string | number;
}

Properties

geometryColumn?: string
geometryFields?: readonly HonuaOdataFieldInfo[]
inputSrid?: string | number

SRID of the input WKT literal. Optional — auto-derived when omitted.