Exemple #1
0
        private static int transit(double lon1, double lon2)
        {
            // Return 1 or -1 if crossing prime meridian in east or west direction.
            // Otherwise return zero.
            // Compute lon12 the same way as Geodesic.Inverse.
            lon1 = GeoMath.AngNormalize(lon1);
            lon2 = GeoMath.AngNormalize(lon2);
            double lon12 = GeoMath.AngDiff(lon1, lon2);
            int    cross =
                lon1 < 0 && lon2 >= 0 && lon12 > 0 ? 1 :
                (lon2 < 0 && lon1 >= 0 && lon12 < 0 ? -1 : 0);

            return(cross);
        }