pub struct Dataset { /* private fields */ }Expand description
Unified dataset handle — the central abstraction (analogous to GDALDataset).
Opens any supported geospatial format and provides uniform access to raster bands, vector layers, and metadata.
§Example
use oxigdal::Dataset;
let ds = Dataset::open("elevation.tif").expect("failed to open");
println!("{}×{} pixels, {} bands", ds.width(), ds.height(), ds.band_count());
println!("Format: {}", ds.format());
if let Some(crs) = ds.crs() {
println!("CRS: {crs}");
}Implementations§
Source§impl Dataset
impl Dataset
Sourcepub fn open(path: &str) -> Result<Self>
pub fn open(path: &str) -> Result<Self>
Open a geospatial dataset from a file path — the universal entry point.
Format is auto-detected from file extension (and in the future, magic bytes),
just like GDALOpen() in C GDAL.
§Supported Formats
Which formats are available depends on enabled feature flags. With default features: GeoTIFF, GeoJSON, Shapefile.
§Errors
Returns OxiGdalError::NotSupported if the format is not recognized
or the corresponding feature flag is not enabled.
Returns OxiGdalError::Io if the file cannot be read.
Sourcepub fn open_with_format(path: &str, format: DatasetFormat) -> Result<Self>
pub fn open_with_format(path: &str, format: DatasetFormat) -> Result<Self>
Open a dataset with an explicitly specified format.
Use this when auto-detection from extension is insufficient
(e.g., .json files that could be GeoJSON or STAC).
§Errors
Returns error if the format’s feature flag is not enabled or file is unreadable.
Sourcepub fn format(&self) -> DatasetFormat
pub fn format(&self) -> DatasetFormat
Detected dataset format.
Sourcepub fn info(&self) -> &DatasetInfo
pub fn info(&self) -> &DatasetInfo
Full dataset info.
Sourcepub fn width(&self) -> u32
pub fn width(&self) -> u32
Width in pixels (raster datasets). Returns 0 for vector-only datasets.
Sourcepub fn height(&self) -> u32
pub fn height(&self) -> u32
Height in pixels (raster datasets). Returns 0 for vector-only datasets.
Sourcepub fn crs(&self) -> Option<&str>
pub fn crs(&self) -> Option<&str>
Coordinate reference system (WKT, EPSG code, or PROJ string).
Sourcepub fn band_count(&self) -> u32
pub fn band_count(&self) -> u32
Number of raster bands.
Sourcepub fn layer_count(&self) -> u32
pub fn layer_count(&self) -> u32
Number of vector layers.
Sourcepub fn geotransform(&self) -> Option<&GeoTransform>
pub fn geotransform(&self) -> Option<&GeoTransform>
Geotransform coefficients.
[origin_x, pixel_width, rotation_x, origin_y, rotation_y, pixel_height]