private static StaticCoordinateOperationCompiler.StepCompilationResult CreateGeographicOffset(TransformationCompilationParams opData) { Contract.Requires(opData != null); var latParam = new KeywordNamedParameterSelector("LAT"); var lonParam = new KeywordNamedParameterSelector("LON"); var heightParam = new KeywordNamedParameterSelector("HEIGHT"); opData.ParameterLookup.Assign(latParam, lonParam); var deltaLatitude = 0.0; var deltaLongitude = 0.0; var deltaHeight = 0.0; if (!latParam.IsSelected && !lonParam.IsSelected && !heightParam.IsSelected) { return(null); } if (latParam.IsSelected) { TryGetDouble(latParam.Selection, opData.StepParams.InputUnit, out deltaLatitude); } if (lonParam.IsSelected) { TryGetDouble(lonParam.Selection, opData.StepParams.InputUnit, out deltaLongitude); } if (heightParam.IsSelected) { NamedParameter.TryGetDouble(heightParam.Selection, out deltaHeight); } var transformation = new GeographicOffset(deltaLatitude, deltaLongitude, deltaHeight); return(new StaticCoordinateOperationCompiler.StepCompilationResult( opData.StepParams, opData.StepParams.InputUnit, transformation)); }
private static StaticCoordinateOperationCompiler.StepCompilationResult CreateGeographicOffset(TransformationCompilationParams opData) { Contract.Requires(opData != null); var latParam = new KeywordNamedParameterSelector("LAT"); var lonParam = new KeywordNamedParameterSelector("LON"); var heightParam = new KeywordNamedParameterSelector("HEIGHT"); opData.ParameterLookup.Assign(latParam, lonParam); var deltaLatitude = 0.0; var deltaLongitude = 0.0; var deltaHeight = 0.0; if (!latParam.IsSelected && !lonParam.IsSelected && !heightParam.IsSelected) return null; if (latParam.IsSelected) TryGetDouble(latParam.Selection, opData.StepParams.InputUnit, out deltaLatitude); if (lonParam.IsSelected) TryGetDouble(lonParam.Selection, opData.StepParams.InputUnit, out deltaLongitude); if (heightParam.IsSelected) NamedParameter.TryGetDouble(heightParam.Selection, out deltaHeight); var transformation = new GeographicOffset(deltaLatitude, deltaLongitude, deltaHeight); return new StaticCoordinateOperationCompiler.StepCompilationResult( opData.StepParams, opData.StepParams.InputUnit, transformation); }