geoarrow-c icon indicating copy to clipboard operation
geoarrow-c copied to clipboard

Add support for 64-bit offsets

Open paleolimbot opened this issue 7 months ago • 0 comments

Currently, all offset types are int32_t and iterating over LARGE_WKT and LARGE_WKB is currently not possible. We need to:

  • Ensure that the offsets member of the GeoArrowArrayView can handle int64_t
  • Implement a visitor + writer for LARGE_WKB and LARGE_WKT. There is nothing inherently difficult about this except that doing it in C is hard because there are no templates

While we're changing the GeoArrowArrayView + places that access it, it's worth making a few other changes to ease the cost of updating when adding a few other features:

  • Ensure that serialized types can be represented by a GeoArrowArrayView. Right now there's no place to put the data member and geobuffers() does not work for serialized types
  • Ensure that the coordinate buffer value of double can expand to fit more types, probably by making this type a union. This will ensure that a future version of geoarrow-c that supports float coords won't be source-breaking.

paleolimbot avatar Nov 07 '23 17:11 paleolimbot