public bool Init()
        {
            if (!System.IO.File.Exists(PolylineFile))
            {
                return(false);
            }
            _polylineFeatureClass = PolylineFile.GetShpFeatureClass();
            if (_polylineFeatureClass == null)
            {
                return(false);
            }
            ISpatialReference spatialReference = SpatialReferenceManager.GetSpatialReference(_polylineFeatureClass);

            _polygonFeatureClass = FeatureClassManager.CreateFeatrueClass(PolygonFile, spatialReference, esriGeometryType.esriGeometryPolygon);
            if (_polygonFeatureClass == null)
            {
                return(false);
            }
            _index = _polygonFeatureClass.Fields.FindField("TCMC");
            if (_index > -1)
            {
                return(true);
            }
            return(false);
        }
        public bool Init()
        {
            if (!System.IO.File.Exists(PolylineFile))
            {
                _error += string.Format("文件:{0} 不存在", PolylineFile);
                return(false);
            }
            _polylineFeatureClass = PolylineFile.GetShpFeatureClass();
            if (_polylineFeatureClass == null)
            {
                _error += string.Format("无法读取文件:{0}", PolylineFile);
                return(false);
            }
            ISpatialReference spatialReference = SpatialReferenceManager.GetSpatialReference(_polylineFeatureClass);

            if (System.IO.File.Exists(PolygonFile))
            {
                System.IO.File.Delete(PolygonFile);
            }
            _polygonFeatureClass = FeatureClassManager.CreateFeatrueClass(PolygonFile, spatialReference, esriGeometryType.esriGeometryPolygon);
            if (_polygonFeatureClass == null)
            {
                _error += string.Format("创建文件:{0}  失败", PolygonFile);
                return(false);
            }
            return(true);
        }
Exemplo n.º 3
0
        /// <summary>
        /// 初始化
        /// </summary>
        /// <returns></returns>
        private bool Init()
        {
            if (CADFiles == null || CADFiles.Count == 0)
            {
                _error += "CAD文件列表为空;";
                return(false);
            }
            if (System.IO.File.Exists(PolylineFile))
            {
                System.IO.File.Delete(PolylineFile);
            }
            var first        = CADFiles[0];
            var featureClass = CADManager.GetFeatureClass(first);

            if (featureClass == null)
            {
                _error += string.Format("读取到的文件:{0}  无法读取信息;", System.IO.Path.GetFileNameWithoutExtension(first));
                return(false);
            }
            ISpatialReference spatialReference = SpatialReferenceManager.GetSpatialReference(featureClass);

            _polylineFeatureClass = FeatureClassManager.CreateFeatrueClass(PolylineFile, spatialReference, esriGeometryType.esriGeometryPolyline);
            if (_polylineFeatureClass == null)
            {
                _error += string.Format("创建shapefile文件:{0}  失败!", PolylineFile);
                return(false);
            }
            _errorList = new List <string>();
            return(true);
        }
