use log::{debug, trace};
fn main() -> Result<(), anyhow::Error> {
env_logger::init();
trace!("Taking off");
debug!("000");
println!("\n\nRunning the example from README.md: Quick start");
readme_md()?;
println!("\n\nRunning the example from Rumination 000: Overall architecture and philosophy");
rumination_000()?;
Ok(())
}
fn readme_md() -> Result<(), anyhow::Error> {
use geodesy::prelude::*;
let mut context = Minimal::new();
let utm33 = context.op("utm zone=33")?;
let cph = Coor2D::geo(55., 12.); let sth = Coor2D::geo(59., 18.); let mut data = [cph, sth];
context.apply(utm33, Fwd, &mut data)?;
println!("{:?}", data);
Ok(())
}
fn rumination_000() -> Result<(), anyhow::Error> {
use geodesy::prelude::*;
let mut ctx = Minimal::default();
let utm32 = ctx.op("utm zone=32")?;
let copenhagen = Coor2D::geo(55., 12.);
let stockholm = Coor2D::geo(59., 18.);
let mut data = [copenhagen, stockholm];
ctx.apply(utm32, Fwd, &mut data)?;
for coord in data {
println!("{:?}", coord);
}
ctx.apply(utm32, Inv, &mut data)?;
for coord in data {
println!("{:?}", coord.to_geo());
}
Ok(())
}