/// <summary> /// 创建自定义坐标转换 /// </summary> /// <param name="trancName"></param> /// <param name="in_coor_system"></param> /// <param name="out_coor_system"></param> /// <param name="GEOGTRANString"></param> /// <param name="msgLog"></param> /// <returns></returns> public static bool GPCreateCustomGeoTransformation(string trancName, string in_coor_system, string out_coor_system, string GEOGTRANString, out string msgLog) { msgLog = string.Empty; try { ESRI.ArcGIS.DataManagementTools.CreateCustomGeoTransformation pAppend = new ESRI.ArcGIS.DataManagementTools.CreateCustomGeoTransformation(); gp.OverwriteOutput = false; pAppend.geot_name = trancName; pAppend.in_coor_system = in_coor_system; pAppend.out_coor_system = out_coor_system; pAppend.custom_geot = GEOGTRANString; gp.Execute(pAppend, null); if (!ReturnErrMessage(gp, ref msgLog)) { return(false); } } catch (Exception) { ReturnErrMessage(gp, ref msgLog); return(false); } msgLog = ""; return(true); }
//执行转换的gp private IVariantArray GetTns() { IVariantArray pTempArray = new VarArrayClass(); ESRI.ArcGIS.DataManagementTools.CreateCustomGeoTransformation tns = new ESRI.ArcGIS.DataManagementTools.CreateCustomGeoTransformation(); //tns.custom_geot = strMethod; tns.geot_name = "temp"; tns.in_coor_system = m_strInPrj; tns.out_coor_system = m_strOutPrj; Geoprocessor gp = new Geoprocessor(); gp.OverwriteOutput = true; if (!RunTool(gp, tns)) { return(null); } return(null); }