Creating this mainly as an issue to track progress / dependencies in external repos.
Currently in iceberg-go geo data can be read / written, but the parquet logical type labeling is wrong leading to issues like this for query engines: duckdb/duckdb-iceberg#1175 The iceberg schema shows geometry and the physical byte array type is correct but the parquet logical type isn't resolving the logical type mapping from the geo extension type.
I have added logic in arrow-go to fix this. It created a new interface for resolving logical type <-> physical type for an arrow extension type.
And then in geoarrow-go I have implemented the necessary associated read/write interfaces:
Outstanding tasks:
- Once arrow-go has its version bumped, I will create a PR to bump the arrow-go version in geoarrow-go and then the arrow-go version in iceberg-go will need to be bumped.
Creating this mainly as an issue to track progress / dependencies in external repos.
Currently in iceberg-go geo data can be read / written, but the parquet logical type labeling is wrong leading to issues like this for query engines: duckdb/duckdb-iceberg#1175 The iceberg schema shows geometry and the physical byte array type is correct but the parquet logical type isn't resolving the logical type mapping from the geo extension type.
I have added logic in arrow-go to fix this. It created a new interface for resolving logical type <-> physical type for an arrow extension type.
And then in geoarrow-go I have implemented the necessary associated read/write interfaces:
Outstanding tasks: