public static double distancia(RegistroGPS p, RegistroGPS q) { // instantiate the calculator GeodeticCalculator geoCalc = new GeodeticCalculator(); // select a reference elllipsoid Ellipsoid reference = Ellipsoid.WGS84; // set origin coordinates GlobalCoordinates origin; origin = new GlobalCoordinates(p.getLatitud(), p.getLongitud()); // set destination coordinates GlobalCoordinates destination; destination = new GlobalCoordinates(q.getLatitud(), q.getLongitud()); // calculate the geodetic curve GeodeticCurve geoCurve = geoCalc.calculateGeodeticCurve(reference, origin, destination); return geoCurve.getEllipsoidalDistance(); }
/** * * Indica si una ubicaci—n es v‡lida, es decir si fue realmente obtenida por el Listener de * ubicaci—n (LECURA_DISPONIBLE) * * @param ubicacionGPS La ubicaci—n GPS a evaluar * @return Si la ubicaci—n especificada fue obtenida como LECTURA_DISPONIBLE o no */ public static boolean esUbicacionValida(RegistroGPS ubicacionGPS) { if (ubicacionGPS.getPrecision() < 0) return false; return true; }