Geo { public static double degreesLatToMeters(final double latDegrees) { return latDegrees * 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 testDegreesLatToMeters() { LOG.info("testDegreesLatToMeters"); Assert.assertEquals(0, Double.compare(0, Geo.degreesLatToMeters(0))); Assert.assertEquals(0, Double.compare(Geo.METERS_PER_DEGREE_LAT / 2.0, Geo.degreesLatToMeters(0.5))); Assert.assertEquals(0, Double.compare(Geo.METERS_PER_DEGREE_LAT, Geo.degreesLatToMeters(1))); Assert.assertEquals(0, Double.compare(Geo.METERS_PER_DEGREE_LAT * 90, Geo.degreesLatToMeters(90))); Assert.assertEquals(0, Double.compare(-Geo.METERS_PER_DEGREE_LAT * 90, Geo.degreesLatToMeters(-90))); }