Clamps a value to valid longitude range.
double clampLongitude(double lon) { while (lon > 180) lon -= 360; while (lon < -180) lon += 360; return lon; }