/// <summary> /// Reads the field types from the OgrFeatureDefinition -> OgrFieldDefinition /// </summary> /// <param name="fdt">FeatureDatatTable</param> /// <param name="oLayer">OgrLayer</param> private void ReadColumnDefinition(FeatureDataTable fdt, OGR.Layer oLayer) { using(OGR.FeatureDefn _OgrFeatureDefn = oLayer.GetLayerDefn()) { int iField; for (iField = 0; iField < _OgrFeatureDefn.GetFieldCount(); iField++) { using(OGR.FieldDefn _OgrFldDef = _OgrFeatureDefn.GetFieldDefn(iField)) { switch (_OgrFldDef.GetFieldType()) { case 0: fdt.Columns.Add(_OgrFldDef.GetName(), System.Type.GetType("System.Int32")); break; case 2: fdt.Columns.Add(_OgrFldDef.GetName(), System.Type.GetType("System.Double")); break; case 4: fdt.Columns.Add(_OgrFldDef.GetName(), System.Type.GetType("System.String")); break; case 6: fdt.Columns.Add(_OgrFldDef.GetName(), System.Type.GetType("System.String")); break; } } } } }