pub struct GeometryCollectionType { /* private fields */ }
Expand description
A GeoArrow GeometryCollection type.
Refer to the GeoArrow specification.
Implementations§
Source§impl GeometryCollectionType
impl GeometryCollectionType
Sourcepub fn with_coord_type(self, coord_type: CoordType) -> Self
pub fn with_coord_type(self, coord_type: CoordType) -> Self
Change the underlying CoordType
Sourcepub fn with_dimension(self, dim: Dimension) -> Self
pub fn with_dimension(self, dim: Dimension) -> Self
Change the underlying Dimension
Sourcepub fn with_metadata(self, metadata: Arc<Metadata>) -> Self
pub fn with_metadata(self, metadata: Arc<Metadata>) -> Self
Change the underlying Metadata
Sourcepub fn coord_type(&self) -> CoordType
pub fn coord_type(&self) -> CoordType
Retrieve the underlying CoordType
Source§impl GeometryCollectionType
impl GeometryCollectionType
Sourcepub fn data_type(&self) -> DataType
pub fn data_type(&self) -> DataType
Convert to the corresponding DataType
.
use std::sync::Arc;
use arrow_schema::{DataType, Field, UnionFields, UnionMode};
use geoarrow_schema::{
Dimension, GeometryCollectionType, LineStringType, Metadata, MultiLineStringType,
MultiPointType, MultiPolygonType, PointType, PolygonType,
};
let dim = Dimension::XY;
let metadata = Arc::new(Metadata::default());
let geom_type = GeometryCollectionType::new(dim, metadata.clone());
let fields = vec![
Field::new(
"Point",
PointType::new(dim, metadata.clone()).data_type(),
true,
),
Field::new(
"LineString",
LineStringType::new(dim, metadata.clone()).data_type(),
true,
),
Field::new(
"Polygon",
PolygonType::new(dim, metadata.clone()).data_type(),
true,
),
Field::new(
"MultiPoint",
MultiPointType::new(dim, metadata.clone()).data_type(),
true,
),
Field::new(
"MultiLineString",
MultiLineStringType::new(dim, metadata.clone()).data_type(),
true,
),
Field::new(
"MultiPolygon",
MultiPolygonType::new(dim, metadata.clone()).data_type(),
true,
),
];
let type_ids = vec![1, 2, 3, 4, 5, 6];
let union_fields = UnionFields::new(type_ids, fields);
let union_data_type = DataType::Union(union_fields, UnionMode::Dense);
let geometries_field = Field::new("geometries", union_data_type, false).into();
let expected_type = DataType::List(geometries_field);
assert_eq!(geom_type.data_type(), expected_type);
Trait Implementations§
Source§impl Clone for GeometryCollectionType
impl Clone for GeometryCollectionType
Source§fn clone(&self) -> GeometryCollectionType
fn clone(&self) -> GeometryCollectionType
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Debug for GeometryCollectionType
impl Debug for GeometryCollectionType
Source§impl ExtensionType for GeometryCollectionType
impl ExtensionType for GeometryCollectionType
Source§const NAME: &'static str = "geoarrow.geometrycollection"
const NAME: &'static str = "geoarrow.geometrycollection"
The name identifying this extension type. Read more
Source§fn metadata(&self) -> &Self::Metadata
fn metadata(&self) -> &Self::Metadata
Returns a reference to the metadata of this extension type, or
&()
if
if this extension type defines no metadata (Self::Metadata=()
).Source§fn serialize_metadata(&self) -> Option<String>
fn serialize_metadata(&self) -> Option<String>
Returns the serialized representation of the metadata of this extension
type, or
None
if this extension type defines no metadata
(Self::Metadata=()
). Read moreSource§fn deserialize_metadata(
metadata: Option<&str>,
) -> Result<Self::Metadata, ArrowError>
fn deserialize_metadata( metadata: Option<&str>, ) -> Result<Self::Metadata, ArrowError>
Deserialize the metadata of this extension type from the serialized
representation of the metadata. An extension type that defines no
metadata should expect
None
for the serialized metadata and return
Ok(())
. Read moreSource§fn supports_data_type(&self, data_type: &DataType) -> Result<(), ArrowError>
fn supports_data_type(&self, data_type: &DataType) -> Result<(), ArrowError>
Returns
Ok(())
iff the given data type is supported by this extension
type.Source§impl From<GeometryCollectionType> for GeoArrowType
impl From<GeometryCollectionType> for GeoArrowType
Source§fn from(value: GeometryCollectionType) -> Self
fn from(value: GeometryCollectionType) -> Self
Converts to this type from the input type.
Source§impl Hash for GeometryCollectionType
impl Hash for GeometryCollectionType
Source§impl PartialEq for GeometryCollectionType
impl PartialEq for GeometryCollectionType
impl Eq for GeometryCollectionType
impl StructuralPartialEq for GeometryCollectionType
Auto Trait Implementations§
impl Freeze for GeometryCollectionType
impl RefUnwindSafe for GeometryCollectionType
impl Send for GeometryCollectionType
impl Sync for GeometryCollectionType
impl Unpin for GeometryCollectionType
impl UnwindSafe for GeometryCollectionType
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more