paleolimbot commented on code in PR #45459: URL: https://github.com/apache/arrow/pull/45459#discussion_r2008353869
########## cpp/src/parquet/properties.h: ########## @@ -1112,6 +1152,13 @@ class PARQUET_EXPORT ArrowWriterProperties { return this; } + /// \brief Set the GeoCrsContext with which coordinate reference systems should be + /// interpreted for GEOMETRY and GEOGRAPHY types + Builder* set_geospatial_crs_context(std::shared_ptr<GeoCrsContext> geo_crs_context) { + geo_crs_context_ = geo_crs_context; Review Comment: Removed! ########## cpp/src/parquet/properties.h: ########## @@ -69,6 +69,45 @@ constexpr int32_t kDefaultThriftContainerSizeLimit = 1000 * 1000; // PARQUET-978: Minimize footer reads by reading 64 KB from the end of the file constexpr int64_t kDefaultFooterReadSize = 64 * 1024; +/// \brief Convert Coordinate Reference System values for GEOMETRY and GEOGRAPHY logical +/// types +/// +/// EXPERIMENTAL +class PARQUET_EXPORT GeoCrsContext { + public: + virtual ~GeoCrsContext() = default; + + /// \brief Remove any previously saved PROJJSON CRS fields + virtual void Clear() = 0; + + /// \brief Given a coordinate reference system value and encoding from GeoArrow + /// extension metadata, return the value that should be placed in the + /// LogicalType::Geography|Geometry(crs=) field + /// + /// For PROJJSON Crses (the most common way coordinate reference systems arrive + /// in Arrow), the Parquet specification forces us to write them to the file + /// metadata. The default GeoCrsContext will record such values and return the required + /// string that can be placed into the 'crs' of the Geometry or Geography logical + /// type. + virtual std::string GetParquetCrs(std::string crs_value, Review Comment: Removed! -- 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: github-unsubscr...@arrow.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org