geomedea 0.2.1

a geospatial data format optimized for remotely accessing a subset of planet-wide data
Documentation
use geomedea::Reader;
use std::fs;
use std::io::BufReader;

type Error = Box<dyn std::error::Error>;
type Result<T> = std::result::Result<T, Error>;

fn main() -> Result<()> {
    let mut args = std::env::args();
    let bin_name = args.next().expect("Missing bin name");
    let input_path = args.next().unwrap_or_else(|| {
        panic!("Missing input path.\nUsage:\n\t`{bin_name} <input-path.geomedea>`")
    });

    let file_size = fs::metadata(&input_path)?.len();
    let input = BufReader::new(std::fs::File::open(&input_path)?);
    let reader = Reader::new(input)?;
    let info = reader.info();
    eprintln!("info: {info:?}");

    let header_size = info.header_size()?;
    eprintln!("        file_size: {:?}", file_size);
    eprintln!("      header_size: {header_size}");
    eprintln!("       index_size: {}", info.index_size());
    eprintln!(
        "feature_data_size: {}",
        file_size - header_size - info.index_size()
    );

    eprintln!("done");
    Ok(())
}