コード例 #1
0
        /// <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;
                        }
                    }
                }
            }
        }