paleolimbot commented on code in PR #749:
URL: https://github.com/apache/sedona-db/pull/749#discussion_r3121163412


##########
rust/sedona-schema/src/raster.rs:
##########
@@ -55,32 +54,37 @@ impl RasterSchema {
         )))
     }
 
-    /// Individual band schema
+    /// Individual band schema — flattened N-D band with dimension metadata
     pub fn band_type() -> DataType {
         DataType::Struct(Fields::from(vec![
-            Field::new(column::METADATA, Self::band_metadata_type(), false),
-            Field::new(column::DATA, Self::band_data_type(), false),
+            Field::new(column::NAME, DataType::Utf8, true),
+            Field::new(column::DIM_NAMES, Self::dim_names_type(), false),
+            Field::new(column::SHAPE, Self::shape_type(), false),
+            Field::new(column::DATATYPE, DataType::UInt32, false),
+            Field::new(column::NODATA, DataType::Binary, true),
+            Field::new(column::STRIDES, Self::strides_type(), false),
+            Field::new(column::OFFSET, DataType::UInt64, false),
+            Field::new(column::OUTDB_URI, DataType::Utf8, true),
+            Field::new(column::DATA, DataType::BinaryView, false),

Review Comment:
   Deferring fusing of operators to a future phase is a great idea.
   
   Concretely, how about removing `STRIDES` and `OFFSET` for now or making it 
clear they are for in-memory bands only? I think they are very useful and can 
avoid some copies for an in-memory band, but it's less clear what they mean for 
an outdb band because the exact remote layout of bytes isn't something the 
Arrow representation is really responsible for.



-- 
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]

Reply via email to