pub struct FeatureRef<'a> {
pub id: Option<u64>,
pub geometry: Geom32,
/* private fields */
}Expand description
A single map feature returned by Layer01FeatureIter.
The internal columnar layout is private; use iter_properties
and get_property to access property values.
Fields§
§id: Option<u64>Optional feature ID.
geometry: Geom32Geometry in Geom32 form (owned, computed on demand by the iterator).
Implementations§
Source§impl<'a> FeatureRef<'a>
impl<'a> FeatureRef<'a>
Sourcepub fn iter_all_properties(&self) -> FeatValuesIter<'a> ⓘ
pub fn iter_all_properties(&self) -> FeatValuesIter<'a> ⓘ
Iterate over every property slot for this feature, values only, in column order.
Yields Option<PropValueRef>:
Some(value)— the slot contains a non-null value.None— the slot is null / absent.
The outer Option from Iterator::next signals end-of-iteration as usual.
Use Layer01::iterate_prop_names to pair values with their column names.
Sourcepub fn iter_properties(&self) -> FeatPropertyIter<'a> ⓘ
pub fn iter_properties(&self) -> FeatPropertyIter<'a> ⓘ
Iterate over all non-null properties for this feature.
SharedDict columns are transparently expanded into one ColumnRef per sub-item.
Null / absent values are skipped entirely. The iterator is infallible.
Sourcepub fn get_property(&self, name: &str) -> Option<PropValueRef<'a>>
pub fn get_property(&self, name: &str) -> Option<PropValueRef<'a>>
Look up a property by name, returning its value if present and non-null.
For SharedDict columns the expected name is "{prefix}{suffix}", matching
the key used by iter_properties.
Trait Implementations§
Auto Trait Implementations§
impl<'a> Freeze for FeatureRef<'a>
impl<'a> RefUnwindSafe for FeatureRef<'a>
impl<'a> Send for FeatureRef<'a>
impl<'a> Sync for FeatureRef<'a>
impl<'a> Unpin for FeatureRef<'a>
impl<'a> UnsafeUnpin for FeatureRef<'a>
impl<'a> UnwindSafe for FeatureRef<'a>
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
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more