@@ -60,6 +60,19 @@ z85 = "3.0.6"
6060
6161# optional deps
6262futures = { version = " 0.3" , optional = true }
63+ # GeoArrow schema-only crate; provides geoarrow_schema::{Metadata, Crs, Edges, WkbType,
64+ # GeoArrowType} for type-safe Arrow extension metadata on geometry/geography columns in
65+ # arrow_conversion.rs. Pinned to 0.8 because geoarrow-schema 0.8 uses arrow-schema 58,
66+ # matching kernel's arrow_58 default dep.
67+ geoarrow-array = { version = " 0.8" , optional = true }
68+ geoarrow-expr-geo = { version = " 0.8" , optional = true }
69+ geoarrow-schema = { version = " 0.8" , optional = true }
70+ geo = { version = " 0.32" , optional = true }
71+ geo-traits = { version = " 0.3" , optional = true }
72+ wkb = { version = " 0.9" , optional = true }
73+ # WKT parser used by Scalar::geometry_from_wkt / geography_from_wkt. Already in Cargo.lock
74+ # transitively via geo-traits; promoting to an explicit dep keeps the version pinned.
75+ wkt = { version = " 0.14" , optional = true , default-features = false }
6376# Used for fetching direct urls (like pre-signed urls). We disable `default-tls` to avoid
6477# pulling in a second rustls crypto provider that conflicts with transitive deps (see
6578# feature-tests for a regression test). Each default-engine-* feature selects its TLS backend.
@@ -112,7 +125,7 @@ need-arrow = [] # need-arrow is a marker that the feature needs arrow dep
112125
113126arrow-57 = [" dep:arrow_57" , " dep:parquet_57" , " dep:object_store_12" ]
114127arrow-58 = [" dep:arrow_58" , " dep:parquet_58" , " dep:object_store_13" ]
115- arrow-conversion = [" need-arrow" ]
128+ arrow-conversion = [" need-arrow" , " dep:geoarrow-array " , " dep:geoarrow-schema " ]
116129arrow-expression = [" need-arrow" ]
117130
118131# Schema diffing functionality (experimental)
@@ -126,6 +139,11 @@ default-engine-base = [
126139 " futures" ,
127140 " need-arrow" ,
128141 " tokio" ,
142+ " dep:geo" ,
143+ " dep:geo-traits" ,
144+ " dep:geoarrow-expr-geo" ,
145+ " dep:wkb" ,
146+ " dep:wkt" ,
129147]
130148# default-engine-native-tls enables reqwest with the native-tls backend. If you want to use
131149# rustls instead, use 'default-engine-rustls' which has no native-tls dependency.
0 commit comments