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); }
private bool Work(string filePath) { IFeatureClass featureClass = ArcGISFileHelper.GetShpFeatureClass(filePath); if (featureClass == null) { return(false); } IGeoDataset geoDataset = featureClass as IGeoDataset; IGeoDatasetSchemaEdit geoDatasetSchemaEdit = geoDataset as IGeoDatasetSchemaEdit; if (geoDatasetSchemaEdit.CanAlterSpatialReference == true) { geoDatasetSchemaEdit.AlterSpatialReference(SpatialReference); return(true); } else { return(false); } }
public bool Init() { if (!System.IO.Directory.Exists(Folder)) { Error += string.Format("文件路径:{0}不存在或不正确;", Folder); return(false); } Files = FileManager.GetSpecialFiles(Folder, "*.shp"); if (Files == null || Files.Count == 0) { Error += string.Format("未识别文件夹中的shapefile文件或者为空;"); return(false); } MaxValue = Files.Count; var file = Files[0]; var basefeatureClass = ArcGISFileHelper.GetShpFeatureClass(file); if (basefeatureClass == null) { Error += string.Format("无法获取文件:{0};", System.IO.Path.GetFileNameWithoutExtension(file)); return(false); } IGeoDataset geoDataset = basefeatureClass as IGeoDataset; FeatureClass = FeatureClassManager.CreateFeatrueClass(this.SavaFilePath, geoDataset.SpatialReference, basefeatureClass.ShapeType); if (FeatureClass == null) { Error += string.Format("无法生成shapefile文件,请确保程序以管理员运行;"); return(false); } // InsertFeatureCursor = FeatureClass.Insert(true); Fields = new List <TangField>() { new TangField() { Name = "TCMC", Alias = "图层名称", Type = esriFieldType.esriFieldTypeString, Index = FeatureClass.Fields.FindField("TCMC") } }; return(true); }