laptop and a wrench

Bug

IAffineTransformation2D3GEN::TransformPointsFF method returns incorrect results in ArcGIS 9.3.

Last Published: August 25, 2014 ArcGIS for Desktop
Bug ID Number NIM052295
SubmittedDecember 22, 2009
Last ModifiedJune 5, 2024
Applies toArcGIS for Desktop
Version found9.3.1
Program languageC#
StatusWill Not Be Addressed

Additional Information

No Public Explanation

Workaround

There is a workaround that can be used with the versions of the software that they have. Instead of accessing the TransformPointsFF method through the IAffineTransformation2D3GEN interface, they need to access it through the ITransformationGEN interface. I have verified that this works in a 931 debug build. I’ve attached the relevant portion of their sample code, with the modification applied in red.Please let me know if this works for them. Please forward my apologies to AED-SICAD and ESRI Germany for the problems caused by this. IAffineTransformation2D3GEN IAffineTransformation = new AffineTransformation2DClass(); IAffineTransformation.DefineFromControlPoints(ref fromPoints, ref toPoints); ITransformationGEN t = (ITransformationGEN)IAffineTransformation; double fromError = 0, toError = 0; for (int j = 0; j < fromPoints.Length; j++) { IAffineTransformation.GetControlPointError(j, ref fromError, ref toError); dataGridView1["ErrE", j].Value = ToString(fromError, 3); dataGridView1["ErrN", j].Value = ToString(toError, 3); } // Punkte sammeln/collect coordinate values to be transformed. List<double> pointsInList = new List<double>(); foreach (DataGridViewRow row in dataGridView2.Rows) { // Von/From points IPoint point1000 = new PointClass(); pointsInList.Add(ToDouble(row.Cells["Easting3"].Value as string, 0)); pointsInList.Add(ToDouble(row.Cells["Northing3"].Value as string, 0)); } // Transform double[] pointsIn = pointsInList.ToArray(); double[] pointsOut = new double[pointsIn.Length]; // Initialize with an arbitrary value for (int j = 0; j < pointsOut.Length; j++) pointsOut[j] = j; //IAffineTransformation.TransformPointsFF(esriTransformDirection.esriTransformForward, ref pointsIn, ref pointsOut); t.TransformPointsFF(esriTransformDirection.esriTransformForward, ref pointsIn, ref pointsOut);

Steps to Reproduce

Bug ID: NIM052295

Software:

  • ArcGIS for Desktop

Get notified when the status of a bug changes

Download the Esri Support App

Discover more on this topic

Get help from ArcGIS experts

Contact technical support

Download the Esri Support App

Go to download options