pub struct SelectionOptions {
pub area_of_interest: Option<AreaOfInterest>,
pub area_bounds_densify_points: usize,
pub policy: SelectionPolicy,
pub grid_provider: Option<Arc<dyn GridProvider>>,
pub vertical_grid_operations: Vec<VerticalGridOperation>,
}Fields§
§area_of_interest: Option<AreaOfInterest>§area_bounds_densify_points: usizeIntermediate points sampled per edge when source/target CRS AOI bounds are normalized to geographic degrees for operation selection.
Values above crate::MAX_BOUNDS_DENSIFY_POINTS are rejected during
transform construction.
policy: SelectionPolicy§grid_provider: Option<Arc<dyn GridProvider>>§vertical_grid_operations: Vec<VerticalGridOperation>Implementations§
Source§impl SelectionOptions
impl SelectionOptions
Sourcepub fn with_area_of_interest(self, area_of_interest: AreaOfInterest) -> Self
pub fn with_area_of_interest(self, area_of_interest: AreaOfInterest) -> Self
Set the area of interest used for operation ranking and filtering.
Sourcepub fn with_area_bounds_densify_points(self, densify_points: usize) -> Self
pub fn with_area_bounds_densify_points(self, densify_points: usize) -> Self
Set how many intermediate points are sampled on each AOI bounds edge when source/target CRS bounds are converted to geographic degrees.
Values above crate::MAX_BOUNDS_DENSIFY_POINTS are rejected during
transform construction.
Sourcepub fn with_policy(self, policy: SelectionPolicy) -> Self
pub fn with_policy(self, policy: SelectionPolicy) -> Self
Set the operation selection policy.
Sourcepub fn best_available(self) -> Self
pub fn best_available(self) -> Self
Select the best supported registry or exact synthetic operation.
This is the default policy. It does not synthesize approximate Helmert fallbacks.
Sourcepub fn require_grids(self) -> Self
pub fn require_grids(self) -> Self
Require a grid-backed datum operation when a datum operation is needed.
Sourcepub fn require_exact_area_match(self) -> Self
pub fn require_exact_area_match(self) -> Self
Require selected operations to match the configured area of interest.
Sourcepub fn allow_approximate_helmert_fallback(self) -> Self
pub fn allow_approximate_helmert_fallback(self) -> Self
Allow approximate Helmert fallback operations when no better supported operation is available.
This opt-in policy can synthesize a last-resort Helmert operation from
source and target datum metadata. The selected operation is marked
approximate in operation metadata and diagnostics.
Sourcepub fn with_operation(self, operation_id: CoordinateOperationId) -> Self
pub fn with_operation(self, operation_id: CoordinateOperationId) -> Self
Select a specific registry operation by id.
Sourcepub fn with_grid_provider(self, provider: Arc<dyn GridProvider>) -> Self
pub fn with_grid_provider(self, provider: Arc<dyn GridProvider>) -> Self
Set the grid provider used to resolve grid-backed horizontal and vertical operations.
Sourcepub fn with_vertical_grid_operation(
self,
operation: VerticalGridOperation,
) -> Self
pub fn with_vertical_grid_operation( self, operation: VerticalGridOperation, ) -> Self
Add one explicit vertical grid operation candidate.
Sourcepub fn with_vertical_grid_operations(
self,
operations: impl IntoIterator<Item = VerticalGridOperation>,
) -> Self
pub fn with_vertical_grid_operations( self, operations: impl IntoIterator<Item = VerticalGridOperation>, ) -> Self
Add explicit vertical grid operation candidates.
pub fn inverse(&self) -> Self
Trait Implementations§
Source§impl Clone for SelectionOptions
impl Clone for SelectionOptions
Source§fn clone(&self) -> SelectionOptions
fn clone(&self) -> SelectionOptions
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl !RefUnwindSafe for SelectionOptions
impl !UnwindSafe for SelectionOptions
impl Freeze for SelectionOptions
impl Send for SelectionOptions
impl Sync for SelectionOptions
impl Unpin for SelectionOptions
impl UnsafeUnpin for SelectionOptions
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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