laptop and a wrench

Erro

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

Última Publicação: August 25, 2014 ArcGIS for Desktop
Número de ID do Erro NIM052295
EnviadoDecember 22, 2009
Última ModificaçãoJune 5, 2024
Aplica-se àArcGIS for Desktop
Versão encontrada9.3.1
Idioma do programaC#
StatusWill Not Be Addressed

Informações Adicionais

No Public Explanation

Solução Provisória

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);

Etapas para Reproduzir

ID do Erro: NIM052295

Software:

  • ArcGIS for Desktop

Seja notificado quando o status de um erro mudar

Baixe o Aplicativo de Suporte da Esri

Descubra mais sobre este tema

Obtenha ajuda de especialistas do ArcGIS

Entre em contato com Suporte Técnico

Baixe o Aplicativo de Suporte da Esri

Ir para as opções de download