ESRI.ArcGIS.Geodatabase.IRow/IFeature to GeoJSON.Net.Feature.Feature object

Look at the code:

        public GeoJSON.Net.Feature.Feature CreateJsonFeature(ESRI.ArcGIS.Geodatabase.IRow pRow)
        {
            GeoJSON.Net.Geometry.IGeometryObject geometryObject = null;
            int nFieldCount = pRow.Fields.FieldCount;
            Dictionary<string, object> dictProp = new Dictionary<string, object>() { };
            for (int n = 0; n < nFieldCount; n++)
            {
                ESRI.ArcGIS.Geodatabase.IField pField = pRow.Fields.get_Field(n);
                esriFieldType fieldType = pField.Type;
                switch (fieldType)
                {
                    case esriFieldType.esriFieldTypeDate:
                    case esriFieldType.esriFieldTypeDouble:
                    case esriFieldType.esriFieldTypeGUID:
                    case esriFieldType.esriFieldTypeGlobalID:
                    case esriFieldType.esriFieldTypeInteger:
                    case esriFieldType.esriFieldTypeOID:
                    case esriFieldType.esriFieldTypeSingle:
                    case esriFieldType.esriFieldTypeSmallInteger:
                    case esriFieldType.esriFieldTypeString:
                        dictProp.Add(pField.Name, pRow.get_Value(n));
                        break;
                    case esriFieldType.esriFieldTypeGeometry:
                        geometryObject = GeometryFactory.CreateGeoJsonFromEsriGeometry((pRow as ESRI.ArcGIS.Geodatabase.IFeature).Shape);
                        break;
                    case esriFieldType.esriFieldTypeBlob:
                    case esriFieldType.esriFieldTypeRaster:
                    case esriFieldType.esriFieldTypeXML:
                    default:
                        break;
                }
            }
            return new GeoJSON.Net.Feature.Feature(geometryObject, dictProp);
        }

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=325547286&siteId=291194637