package com.droidmapper.util; /** * Utility class used to convert latitude and longitude into DMS (degree minute second) format. */ public class GpsUtil { /** * Returns ref for latitude which is S or N. * * @param latitude * @return S or N */ public static String latitudeRef(double latitude) { return latitude < 0.0d ? "S" : "N"; } /** * Returns ref for latitude which is S or N. * * @param longitude * @return S or N */ public static String longitudeRef(double longitude) { return longitude < 0.0d ? "W" : "E"; } /** * Convert latitude into DMS (degree minute second) format. For instance<br/> * -79.948862 becomes<br/> * 79/1,56/1,55903/1000<br/> * It works for latitude and longitude<br/> * * @param latOrLong * @return */ public static String convert(double latOrLong) { latOrLong = Math.abs(latOrLong); int degree = (int) latOrLong; latOrLong *= 60; latOrLong -= (degree * 60.0d); int minute = (int) latOrLong; latOrLong *= 60; latOrLong -= (minute * 60.0d); int second = (int) (latOrLong * 1000.0d); StringBuilder sb = new StringBuilder(20); sb.append(degree); sb.append("/1,"); sb.append(minute); sb.append("/1,"); sb.append(second); sb.append("/1000,"); return sb.toString(); } }