lHi everyone,

I would like to start a discussion on FLIP-XXX: GEOGRAPHY type in Flink SQL
and Table API [1].

Flink currently has no first-class geospatial type. Users working with
geographic data are forced into unsatisfying workarounds — encoding
geometries as raw strings, storing binary blobs, or pulling in external
libraries with no SQL-level integration. None of these options are
ergonomic, interoperable, or type-safe.

We propose introducing a native GEOGRAPHY type to Flink SQL and the Table
API, bringing first-class geospatial support to streaming and batch
pipelines. The key changes are:

1. New GEOGRAPHY Type - A dedicated logical type representing geospatial
values (points, lines, polygons, etc.) following the WKT/WKB standard, with
proper serialization and catalog integration.

2. Built-in Geospatial Functions - A set of SQL functions (e.g.
ST_Distance, ST_Contains, ST_AsText) enabling spatial predicates and
transformations directly in SQL queries.

3. Connector & Format Support - Pluggable encoding support so connectors
can read and write GEOGRAPHY values in standard formats (WKT, WKB, GeoJSON).

Looking forward to your feedback!

Best regards,
David Chaava

[1]
https://docs.google.com/document/d/1rpOTETT_Ui3TlEGioUr2NKJ1p1dlxjJQudXHndxBpO0/edit?usp=sharing

Reply via email to