In ArcObjects, we could call ISpatialReferenceFactory2::get_GeoTransformationDefaults() and then IGeoTransformationOperationSet::Set() to add GeoTransformations. Following that, calling Project() either explicitly or implicitly (e.g. when fetching a Raster with a different Spatial Reference) would use these as appropriate depending on the GCS of the Spatial References. Calling ProjectEx() was not required, and anyway would not be used in the implicit cases.
(In our particular case, we currently only need for an OSGB <-> WGS84 transform (e.g. esriSRGeoTransformation_OSGB1936_To_WGS1984Petrol) to be applied when converting between 27700 and 4326).
Is there an equivalent available in ArcGIS Pro SDK?
Is it on the roadmap to be added in future? It was an extremely useful feature, especially when there wasn't a call to Project() in our code that could be replaced with ProjectEx().
I have found when using e.g. ProjectionTransformation.Create(sr27700, sr4326) that "OSGB_1936_To_WGS_1984_7" is automatically added as the Transformation (and, when the parameters are swapped, IsForward correctly set to false ). This, actually, should be sufficient for our needs so long as the same Transformation selection will also occur and be applied when e.g. requesting a Raster as BNG from a WebMercator Raster Dataset with, say:
Raster raster = rasterDataset.CreateFullRaster(); // e.g. from WebMercator dataset
Envelope ext = EnvelopeBuilder.CreateEnvelope(400000, 100000, 450000, 150000, sr27700);
ProjectionTransformation.CreateFromEnvironment(sr27700, sr4326), however, returns with the Transformation list empty. Also, its documentation page refers to IGeoTransformationOperationSet::Set !