Exemplo n.º 4
0
        private bool Init()
        {
            if (!System.IO.Directory.Exists(_folder))
            {
                _errors.Add(string.Format("路径:\"{0}\"不存在,请核对目录路径", _folder));
                return(false);
            }
            _files = FileManager.GetSpecialFiles(_folder, "*.txt");
            if (_files.Count == 0)
            {
                _errors.Add(string.Format("路径:\"{0}\"下不存在txt文件", _folder));
                return(false);
            }
            _files = _files.OrderBy(e => e).ToList();

            _featureClass = FeatureClassManager.CreateFeatrueClass(_saveFilePath, SpatialReferenceManager.Get40SpatialReference(), ESRI.ArcGIS.Geometry.esriGeometryType.esriGeometryPolygon);
            if (_featureClass == null)
            {
                _errors.Add("创建要素类失败!");
                return(false);
            }
            _featureClass.AddFields(new List <Models.TangField> {
                new Models.TangField {
                    Name = "FILENAME", Alias = "文件名称", Type = esriFieldType.esriFieldTypeString
                }
            });
            _featureCursor = _featureClass.Insert(true);
            return(true);
        }
 private bool Init()
 {
     if (!Directory.Exists(_folder))
     {
         _message += string.Format("目录:\"{0}\"不存在,请核对目录!", _folder);
         return(false);
     }
     _txtFiles = FileManager.GetSpecialFiles(_folder, "*.txt");
     if (string.IsNullOrEmpty(_saveFilePath) || System.IO.File.Exists(_saveFilePath))
     {
         _message += string.Format("保存路径:\"{0}\"不正确或者已存在文件,请核对保存路径!", _saveFilePath);
         return(false);
     }
     _featureClass = FeatureClassManager.CreateFeatrueClass(_saveFilePath, SpatialReferenceManager.Get40SpatialReference(), ESRI.ArcGIS.Geometry.esriGeometryType.esriGeometryPolygon);
     if (_featureClass == null)
     {
         _message += string.Format("创建要素类失败!");
         return(false);
     }
     _featureClass.AddFields(new List <TangField> {
         new TangField {
             Name = "XMLX", Alias = "项目类型", Type = esriFieldType.esriFieldTypeString
         },
         new TangField {
             Name = "BZ", Alias = "备注", Type = esriFieldType.esriFieldTypeString
         },
         new TangField {
             Name = "NF", Alias = "年份", Type = esriFieldType.esriFieldTypeString
         },
         new TangField {
             Name = "FILENAME", Alias = "文件名字", Type = esriFieldType.esriFieldTypeString
         },
         new TangField {
             Name = "DKBH", Alias = "地块编号", Type = esriFieldType.esriFieldTypeString
         },
         new TangField {
             Name = "DKMC", Alias = "地块名称", Type = esriFieldType.esriFieldTypeString
         },
         new TangField {
             Name = "JLTXSX", Alias = "JLTXSX", Type = esriFieldType.esriFieldTypeString
         },
         new TangField {
             Name = "TFH", Alias = "TFH", Type = esriFieldType.esriFieldTypeString
         },
         new TangField {
             Name = "DKYT", Alias = "地块用途", Type = esriFieldType.esriFieldTypeString
         },
         new TangField {
             Name = "DLBM", Alias = "地类编码", Type = esriFieldType.esriFieldTypeString
         }
     });
     _featureCursor = FeatureClass.Insert(true);
     return(true);
 }
 private bool Init()
 {
     if (!System.IO.File.Exists(_txtFilePath))
     {
         _errors.Add(string.Format("路径:\"{0}\"文件不存在,请核对文件!", _txtFilePath));
         return(false);
     }
     if (System.IO.File.Exists(_saveFilePath))
     {
         System.IO.File.Delete(_saveFilePath);
     }
     _featureClass = FeatureClassManager.CreateFeatrueClass(_saveFilePath, SpatialReferenceManager.Get40SpatialReference(), ESRI.ArcGIS.Geometry.esriGeometryType.esriGeometryPolygon);
     if (_featureClass == null)
     {
         _errors.Add("创建要素类失败!");
         return(false);
     }
     _featureClass.AddFields(new List <Models.TangField> {
         new TangField {
             Name = "XMLX", Alias = "项目类型", Type = esriFieldType.esriFieldTypeString
         },
         new TangField {
             Name = "BZ", Alias = "备注", Type = esriFieldType.esriFieldTypeString
         },
         new TangField {
             Name = "NF", Alias = "年份", Type = esriFieldType.esriFieldTypeString
         },
         new TangField {
             Name = "FILENAME", Alias = "文件名字", Type = esriFieldType.esriFieldTypeString
         },
         new TangField {
             Name = "DKBH", Alias = "地块编号", Type = esriFieldType.esriFieldTypeString
         },
         new TangField {
             Name = "DKMC", Alias = "地块名称", Type = esriFieldType.esriFieldTypeString
         },
         new TangField {
             Name = "JLTXSX", Alias = "JLTXSX", Type = esriFieldType.esriFieldTypeString
         },
         new TangField {
             Name = "TFH", Alias = "TFH", Type = esriFieldType.esriFieldTypeString
         },
         new TangField {
             Name = "DKYT", Alias = "地块用途", Type = esriFieldType.esriFieldTypeString
         },
         new TangField {
             Name = "DLBM", Alias = "地类编码", Type = esriFieldType.esriFieldTypeString
         }
     });
     _featureCursor = _featureClass.Insert(true);
     return(true);
 }
        private bool TranslatePolylineToPolygon(string inputFilePath, string SaveFilePath, string layerName)
        {
            IFeatureClass featureClass = inputFilePath.GetShpFeatureClass();

            if (featureClass == null)
            {
                return(false);
            }
            ISpatialReference spatialReference   = SpatialReferenceManager.GetSpatialReference(featureClass);
            IFeatureClass     createFeatureClass = FeatureClassManager.CreateFeatrueClass(SaveFilePath, spatialReference, esriGeometryType.esriGeometryPolygon);

            if (createFeatureClass == null)
            {
                return(false);
            }
            var index = createFeatureClass.Fields.FindField("TCMC");

            if (index > -1)
            {
                var            cursor2       = createFeatureClass.Insert(true);
                IFeatureCursor featureCursor = featureClass.Search(null, false);
                IFeature       feature       = featureCursor.NextFeature();
                while (feature != null)
                {
                    if (IsPolygon(feature))
                    {
                        var pg = GeneratePolygon(feature.ShapeCopy);
                        if (pg != null)
                        {
                            var buffer = createFeatureClass.CreateFeatureBuffer();
                            buffer.Shape = pg;
                            buffer.set_Value(index, layerName);
                            cursor2.InsertFeature(buffer);
                        }
                    }
                    feature = featureCursor.NextFeature();
                }
                cursor2.Flush();
                System.Runtime.InteropServices.Marshal.ReleaseComObject(featureCursor);
            }

            return(true);
        }
Exemplo n.º 8
0
        private bool Init()
        {
            if (!System.IO.File.Exists(_txtFilePath))
            {
                _errors.Add(string.Format("路径:\"{0}\"文件不存在,请核对!", _txtFilePath));
                return(false);
            }

            if (System.IO.File.Exists(_saveFilePath))
            {
                System.IO.File.Delete(_saveFilePath);
            }
            _featureClass = FeatureClassManager.CreateFeatrueClass(_saveFilePath, SpatialReferenceManager.Get40SpatialReference(), ESRI.ArcGIS.Geometry.esriGeometryType.esriGeometryPolygon);
            if (_featureClass == null)
            {
                _errors.Add("创建要素类失败");
                return(false);
            }
            _featureCursor = _featureClass.Insert(true);
            return(true);
        }