genom 2.0.0

Fast reverse geocoding with enriched location data
Documentation
fn main() -> Result<(), Box<dyn std::error::Error>> {
    let args: Vec<String> = std::env::args().collect();

    if args.len() < 3 {
        eprintln!("Usage: {} <lat> <lon>", args[0]);
        return Ok(());
    }

    let lat: f64 = args[1].parse()?;
    let lon: f64 = args[2].parse()?;

    if let Some(place) = genom::lookup(lat, lon) {
        println!("{}", place.city);
        println!("  Region: {}", place.region);
        println!("  Region Code: {}", place.region_code);
        println!("  District: {}", place.district);
        println!("  Country: {} ({})", place.country_name, place.country_code);
        println!(
            "  Continent: {} ({})",
            place.continent_name, place.continent_code
        );
        println!("  Postal Code: {}", place.postal_code);
        println!(
            "  Timezone: {} ({}) {}",
            place.timezone, place.timezone_abbr, place.utc_offset_str
        );
        println!("  UTC Offset: {} seconds", place.utc_offset);
        println!("  DST Active: {}", place.dst_active);
        println!("  Currency: {}", place.currency);
        println!("  EU Member: {}", place.is_eu);
        println!("  Coords: {}, {}", place.latitude, place.longitude);
    } else {
        println!("No place found");
    }

    Ok(())
}