public void GetSchemaTableReturnsOid() { ShapeFileProvider shapeFile = new ShapeFileProvider( BcRoadsShapeFile, _geoFactory, _coordSysFactory); shapeFile.Open(); DataTable schemaTable = shapeFile.GetSchemaTable(); Assert.AreEqual(34, schemaTable.Rows.Count); Assert.AreEqual("OID", schemaTable.Rows[0][ProviderSchemaHelper.ColumnNameColumn]); }
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(); }
public void GetSchemaTableFailsifShapeFileNotOpen() { ShapeFileProvider shapeFile = new ShapeFileProvider(BcRoadsShapeFile, _geoFactory); DataTable schemaTable = shapeFile.GetSchemaTable(); }