//获得转换的方法和转换的参数 private void GetTnsInfo(ref string strMethod, ref IVariantArray pArray) { pArray = new VarArrayClass(); if (this.cmboTnsMethod.SelectedIndex < 0) { return; } DataTable dt = this.dtTns.DataSource as DataTable; strMethod = this.cmboTnsMethod.Text; if (strMethod == "基于地心三参数转换法") { pArray.Add("PARAMETER['X_Axis_Translation'," + GetTnsValue("X偏移(米)", dt).ToString() + "]"); pArray.Add("PARAMETER['Y_Axis_Translation'," + GetTnsValue("Y偏移(米)", dt).ToString() + "]"); pArray.Add("PARAMETER['Z_Axis_Translation'," + GetTnsValue("Z偏移(米)", dt).ToString() + "]"); } else if (strMethod == "位置矢量法") { pArray.Add("PARAMETER['X_Axis_Translation'," + GetTnsValue("X偏移(米)", dt).ToString() + "]"); pArray.Add("PARAMETER['Y_Axis_Translation'," + GetTnsValue("Y偏移(米)", dt).ToString() + "]"); pArray.Add("PARAMETER['Z_Axis_Translation'," + GetTnsValue("Z偏移(米)", dt).ToString() + "]"); pArray.Add("PARAMETER['X_Axis_Rotation'," + GetTnsValue("X旋转(秒)", dt).ToString() + "]"); pArray.Add("PARAMETER['Y_Axis_Rotation'," + GetTnsValue("Y旋转(秒)", dt).ToString() + "]"); pArray.Add("PARAMETER['Z_Axis_Rotation'," + GetTnsValue("Z旋转(秒)", dt).ToString() + "]"); pArray.Add("PARAMETER['Scale_Difference'," + GetTnsValue("比例因子(百万分率)", dt).ToString() + "]"); } else if (strMethod == "") { } string strArr = ""; for (int i = 0; i < pArray.Count; i++) { string strTemp = pArray.get_Element(i).ToString(); if (strArr == "") { strArr = strTemp; } else { strArr = strArr + "," + strTemp; } } strMethod = "GEOGTRAN[METHOD['" + GetMethod(strMethod) + "']," + strArr; }