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);
            }
        }
예제 #2
0
        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);
        }