[][src]Trait geozero::GeomProcessor

pub trait GeomProcessor {
    fn dimensions(&self) -> CoordDimensions { ... }
fn xy(&mut self, x: f64, y: f64, idx: usize) -> Result<()> { ... }
fn coordinate(
        &mut self,
        x: f64,
        y: f64,
        z: Option<f64>,
        m: Option<f64>,
        t: Option<f64>,
        tm: Option<u64>,
        idx: usize
    ) -> Result<()> { ... }
fn point_begin(&mut self, idx: usize) -> Result<()> { ... }
fn point_end(&mut self, idx: usize) -> Result<()> { ... }
fn multipoint_begin(&mut self, size: usize, idx: usize) -> Result<()> { ... }
fn multipoint_end(&mut self, idx: usize) -> Result<()> { ... }
fn linestring_begin(
        &mut self,
        tagged: bool,
        size: usize,
        idx: usize
    ) -> Result<()> { ... }
fn linestring_end(&mut self, tagged: bool, idx: usize) -> Result<()> { ... }
fn multilinestring_begin(&mut self, size: usize, idx: usize) -> Result<()> { ... }
fn multilinestring_end(&mut self, idx: usize) -> Result<()> { ... }
fn polygon_begin(
        &mut self,
        tagged: bool,
        size: usize,
        idx: usize
    ) -> Result<()> { ... }
fn polygon_end(&mut self, tagged: bool, idx: usize) -> Result<()> { ... }
fn multipolygon_begin(&mut self, size: usize, idx: usize) -> Result<()> { ... }
fn multipolygon_end(&mut self, idx: usize) -> Result<()> { ... } }

Geometry processing trait

Provided methods

fn dimensions(&self) -> CoordDimensions

Additional dimensions requested when processing coordinates

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

Process coordinate with x,y dimensions

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

Process coordinate with all requested dimensions

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

Begin of Point processing

Next: xy/coordinate

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

End of Point processing

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

Begin of MultiPoint processing

Next: size * xy/coordinate

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

End of MultiPoint processing

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

Begin of LineString processing

An untagged LineString is either a Polygon ring or part of a MultiLineString

Next: size * xy/coordinate

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

End of LineString processing

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

Begin of MultiLineString processing

Next: size * LineString (untagged)

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

End of MultiLineString processing

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

Begin of Polygon processing

An untagged Polygon is part of a MultiPolygon

Next: size * LineString (untagged) = rings

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

End of Polygon processing

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

Begin of MultiPolygon processing

Next: size * Polygon (untagged)

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

End of MultiPolygon processing

Loading content...

Implementors

impl GeomProcessor for ProcessorSink[src]

impl<P1: FeatureProcessor, P2: FeatureProcessor> GeomProcessor for Multiplexer<P1, P2>[src]

Loading content...