lonlat 1.1.0

LonLat and LonLatAlt geo-location types and utils.
Documentation
use lonlat::prelude::*;

fn print_conversions(title: &str, source: &str) -> Result<(), Box<dyn std::error::Error>>
{
 println!("[{}]", title);

 let angle = Angle::from_dms_str(source)?;

 println!(" source = {}", source);
 println!("  -> angle.as_string_radians => {}", angle.as_string_radians());
 println!("  -> angle.as_string_degrees => {}", angle.as_string_degrees());
 println!("  -> angle.as_string_minutes => {}", angle.as_string_minutes());
 println!("  -> angle.as_string_seconds => {}", angle.as_string_seconds());
 println!("  -> angle.as_string_dms_180 => {}", angle.as_string_dms_180().unwrap());
 println!("  -> angle.as_string_dms_ew  => {}", angle.as_string_dms_ew().unwrap());
 println!("  -> angle.as_string_dms_ns  => {}", angle.as_string_dms_ns().unwrap());

 #[cfg(feature = "ja-JP")]
 {
  println!(r#" #[feature="ja-JP"]"#);
  println!("  -> angle.as_string_degrees_ja_jp => {}", angle.as_string_degrees_ja_jp());
  println!("  -> angle.as_string_minutes_ja_jp => {}", angle.as_string_minutes_ja_jp());
  println!("  -> angle.as_string_seconds_ja_jp => {}", angle.as_string_seconds_ja_jp());
  println!("  -> angle.as_string_dms_180_ja_jp => {}", angle.as_string_dms_180_ja_jp().unwrap());
  println!("  -> angle.as_string_dms_ew_ja_jp  => {}", angle.as_string_dms_ew_ja_jp().unwrap());
  println!("  -> angle.as_string_dms_ns_ja_jp  => {}", angle.as_string_dms_ns_ja_jp().unwrap());
 }

 Ok(())
}

fn main() -> Result<(), Box<dyn std::error::Error>>
{
 print_conversions("[DMS, ISO80000-1 Standard]", "141°21′15.8″")?;
 print_conversions("[DMS, with space]", "141° 21′ 15.8″")?;
 print_conversions("[DMS, EW]", "141° 21′ 15.8″W")?;

 print_conversions("[DMS, NWSE]", "43° 3′ 43.5″N")?;
 print_conversions("[DMS, NWSE]", "43° 3′ 43.5″W")?;
 print_conversions("[DMS, NWSE]", "43° 3′ 43.5″S")?;
 print_conversions("[DMS, NWSE]", "43° 3′ 43.5″E")?;

 #[cfg(feature = "ja-JP")]
 {
  print_conversions("[DMS, EW]", "西経141度21分15.8秒")?;
  print_conversions("[DMS, EW]", "東経141度21分15.8秒")?;
  print_conversions("[DMS, NS]", "北緯43度3分43.5秒″")?;
  print_conversions("[DMS, NS]", "南緯43度3分43.5秒″")?;
 }

 Ok(())
}