/** * Convert a distance measurement (assuming a spherical Earth) from radians to a more friendly * unit. * * @param radians a double using unit radian * @param units pass in one of the units defined in {@link TurfUnitCriteria} * @return converted radian to distance value * @since 1.2.0 */ public static double radiansToLength(double radians, @NonNull @TurfUnitCriteria String units) { return radians * FACTORS.get(units); }
/** * Convert a distance measurement (assuming a spherical Earth) from a real-world unit into * radians. * * @param distance double representing a distance value * @param units pass in one of the units defined in {@link TurfUnitCriteria} * @return converted distance to radians value * @since 1.2.0 */ public static double lengthToRadians(double distance, @NonNull @TurfUnitCriteria String units) { return distance / FACTORS.get(units); }
/** * Converts a distance to a different unit specified. * * @param distance the distance to be converted * @param originalUnit of the distance, must be one of the units defined in * {@link TurfUnitCriteria} * @param finalUnit returned unit, {@link TurfConstants#UNIT_DEFAULT} if not specified * @return the converted distance * @since 2.2.0 */ public static double convertLength(@FloatRange(from = 0) double distance, @NonNull @TurfUnitCriteria String originalUnit, @Nullable @TurfUnitCriteria String finalUnit) { if (finalUnit == null) { finalUnit = TurfConstants.UNIT_DEFAULT; } return radiansToLength(lengthToRadians(distance, originalUnit), finalUnit); } }
/** * Convert a distance measurement (assuming a spherical Earth) from a real-world unit into degrees * Valid units: miles, nauticalmiles, inches, yards, meters, metres, centimeters, kilometres, * feet. * * @param distance in real units * @param units can be degrees, radians, miles, or kilometers inches, yards, metres, meters, * kilometres, kilometers. * @return a double value representing the distance in degrees * @since 3.0.0 */ public static double lengthToDegrees(double distance, @TurfUnitCriteria String units) { return radiansToDegrees(lengthToRadians(distance, units)); }
/** * Converts a distance to the default units. Use * {@link TurfConversion#convertLength(double, String, String)} to specify a unit to convert to. * * @param distance double representing a distance value * @param originalUnit of the distance, must be one of the units defined in * {@link TurfUnitCriteria} * @return converted distance in the default unit * @since 2.2.0 */ public static double convertLength(@FloatRange(from = 0) double distance, @NonNull @TurfUnitCriteria String originalUnit) { return convertLength(distance, originalUnit, TurfConstants.UNIT_DEFAULT); }