Struct PointBuilder

Source
pub struct PointBuilder { /* private fields */ }
Expand description

The GeoArrow equivalent to Vec<Option<Point>>: a mutable collection of Points.

Converting an PointBuilder into a PointArray is O(1).

Implementations§

Source§

impl PointBuilder

Source

pub fn new(typ: PointType) -> Self

Creates a new empty PointBuilder.

Source

pub fn with_capacity(typ: PointType, capacity: usize) -> Self

Creates a new PointBuilder with a capacity.

Source

pub fn reserve(&mut self, additional: usize)

Reserves capacity for at least additional more points to be inserted in the given Vec<T>. The collection may reserve more space to speculatively avoid frequent reallocations. After calling reserve, capacity will be greater than or equal to self.len() + additional. Does nothing if capacity is already sufficient.

Source

pub fn reserve_exact(&mut self, additional: usize)

Reserves the minimum capacity for at least additional more points.

Unlike reserve, this will not deliberately over-allocate to speculatively avoid frequent allocations. After calling reserve_exact, capacity will be greater than or equal to self.len() + additional. Does nothing if the capacity is already sufficient.

Note that the allocator may give the collection more space than it requests. Therefore, capacity can not be relied upon to be precisely minimal. Prefer reserve if future insertions are expected.

Source

pub fn finish(self) -> PointArray

Consume the builder and convert to an immutable PointArray

Source

pub fn push_coord(&mut self, value: Option<&impl CoordTrait<T = f64>>)

Add a new coord to the end of this array, interpreting the coord as a non-empty point.

§Panics
  • If the added coordinate does not have the same dimension as the point array.
Source

pub fn push_point(&mut self, value: Option<&impl PointTrait<T = f64>>)

Add a new point to the end of this array.

§Panics
  • If the added point does not have the same dimension as the point array.
Source

pub fn try_push_coord( &mut self, value: Option<&impl CoordTrait<T = f64>>, ) -> GeoArrowResult<()>

Add a new coord to the end of this array, where the coord is a non-empty point

§Errors
  • If the added coordinate does not have the same dimension as the point array.
Source

pub fn try_push_point( &mut self, value: Option<&impl PointTrait<T = f64>>, ) -> GeoArrowResult<()>

Add a new point to the end of this array.

§Errors
  • If the added point does not have the same dimension as the point array.
Source

pub fn push_empty(&mut self)

Add a valid but empty point to the end of this array.

Source

pub fn push_null(&mut self)

Add a new null value to the end of this array.

Source

pub fn push_geometry( &mut self, value: Option<&impl GeometryTrait<T = f64>>, ) -> GeoArrowResult<()>

Add a new geometry to this builder

This will error if the geometry type is not Point or a MultiPoint with length 1.

Source

pub fn extend_from_iter<'a>( &mut self, geoms: impl Iterator<Item = Option<&'a (impl PointTrait<T = f64> + 'a)>>, )

Extend this builder with the given geometries

Source

pub fn extend_from_geometry_iter<'a>( &mut self, geoms: impl Iterator<Item = Option<&'a (impl GeometryTrait<T = f64> + 'a)>>, ) -> GeoArrowResult<()>

Extend this builder with the given geometries

Source

pub fn from_points<'a>( geoms: impl ExactSizeIterator<Item = &'a (impl PointTrait<T = f64> + 'a)>, typ: PointType, ) -> Self

Construct a new builder, pre-filling it with the provided geometries

Source

pub fn from_nullable_points<'a>( geoms: impl ExactSizeIterator<Item = Option<&'a (impl PointTrait<T = f64> + 'a)>>, typ: PointType, ) -> Self

Construct a new builder, pre-filling it with the provided geometries

Source

pub fn from_nullable_geometries( geoms: &[Option<impl GeometryTrait<T = f64>>], typ: PointType, ) -> GeoArrowResult<Self>

Construct a new builder, pre-filling it with the provided geometries

Trait Implementations§

Source§

impl Debug for PointBuilder

Source§

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

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

impl<O: OffsetSizeTrait> TryFrom<(GenericWkbArray<O>, PointType)> for PointBuilder

Source§

type Error = GeoArrowError

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

fn try_from( (value, typ): (GenericWkbArray<O>, PointType), ) -> GeoArrowResult<Self>

Performs the conversion.

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