public bool Init() { _messages = new List <string>(); if (System.IO.File.Exists(SaveFilePath)) { System.IO.File.Delete(SaveFilePath); } if (!ArcGISFileHelper.CreatePersonalDataBase(SaveFilePath))//创建数据库文件失败 { return(false); } if (FeatureClass != null) { var values = FeatureClass.GetUniqueValue(FieldName); var tool = new Select(); foreach (var item in values) { tool.in_features = FeatureClass; tool.out_feature_class = string.Format("{0}\\{1}_{2}", SaveFilePath, LayerName, item); tool.where_clause = string.Format("[{0}] = '{1}'", FieldName, item); if (!GPHelper.Excute(tool)) { _messages.Add(string.Format("执行{0}发生错误", tool.where_clause)); } } return(true); } return(false); }
public bool Init() { _messages = new List <string>(); _tool = new Clip(); var clipWorkspace = WorkspaceManager.OpenAccessWorkSpace(ClipDataBasePath); if (clipWorkspace == null) { return(false); } var clipLayers = WorkspaceManager.AnalyzeLayers(clipWorkspace); foreach (var cliplayer in clipLayers) { if (ClipLayers.Contains(cliplayer.Name)) { if (cliplayer is IFeatureLayer) { var featureLayer = cliplayer as IFeatureLayer; if (featureLayer != null) { var featureClass = featureLayer.FeatureClass; if (featureClass != null) { var name = featureClass.AliasName; var saveDataBasePath = System.IO.Path.Combine(SaveFolder, name + ".mdb"); if (System.IO.File.Exists(saveDataBasePath)) { System.IO.File.Delete(saveDataBasePath); } if (!ArcGISFileHelper.CreatePersonalDataBase(saveDataBasePath)) { continue; } Program(saveDataBasePath, featureClass); } } } } } return(_messages.Count == 0); }