2016-07-21 2 views
-2

У меня есть список мест (означает широту или долготу в arraylist), и я хочу найти остановленные и движущиеся местоположения из этого списка. Пожалуйста, дайте мне несколько способов решить эту ситуацию.Хотите узнать, перемещается ли местоположение (широта, долгота) или нет?

public void find(ArrayList<Location> loclist) { 
    for (int i = 0; i < loclist.size()-1; i++) { 
     Location loc = loclist.get(i); // this is current location 
     double lat = loc.getLatitude(); 
     double lng = loc.getLongitude(); 

     Location nextloc = loclist.get(i+1); // this is next location 
     double nextlat = nextloc.getLatitude(); 
     double nextlng = nextloc.getLongitude(); 

     // now find distance between these points 
     double distance = getDistance(loc.getLatitude(), loc.getLongitude(), nextloc.getLatitude(), nextloc.getLongitude()); 
     if(distance is less than 100 meters means point is halted) { 
      // now put this in halted point list 
     } else { 
      // add in moving point list 
     } 
    } 
} 
+2

Что вы подразумеваете под остановленным и движущимся местоположениями? Что такое остановленное местоположение? Что такое движущаяся? – Jokab

+0

Заблокировано означает широту долготы, то же самое для более чем 2 баллов. Значения точки находятся в одном и том же месте. –

ответ

0

Я думаю, что формулировка вашего вопроса немного сбивает с толку, но я верю, что вы пытаетесь определить, есть ли в заданном интервале времени, было движение. Вы можете просто сравнить одну пару координат с предыдущей. Например,

ArrayList<Integer> latitude = new ArrayList<Integer>(); 
ArrayList<Boolean> moving = new ArrayList<Boolean>(); 
for(int i = 1; i<latitude.size(); i++) 
    { 
     if(latitude.get(i-1)!=latitude.get(i)) 
     { 
      moving.set(i, true); 
     } 
     else 
     { 
      moving.set(i,false); 
     } 
    } 

(Представьте себе, что ArrayList заполнен значениями широты) Теперь, новый ArrayList будет наполнен логическими значениями, была ли она двигается между предыдущей точкой и текущей точкой «latitudinaly» ,

Смежные вопросы