Я делаю приложение для отслеживания управляемых маршрутов через GPS, для базы данных я использовал SQLite. Когда текущая позиция будет изменена, данные (широта, долгота, дата) будут сохранены в базе данных, поэтому у меня есть список многих координат + дат в моей базе данных.Android java вычислить расстояние много координат от sqlite
Теперь, я хочу рассчитать расстояние для всего маршрута. Я знаю начальное и конечное положение и промежуточные позиции. Я также знаю, как рассчитать расстояние между двумя позициями. Я НЕ знаю, как рассчитать расстояние для всех сегментов. Кто-нибудь может мне помочь?
Это, как рассчитать расстояние между двумя позициями:
private double calculateDistance(double fromLong, double fromLat,double toLong, double toLat) {
double d2r = Math.PI/180;
double dLong = (toLong - fromLong) * d2r;
double dLat = (toLat - fromLat) * d2r;
double a = Math.pow(Math.sin(dLat/2.0), 2) + Math.cos(fromLat * d2r)
* Math.cos(toLat * d2r) * Math.pow(Math.sin(dLong/2.0), 2);
double c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));
double d = 6367000 * c;
return Math.round(d);
}
я могу вычислить между двумя координатами, но я Вана t весь маршрут для расчета –
Вам нужно рассчитать каждый сегмент и сумму. Это также сложно из-за того, что агрегаты ошибок. – KarlP
Я тоже думал об этом, но я не знаю, как ... со списком или что-то вроде этого? –