Geo { public static double metersToDegreesLat(final double northMeters) { return northMeters / METERS_PER_DEGREE_LAT; } private  Geo(); @Nonnull static GeoRectangle grow(@Nullable final GeoRectangle rectangle, @Nonnull final GeoPoint point); static double degreesLatToMeters(final double latDegrees); static double degreesLonToMetersAtLat(final double lonDegrees, final double lat); static double metersToDegreesLat(final double northMeters); static double metersToDegreesLonAtLat(final double eastMeters, final double lat); static double distanceInMeters(@Nonnull final GeoPoint p1, @Nonnull final GeoPoint p2); static double mapToLat(final double lat); static double mapToLon(final double value); @Nonnull static Duration estimatedMinTravelTime(
            @Nonnull final GeoPoint from,
            @Nonnull final GeoPoint to); @Nonnull static Duration estimatedMinTravelTime(
            @Nonnull final GeoPoint from,
            @Nonnull final GeoPoint to,
            final int roundToMeters); static final double EARTH_RADIUS_X_METERS; static final double EARTH_RADIUS_Y_METERS; static final double EARTH_CIRCUMFERENCE_X; static final double EARTH_CIRCUMFERENCE_Y; static final double METERS_PER_DEGREE_LAT; static final double METERS_PER_DEGREE_LON_EQUATOR; static final double LON180; }
@Test public void testMetersToDegreesLat() { LOG.info("testMetersToDegreesLat"); Assert.assertEquals(0, Double.compare(0, Geo.metersToDegreesLat(0))); Assert.assertEquals(0, Double.compare(0.5, Geo.metersToDegreesLat(Geo.METERS_PER_DEGREE_LAT / 2))); Assert.assertEquals(0, Double.compare(1, Geo.metersToDegreesLat(Geo.METERS_PER_DEGREE_LAT))); Assert.assertEquals(0, Double.compare(90, Geo.metersToDegreesLat(Geo.METERS_PER_DEGREE_LAT * 90))); Assert.assertEquals(0, Double.compare(-90, Geo.metersToDegreesLat(Geo.METERS_PER_DEGREE_LAT * -90))); }