ArcStrabo10.ArcStraboObject.CreateFeatureClassWithFieldsGeoRef C# (CSharp) Метод

CreateFeatureClassWithFieldsGeoRef() публичный Метод

public CreateFeatureClassWithFieldsGeoRef ( String featureClassName, IFeatureWorkspace featureWorkspace ) : IFeatureClass
featureClassName String
featureWorkspace IFeatureWorkspace
Результат IFeatureClass
        public IFeatureClass CreateFeatureClassWithFieldsGeoRef(String featureClassName, IFeatureWorkspace featureWorkspace)
        {
            GeoJson geoJson = new GeoJson();
            try
            {
                // Instantiate a feature class description to get the required fields.
                IFeatureClassDescription fcDescription = new FeatureClassDescriptionClass();
                IObjectClassDescription ocDescription = (IObjectClassDescription)
                  fcDescription;
                IFields fields = ocDescription.RequiredFields;
                IFieldsEdit fieldsEdit = (IFieldsEdit)fields;

                addFeatureFeild("URI", "URI", esriFieldType.esriFieldTypeString, fieldsEdit);
                // Use IFieldChecker to create a validated fields collection.
                IFieldChecker fieldChecker = new FieldCheckerClass();
                IEnumFieldError enumFieldError = null;
                IFields validatedFields = null;
                fieldChecker.ValidateWorkspace = (IWorkspace)featureWorkspace;
                fieldChecker.Validate(fields, out enumFieldError, out validatedFields);

                // The enumFieldError enumerator can be inspected at this point to determine
                // which fields were modified during validation.
                // Create the feature class.
                IFeatureClass featureClass = featureWorkspace.CreateFeatureClass
                  (featureClassName, validatedFields, ocDescription.InstanceCLSID,
                  ocDescription.ClassExtensionCLSID, esriFeatureType.esriFTSimple,
                  fcDescription.ShapeFieldName, "");

                return featureClass;
            }
            catch (Exception e)
            {
                Log.WriteLine("CreateFeatureClassWithFields: " + e.Message);
            }
            return null;
        }

Usage Example

        protected override void OnClick()
        {
            #region Symbel Recognition
            ArcStrabo10.ArcStraboObject.RasterMapInfo rasterInfo = new ArcStrabo10.ArcStraboObject.RasterMapInfo();
            string dir = "";
            ArcStraboObject arcStraboObject = new ArcStraboObject();
            arcStraboObject.symbolFindRasterLayerPath(rasterInfo);

            string logPath = arcStraboObject.CreateDirectory(rasterInfo.rasterPath, "Log");

            Log.SetLogDir(System.IO.Path.GetTempPath());
            Log.SetOutputDir(System.IO.Path.GetTempPath());
            Log.SetStartTime();
            Log.WriteLine("Start");
            Log.WriteLine("MakingGeoJsonFile Mathod Start  SIMA");
            IMap map = ArcMap.Document.FocusMap;
            arcStraboObject.MakingSymbolGeoJsonFile();
            Log.WriteLine("MakingGeoJsonFile Mathod Finish");

            ////run TextExtraction Layer from Strao.core and load raster Layer
            Log.WriteLine("textLayerExtract Mathod Start SIMA");

            dir =rasterInfo.ratserImgPath;
            arcStraboObject.SymbolExtraction();
            Log.WriteLine("textLayerExtract Mathod Finish");

            /////Add Polygon of OCR Layer
            Log.WriteLine("CreateFeatureClassWithFields Mathod Start SIMA");
            IWorkspace workspace = arcStraboObject.symbolCreateShapefileWorkspace();
            IFeatureWorkspace featureworkspace = (IFeatureWorkspace)workspace;

            IFeatureClass featureClass = arcStraboObject.CreateFeatureClassWithFieldsGeoRef(ArcStrabo10Extension.TextLayerOCRShapefile, featureworkspace);
            IFeatureLayer featureLayer = arcStraboObject.CreateFeatureLayer(featureClass);
            Log.WriteLine("CreateFeatureClassWithFields Mathod Finish");

            Log.WriteLine("AddPolygon Mathod Start");
            arcStraboObject.addPoligonGeorefrenced(featureLayer, featureworkspace);
            Log.WriteLine("AddPolygon Mathod Finish");

            #endregion
        }