Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public void RunMergeGeoProcess(ILayer SourceLayer1, ILayer SourceLayer2, string ResultFeatureClassName, string GeoDBAbsFileName)
- {
- IFeatureLayer featureLayerSource1 = (IFeatureLayer)SourceLayer1;
- IFeatureLayer featureLayerSource2 = (IFeatureLayer)SourceLayer2;
- _geoProcessor.SetEnvironmentValue("Workspace", GeoDBAbsFileName);
- //_gpParams.Add(featureLayerSource1);
- ////_gpParams.Add(featureLayerSource2);
- IWorkspace refWS = ((IDataset)featureLayerSource1.FeatureClass).Workspace;
- string dbPath = refWS.PathName;
- IDataset myDS1 = featureLayerSource1.FeatureClass as IDataset;
- string mysDS1 = dbPath + "\" + myDS1.Name;
- IDataset myDS2 = featureLayerSource2.FeatureClass as IDataset;
- string mysDS2 = dbPath + "\"+ myDS2.Name;
- string myResult = dbPath + "\" + ResultFeatureClassName;
- string param1 = "[" + mysDS1 + ", " + mysDS2 + "]";
- _gpParams.Add(param1);
- _gpParams.Add(myResult);
- try
- {
- _geoProcessor.OverwriteOutput = true;
- _geoProcessor.Execute("Merge_management", _gpParams, null);
- //returnMessages(_geoProcessor);
- }
- catch (Exception ex)
- {
- MessageBox.Show("There was a GeoProcessing Error." + ex.ToString());
- returnMessages(_geoProcessor);
- }
- _gpParams.RemoveAll();
- }
- public void RunMergeGeoProcess(ILayer SourceLayer1, ILayer SourceLayer2, string ResultFeatureClassName, string GeoDBAbsFileName)
- {
- IFeatureLayer featureLayerSource1 = (IFeatureLayer)SourceLayer1;
- IFeatureLayer featureLayerSource2 = (IFeatureLayer)SourceLayer2;
- _geoProcessor.SetEnvironmentValue("Workspace", GeoDBAbsFileName);
- IWorkspace refWS = ((IDataset)featureLayerSource1.FeatureClass).Workspace;
- string dbPath = refWS.PathName;
- IDataset myDS1 = featureLayerSource1.FeatureClass as IDataset;
- string mysDS1 = dbPath + "\" + myDS1.Name;
- IDataset myDS2 = featureLayerSource2.FeatureClass as IDataset;
- string mysDS2 = dbPath + "\" + myDS2.Name;
- string myResult = dbPath + "\" + ResultFeatureClassName;
- string param1 = mysDS2 + ";" + mysDS1 ;
- _gpParams.Add(param1);
- _gpParams.Add(myResult);
- try
- {
- _geoProcessor.OverwriteOutput = true;
- _geoProcessor.Execute("Merge_management", _gpParams, null);
- //returnMessages(_geoProcessor);
- }
- catch (Exception ex)
- {
- MessageBox.Show("There was a GeoProcessing Error during the Merge Operation." + ex.ToString());
- //returnMessages(_geoProcessor);
- }
- _gpParams.RemoveAll();
- }
- private void Intersect(List<string> LayerNames, string OutputLayerLocation)
- {
- Intersect inter;
- StringBuilder sb;
- Geoprocessor gg;
- sb = new StringBuilder();
- foreach (string LayerName in LayerNames)
- {
- sb.Append(LayerName);
- sb.Append(";");
- }
- sb.Length--;
- inter = new Intersect();
- inter.in_features = sb.ToString();
- inter.out_feature_class = OutputLayerLocation;
- gg = new Geoprocessor();
- gg.OverwriteOutput = true;
- gg.ProgressChanged += new EventHandler<ESRI.ArcGIS.Geoprocessor.ProgressChangedEventArgs>(gg_ProgressChanged);
- gg.ToolExecuted += new EventHandler<ToolExecutedEventArgs>(gg_ToolExecuted);
- gg.MessagesCreated += new EventHandler<MessagesCreatedEventArgs>(gg_MessagesCreated);
- gg.ExecuteAsync(inter);
- }
Add Comment
Please, Sign In to add comment