Exemple #1
0
        internal ShapeFileDataReader(ShapeFileProvider source,
                                     FeatureQueryExpression query,
                                     FeatureQueryExecutionOptions options)
        {
            if (options != FeatureQueryExecutionOptions.FullFeature)
            {
                throw new ArgumentException("Only QueryExecutionOptions.All is supported.", "options");
            }

            _shapeFile   = source;
            _options     = options;
            _schemaTable = source.GetSchemaTable();
            _fieldCount  = _schemaTable.Rows.Count;

            // TODO: now that we are accessing the geometry each time, perhaps a feature
            // query here would save a disk access
            _objectEnumerator = source.ExecuteOidQuery(query.SpatialPredicate).GetEnumerator();
        }