Guest User

Untitled

a guest
Apr 25th, 2018
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.58 KB | None | 0 0
  1. public void RunMergeGeoProcess(ILayer SourceLayer1, ILayer SourceLayer2, string ResultFeatureClassName, string GeoDBAbsFileName)
  2. {
  3.  
  4. IFeatureLayer featureLayerSource1 = (IFeatureLayer)SourceLayer1;
  5. IFeatureLayer featureLayerSource2 = (IFeatureLayer)SourceLayer2;
  6.  
  7.  
  8. _geoProcessor.SetEnvironmentValue("Workspace", GeoDBAbsFileName);
  9. //_gpParams.Add(featureLayerSource1);
  10. ////_gpParams.Add(featureLayerSource2);
  11.  
  12. IWorkspace refWS = ((IDataset)featureLayerSource1.FeatureClass).Workspace;
  13. string dbPath = refWS.PathName;
  14.  
  15. IDataset myDS1 = featureLayerSource1.FeatureClass as IDataset;
  16. string mysDS1 = dbPath + "\" + myDS1.Name;
  17. IDataset myDS2 = featureLayerSource2.FeatureClass as IDataset;
  18. string mysDS2 = dbPath + "\"+ myDS2.Name;
  19.  
  20. string myResult = dbPath + "\" + ResultFeatureClassName;
  21.  
  22. string param1 = "[" + mysDS1 + ", " + mysDS2 + "]";
  23.  
  24. _gpParams.Add(param1);
  25. _gpParams.Add(myResult);
  26.  
  27.  
  28. try
  29. {
  30. _geoProcessor.OverwriteOutput = true;
  31. _geoProcessor.Execute("Merge_management", _gpParams, null);
  32. //returnMessages(_geoProcessor);
  33. }
  34. catch (Exception ex)
  35. {
  36. MessageBox.Show("There was a GeoProcessing Error." + ex.ToString());
  37. returnMessages(_geoProcessor);
  38. }
  39.  
  40. _gpParams.RemoveAll();
  41.  
  42. }
  43.  
  44. public void RunMergeGeoProcess(ILayer SourceLayer1, ILayer SourceLayer2, string ResultFeatureClassName, string GeoDBAbsFileName)
  45. {
  46.  
  47. IFeatureLayer featureLayerSource1 = (IFeatureLayer)SourceLayer1;
  48. IFeatureLayer featureLayerSource2 = (IFeatureLayer)SourceLayer2;
  49.  
  50. _geoProcessor.SetEnvironmentValue("Workspace", GeoDBAbsFileName);
  51.  
  52. IWorkspace refWS = ((IDataset)featureLayerSource1.FeatureClass).Workspace;
  53. string dbPath = refWS.PathName;
  54.  
  55. IDataset myDS1 = featureLayerSource1.FeatureClass as IDataset;
  56. string mysDS1 = dbPath + "\" + myDS1.Name;
  57. IDataset myDS2 = featureLayerSource2.FeatureClass as IDataset;
  58. string mysDS2 = dbPath + "\" + myDS2.Name;
  59.  
  60. string myResult = dbPath + "\" + ResultFeatureClassName;
  61. string param1 = mysDS2 + ";" + mysDS1 ;
  62. _gpParams.Add(param1);
  63. _gpParams.Add(myResult);
  64.  
  65. try
  66. {
  67. _geoProcessor.OverwriteOutput = true;
  68. _geoProcessor.Execute("Merge_management", _gpParams, null);
  69. //returnMessages(_geoProcessor);
  70. }
  71. catch (Exception ex)
  72. {
  73. MessageBox.Show("There was a GeoProcessing Error during the Merge Operation." + ex.ToString());
  74. //returnMessages(_geoProcessor);
  75. }
  76.  
  77. _gpParams.RemoveAll();
  78.  
  79. }
  80.  
  81. private void Intersect(List<string> LayerNames, string OutputLayerLocation)
  82. {
  83. Intersect inter;
  84. StringBuilder sb;
  85. Geoprocessor gg;
  86.  
  87. sb = new StringBuilder();
  88.  
  89. foreach (string LayerName in LayerNames)
  90. {
  91. sb.Append(LayerName);
  92. sb.Append(";");
  93. }
  94.  
  95. sb.Length--;
  96.  
  97. inter = new Intersect();
  98. inter.in_features = sb.ToString();
  99. inter.out_feature_class = OutputLayerLocation;
  100.  
  101. gg = new Geoprocessor();
  102. gg.OverwriteOutput = true;
  103. gg.ProgressChanged += new EventHandler<ESRI.ArcGIS.Geoprocessor.ProgressChangedEventArgs>(gg_ProgressChanged);
  104. gg.ToolExecuted += new EventHandler<ToolExecutedEventArgs>(gg_ToolExecuted);
  105. gg.MessagesCreated += new EventHandler<MessagesCreatedEventArgs>(gg_MessagesCreated);
  106.  
  107. gg.ExecuteAsync(inter);
  108. }
Add Comment
Please, Sign In to add comment