// Function to get suitable datum transformations for the specified input and output spatial references. private void GetSuitableTransformations(SpatialReference inSpatialRef, SpatialReference outSpatialRef, bool considerExtent) { // Get suitable transformations. Use the current extent to evaluate suitability, if requested. IReadOnlyList <DatumTransformation> transformations; if (considerExtent) { Envelope currentExtent = _myMapView.GetCurrentViewpoint(ViewpointType.BoundingGeometry).TargetGeometry as Envelope; transformations = TransformationCatalog.GetTransformationsBySuitability(inSpatialRef, outSpatialRef, currentExtent); } else { transformations = TransformationCatalog.GetTransformationsBySuitability(inSpatialRef, outSpatialRef); } // Get the default transformation for the specified input and output spatial reference. DatumTransformation defaultTransform = TransformationCatalog.GetTransformation(inSpatialRef, outSpatialRef); // Create a picker model to display the updated transformations. TransformationsPickerModel pickerModel = new TransformationsPickerModel(transformations, defaultTransform); // Handle the selection event to work with the selected transformation. pickerModel.TransformationSelected += TransformationsPicker_TransformationSelected; // Apply the model to the picker. _transformationsPicker.Model = pickerModel; }
// Function to get suitable datum transformations for the specified input and output spatial references. private void GetSuitableTransformations(SpatialReference inSpatialRef, SpatialReference outSpatialRef, bool considerExtent) { // Get suitable transformations. Use the current extent to evaluate suitability, if requested. IReadOnlyList <DatumTransformation> transformations; if (considerExtent) { Envelope currentExtent = MyMapView.GetCurrentViewpoint(ViewpointType.BoundingGeometry).TargetGeometry as Envelope; transformations = TransformationCatalog.GetTransformationsBySuitability(inSpatialRef, outSpatialRef, currentExtent); } else { transformations = TransformationCatalog.GetTransformationsBySuitability(inSpatialRef, outSpatialRef); } // Get the default transformation for the specified input and output spatial reference. DatumTransformation defaultTransform = TransformationCatalog.GetTransformation(inSpatialRef, outSpatialRef); // Reset list. SuitableTransformationsList.Clear(); // Wrap the transformations in a class that includes a boolean to indicate if it's the default transformation. foreach (DatumTransformation transform in transformations) { DatumTransformationListBoxItem item = new DatumTransformationListBoxItem(transform) { IsDefault = (transform.Name == defaultTransform.Name) }; SuitableTransformationsList.Add(item); } }
// Function to get suitable datum transformations for the specified input and output spatial references. private void GetSuitableTransformations(SpatialReference inSpatialRef, SpatialReference outSpatialRef, bool considerExtent) { // Get suitable transformations. Use the current extent to evaluate suitability, if requested. IReadOnlyList <DatumTransformation> transformations; if (considerExtent) { Envelope currentExtent = _myMapView.GetCurrentViewpoint(ViewpointType.BoundingGeometry).TargetGeometry as Envelope; transformations = TransformationCatalog.GetTransformationsBySuitability(inSpatialRef, outSpatialRef, currentExtent); } else { transformations = TransformationCatalog.GetTransformationsBySuitability(inSpatialRef, outSpatialRef); } // Get the default transformation for the specified input and output spatial reference. DatumTransformation defaultTransform = TransformationCatalog.GetTransformation(inSpatialRef, outSpatialRef); // Create a list of transformations. List <DatumTransformation> transformsList = new List <DatumTransformation>(); foreach (DatumTransformation transformation in transformations) { transformsList.Add(transformation); } // Create an adapter for showing the spinner list. TransformationsAdapter transformationsAdapter = new TransformationsAdapter(this, transformsList) { DefaultTransformation = defaultTransform }; // Apply the adapter to the spinner. _transformationsPicker.Adapter = transformationsAdapter; }