У меня есть база данных с полями, широтой и долготой.Сортировка массива на расстоянии
Я получу bd через эту функцию и преобразую в массив.
ArrayList<PontoEntity> array = new ArrayList<PontoEntity>();
Cursor c = com.vianaturismo.db.DBMain.getAll(getApplicationContext(), DALPonto.TABLE_NAME, DALPonto.columns);
array = DALPonto.converte(c);
У нее также есть эта функция, чтобы вернуть расстояние между точками, где я есть.
public double getDistancia(double latitude, double longitude, double latitudePto, double longitudePto){
double dlon, dlat, a, distancia;
dlon = longitudePto - longitude;
dlat = latitudePto - latitude;
a = Math.pow(Math.sin(dlat/2),2) + Math.cos(latitude) * Math.cos(latitudePto) * Math.pow(Math.sin(dlon/2),2);
distancia = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a));
return 6378140 * distancia; /* 6378140 is the radius of the Earth in meters*/
}
Мое затруднение в этом виде массива по расстоянию. То есть сортировать по ближайшей точке.
Если ваш проблема заключается в сортировке данных, относящихся к этому: http://stackoverflow.com/questions/19495642/java-sorting-text-file-lines/19496006#19496006 – Tyler