Enum CoordBuffer

Source
pub enum CoordBuffer {
    Interleaved(InterleavedCoordBuffer),
    Separated(SeparatedCoordBuffer),
}
Expand description

An Arrow representation of an array of coordinates.

As defined in the GeoArrow spec, coordinates can either be interleaved (i.e. a single array of XYXYXY) or separated (i.e. two arrays, one XXX and another YYY).

This CoordBuffer abstracts over an InterleavedCoordBuffer and a SeparatedCoordBuffer.

For now all coordinate buffers support only two dimensions.

This is named CoordBuffer instead of CoordArray because the buffer does not store its own validity bitmask. Rather the geometry arrays that build on top of this maintain their own validity masks.

Variants§

§

Interleaved(InterleavedCoordBuffer)

Interleaved coordinates

§

Separated(SeparatedCoordBuffer)

Separated coordinates

Implementations§

Source§

impl CoordBuffer

Source

pub fn coord_type(&self) -> CoordType

The underlying coordinate type

Source

pub fn len(&self) -> usize

The length of this coordinate buffer

Source

pub fn is_empty(&self) -> bool

Whether this coordinate buffer is empty

Source

pub fn dim(&self) -> Dimension

The dimension of this coordinate buffer

Source

pub fn into_coord_type(self, coord_type: CoordType) -> Self

Convert this coordinate array into the given CoordType

This is a no-op if the coord_type matches the existing coord type. Otherwise a full clone of the underlying coordinate buffers will be performed.

Trait Implementations§

Source§

impl Clone for CoordBuffer

Source§

fn clone(&self) -> CoordBuffer

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for CoordBuffer

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl From<CoordBuffer> for ArrayRef

Source§

fn from(value: CoordBuffer) -> Self

Converts to this type from the input type.
Source§

impl From<InterleavedCoordBuffer> for CoordBuffer

Source§

fn from(value: InterleavedCoordBuffer) -> Self

Converts to this type from the input type.
Source§

impl From<SeparatedCoordBuffer> for CoordBuffer

Source§

fn from(value: SeparatedCoordBuffer) -> Self

Converts to this type from the input type.
Source§

impl PartialEq for CoordBuffer

Source§

fn eq(&self, other: &Self) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> Allocation for T
where T: RefUnwindSafe + Send + Sync,