wirybeaver commented on code in PR #3342:
URL: https://github.com/apache/iceberg-rust/pull/3342#discussion_r4419303011


##########
crates/iceberg/src/writer/file_writer/parquet_writer.rs:
##########
@@ -371,6 +371,12 @@ impl MinMaxColAggregator {
             ));
         };
 
+        if matches!(ty, PrimitiveType::Geometry(_) | 
PrimitiveType::Geography(_)) {
+            // Statistics are optional, not setting them is fine.
+            // TODO: Implement bounds for geospatial types.
+            return Ok(());

Review Comment:
   Implemented in 0c0888b8. The writer now consumes 
ColumnChunkMetaData::geo_statistics and unions row-group boxes by coordinate 
dimension, including geography wraparound, rather than discarding them or 
comparing WKB bytes. The resulting Iceberg bounds use Appendix D's 
little-endian coordinate encoding (with the NaN Z placeholder for XYM). A 
missing box in any non-null row group makes the file bounds unknown; null-only 
groups are ignored. This applies equally to geometry and geography statistics 
supplied by Parquet, including a custom geography accumulator. Parquet's 
default geography accumulator still does not generate boxes; no global factory 
is installed here. Also addressed your review note on unset CRS: Iceberg srid:0 
now exports without Arrow CRS metadata, including in the embedded Parquet Arrow 
schema.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to