paleolimbot commented on code in PR #8801:
URL: https://github.com/apache/arrow-rs/pull/8801#discussion_r2529586490


##########
parquet-geospatial/src/types.rs:
##########
@@ -0,0 +1,210 @@
+use std::sync::Arc;
+
+use arrow::array::{Array, ArrayRef, BinaryArray, BinaryViewArray, 
LargeBinaryArray, make_array};
+use arrow::buffer::NullBuffer;
+use arrow::error::Result;
+use arrow_schema::Field;
+use arrow_schema::{ArrowError, DataType, extension::ExtensionType};
+use serde::{Deserialize, Serialize};
+
+#[derive(Copy, Clone, Debug, Serialize, Deserialize)]
+pub enum Hint {
+    Geometry,
+    Geography,
+}
+
+#[derive(Clone, Debug, Default, Serialize, Deserialize)]
+pub struct Metadata {
+    #[serde(skip_serializing_if = "Option::is_none")]
+    pub crs: Option<String>, // TODO: explore when this is valid JSON to avoid 
double escaping
+    #[serde(skip_serializing_if = "Option::is_none")]
+    pub algorithm: Option<String>,
+    #[serde(skip_serializing_if = "Option::is_none")]
+    type_hint: Option<Hint>,
+}

Review Comment:
   > metadata we present here is already not really GeoArrow metadata
   
   I do think it's important to output valid GeoArrow metadata, at least in the 
sense that it conforms to the spec and tries its best to pass on any 
information it has (arbitrary strings in GeoArrow are permitted for this 
purpose!). (This Metadata struct can definitely represent anything we'd like it 
to...I'm talking strictly about the JSON output we write to the output Field).
   
   > accept that we technically have an unsupported case
   
   I see this more of an inability to roundtrip one of two possible 
representations of spherical edges from Parquet, through GeoArrow, then back to 
Parquet. I'm comfortable with that but let me know if there's something beyond 
this I didn't see!



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