В морской навигации, если разность долгот отрицательна, первая долгота считается более западнойОднако, когда абсолютное значение разности больше 180, значение уменьшается от 360, и знак отменяется.Таким образом
bool IsMoreWest(double longitudeA, double logitudeB)
{
double difference = longitudeA - logitudeB;
if (Math.Abs(difference) > 180.0) {
difference = -Math.Sign(difference) * (360.0 - Math.Abs(difference));
}
return difference < 0;
}