#[derive(Debug, Clone, Copy, PartialEq)]
pub struct ElevationSample {
pub latitude_deg: f64,
pub longitude_deg: f64,
pub elevation_m: f64,
}
pub fn sample_dem(latitude_deg: f64, longitude_deg: f64) -> ElevationSample {
let chaos_depression = if latitude_deg.abs() < 15.0 && longitude_deg.abs() < 30.0 {
-150.0
} else {
0.0
};
let ridge_bias = if latitude_deg.abs() > 40.0 { 80.0 } else { 0.0 };
let wave = latitude_deg.to_radians().sin() * 40.0 + longitude_deg.to_radians().cos() * 30.0;
ElevationSample {
latitude_deg,
longitude_deg,
elevation_m: chaos_depression + ridge_bias + wave,
}
}