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); }
/// <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); }
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); }
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); }