// y
// hora
// de
// hoy
if (recurso != null) {
HistoricoGPS ultimaPosicionRecurso = HistoricoGPSConsultas
.lastGPSForRecurso(recurso);
// Si hay última posición y es visible
if (ultimaPosicionRecurso != null
&& !ultimaPosicionRecurso
.getMarcaTemporal()
.before(new Date(
System.currentTimeMillis()
- LogicConstants
.getInt("AVL_TIMEOUT")
* 6000))) {
point = new LatLon(
ultimaPosicionRecurso.getPosY(),
ultimaPosicionRecurso.getPosX());
printCoordinates(point);
}
}
log.info("Buscamos los más cercanos a " + point);
Recurso[] rs = RecursoConsultas.getNearest(
point.getX(), point.getY(), num,
Authentication.getUsuario());
log.info("Tenemos los más cercanos a " + point
+ ", que son " + rs.length);
Vector<Vector<Object>> rows = new Vector<Vector<Object>>();
int k = 0;
for (Integer i = 0; i < rs.length && k < num - 1; i++) {
k++;
if (!isVisible(rs[i])
|| (recurso != null && recurso.getId()
.equals(rs[i].getId()))) {
log.info("No se muestra " + rs[i]);
k--;
continue;
}
HistoricoGPS h = rs[i].getHistoricoGps();
LatLon ll = new LatLon(h.getPosY(), h.getPosX());
Integer dist = (int) ll
.greatCircleDistance(point);
Vector<Object> row = new Vector<Object>();
row.add(i);