pub struct PointBuilder {
    pub coords: CoordBufferBuilder,
    pub validity: NullBufferBuilder,
    /* 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).

Fields§

§coords: CoordBufferBuilder§validity: NullBufferBuilder

Implementations§

source§

impl PointBuilder

source

pub fn new() -> Self

Creates a new empty PointBuilder.

source

pub fn new_with_options( coord_type: CoordType, metadata: Arc<ArrayMetadata> ) -> Self

source

pub fn with_capacity(capacity: usize) -> Self

Creates a new PointBuilder with a capacity.

source

pub fn with_capacity_and_options( capacity: usize, coord_type: CoordType, metadata: Arc<ArrayMetadata> ) -> 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 to be inserted in the given Vec<T>. 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 try_new( coords: CoordBufferBuilder, validity: NullBufferBuilder, metadata: Arc<ArrayMetadata> ) -> Result<Self>

The canonical method to create a PointBuilder out of its internal components.

Implementation

This function is O(1).

Errors

This function errors iff:

  • The validity is not None and its length is different from the number of geometries
source

pub fn into_inner(self) -> (CoordBufferBuilder, NullBufferBuilder)

Extract the low-level APIs from the PointBuilder.

source

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

Add a new point to the end of this 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>> ) -> Result<()>

source

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

source

pub fn from_points<'a>( geoms: impl ExactSizeIterator + Iterator<Item = &'a (impl PointTrait<T = f64> + 'a)>, coord_type: Option<CoordType>, metadata: Arc<ArrayMetadata> ) -> Self

source

pub fn from_nullable_points<'a>( geoms: impl ExactSizeIterator + Iterator<Item = Option<&'a (impl PointTrait<T = f64> + 'a)>>, coord_type: Option<CoordType>, metadata: Arc<ArrayMetadata> ) -> Self

source

pub fn finish(self) -> PointArray

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 Default for PointBuilder

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<G: PointTrait<T = f64>> From<&[G]> for PointBuilder

source§

fn from(value: &[G]) -> Self

Converts to this type from the input type.
source§

impl From<PointBuilder> for Arc<dyn Array>

source§

fn from(arr: PointBuilder) -> Self

Converts to this type from the input type.
source§

impl From<PointBuilder> for PointArray

source§

fn from(other: PointBuilder) -> Self

Converts to this type from the input type.
source§

impl<G: PointTrait<T = f64>> From<Vec<'_, G>> for PointBuilder

source§

fn from(geoms: Vec<'_, G>) -> Self

Converts to this type from the input type.
source§

impl<G: PointTrait<T = f64>> From<Vec<'_, Option<G>>> for PointBuilder

source§

fn from(geoms: Vec<'_, Option<G>>) -> Self

Converts to this type from the input type.
source§

impl<G: PointTrait<T = f64>> From<Vec<Option<G>>> for PointBuilder

source§

fn from(geoms: Vec<Option<G>>) -> Self

Converts to this type from the input type.
source§

impl GeomProcessor for PointBuilder

source§

fn empty_point(&mut self, idx: usize) -> Result<()>

Process empty coordinates, like WKT’s POINT EMPTY
source§

fn xy(&mut self, x: f64, y: f64, _idx: usize) -> Result<()>

Process coordinate with x,y dimensions
source§

fn geometrycollection_begin(&mut self, size: usize, idx: usize) -> Result<()>

Begin of GeometryCollection processing
source§

fn circularstring_begin(&mut self, size: usize, idx: usize) -> Result<()>

Begin of CircularString processing Read more
source§

fn compoundcurve_begin(&mut self, size: usize, idx: usize) -> Result<()>

Begin of CompoundCurve processing Read more
source§

fn tin_begin(&mut self, size: usize, idx: usize) -> Result<()>

Begin of Tin processing Read more
source§

fn polygon_begin(&mut self, tagged: bool, size: usize, idx: usize) -> Result<()>

Begin of Polygon processing Read more
source§

fn triangle_begin( &mut self, tagged: bool, size: usize, idx: usize ) -> Result<()>

Begin of Triangle processing Read more
source§

fn linestring_begin( &mut self, tagged: bool, size: usize, idx: usize ) -> Result<()>

Begin of LineString processing Read more
source§

fn multipoint_begin(&mut self, size: usize, idx: usize) -> Result<()>

Begin of MultiPoint processing Read more
source§

fn curvepolygon_begin(&mut self, size: usize, idx: usize) -> Result<()>

Begin of CurvePolygon processing Read more
source§

fn multipolygon_begin(&mut self, size: usize, idx: usize) -> Result<()>

Begin of MultiPolygon processing Read more
source§

fn multisurface_begin(&mut self, size: usize, idx: usize) -> Result<()>

Begin of MultiSurface processing Read more
source§

fn multilinestring_begin(&mut self, size: usize, idx: usize) -> Result<()>

Begin of MultiLineString processing Read more
source§

fn polyhedralsurface_begin(&mut self, size: usize, idx: usize) -> Result<()>

Begin of PolyhedralSurface processing Read more
source§

fn dimensions(&self) -> CoordDimensions

Additional dimensions requested when processing coordinates
source§

fn multi_dim(&self) -> bool

Request additional dimensions for coordinate processing
source§

fn srid(&mut self, srid: Option<i32>) -> Result<(), GeozeroError>

SRID of geometries Read more
source§

fn coordinate( &mut self, x: f64, y: f64, z: Option<f64>, m: Option<f64>, t: Option<f64>, tm: Option<u64>, idx: usize ) -> Result<(), GeozeroError>

Process coordinate with all requested dimensions
source§

fn point_begin(&mut self, idx: usize) -> Result<(), GeozeroError>

Begin of Point processing Read more
source§

fn point_end(&mut self, idx: usize) -> Result<(), GeozeroError>

End of Point processing
source§

fn multipoint_end(&mut self, idx: usize) -> Result<(), GeozeroError>

End of MultiPoint processing
source§

fn linestring_end( &mut self, tagged: bool, idx: usize ) -> Result<(), GeozeroError>

End of LineString processing
source§

fn multilinestring_end(&mut self, idx: usize) -> Result<(), GeozeroError>

End of MultiLineString processing
source§

fn polygon_end(&mut self, tagged: bool, idx: usize) -> Result<(), GeozeroError>

End of Polygon processing
source§

fn multipolygon_end(&mut self, idx: usize) -> Result<(), GeozeroError>

End of MultiPolygon processing
source§

fn geometrycollection_end(&mut self, idx: usize) -> Result<(), GeozeroError>

End of GeometryCollection processing
source§

fn circularstring_end(&mut self, idx: usize) -> Result<(), GeozeroError>

End of CircularString processing
source§

fn compoundcurve_end(&mut self, idx: usize) -> Result<(), GeozeroError>

End of CompoundCurve processing
source§

fn curvepolygon_end(&mut self, idx: usize) -> Result<(), GeozeroError>

End of CurvePolygon processing
source§

fn multicurve_begin( &mut self, size: usize, idx: usize ) -> Result<(), GeozeroError>

Begin of MultiCurve processing Read more
source§

fn multicurve_end(&mut self, idx: usize) -> Result<(), GeozeroError>

End of MultiCurve processing
source§

fn multisurface_end(&mut self, idx: usize) -> Result<(), GeozeroError>

End of MultiSurface processing
source§

fn triangle_end(&mut self, tagged: bool, idx: usize) -> Result<(), GeozeroError>

End of Triangle processing
source§

fn polyhedralsurface_end(&mut self, idx: usize) -> Result<(), GeozeroError>

End of PolyhedralSurface processing
source§

fn tin_end(&mut self, idx: usize) -> Result<(), GeozeroError>

End of Tin processing
source§

impl GeometryArrayBuilder for PointBuilder

source§

fn new() -> Self

source§

fn with_geom_capacity_and_options( geom_capacity: usize, coord_type: CoordType, metadata: Arc<ArrayMetadata> ) -> Self

source§

fn set_metadata(&mut self, metadata: Arc<ArrayMetadata>)

source§

fn finish(self) -> Arc<dyn GeometryArrayTrait>

source§

fn len(&self) -> usize

The length of the array.
source§

fn validity(&self) -> &NullBufferBuilder

The optional validity of the array.
source§

fn into_array_ref(self) -> Arc<dyn Array>

source§

fn coord_type(&self) -> CoordType

Get the coordinate type of this geometry array, either interleaved or separated.
source§

fn metadata(&self) -> Arc<ArrayMetadata>

source§

fn is_empty(&self) -> bool

Whether the array is empty.
source§

fn with_geom_capacity(geom_capacity: usize) -> Self

source§

impl IntoArrow for PointBuilder

§

type ArrowArray = Arc<dyn Array>

source§

fn into_arrow(self) -> Self::ArrowArray

source§

impl<'a> TryFrom<Vec<Option<Geometry<'a>>>> for PointBuilder

§

type Error = GeoArrowError

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

fn try_from(value: Vec<Option<Geometry<'a>>>) -> Result<Self, Self::Error>

Performs the conversion.
source§

impl<O: OffsetSizeTrait> TryFrom<WKBArray<O>> for PointBuilder

§

type Error = GeoArrowError

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

fn try_from(value: WKBArray<O>) -> Result<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.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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.

§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

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

§

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

§

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.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
source§

impl<G1, G2> Within<G2> for G1
where G2: Contains<G1>,

source§

fn is_within(&self, b: &G2) -> bool

source§

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