Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.09.10;
Скачать: CL | DM;

Вниз

Расстояние по GPS   Найти похожие ветки 

 
DimonS ©   (2006-07-28 07:44) [0]

Добрый день всем.
Тут возникла такая проблема. Есть БД координат нахождения автомобиля, определяемых с помощью спутниковой системы GPS. Типа такого формата:

N                                        E
50,3203964233398                 130,269302368164
50,3205871582031                 130,268814086914

Необходимо определить расстояние между соседними отметками (координатами).
Кто сталкивался с такой проблемой? Как вообще это делается, есть ли какие формулы и т. д?

PS. Это нужно для определения пробега автомобиля за определенное время, по Mapper_Player (прилагаемая программа) довольно долго и неудобно...


 
Джо ©   (2006-07-28 07:53) [1]

Тут вот где-то должна быть формула вычисления расстояния на сфере (принимая форму Земли за сферу, что, наверное, для Вашей задачи вполне подойдет): http://gis-lab.info/qa/great-circles.html. Сам, честно говоря, уже формул не помню, ссылка случайно оказалась под рукой.


 
Jeer ©   (2006-07-28 10:00) [2]

http://hea.iki.rssi.ru/SXG/SDC/util/cgi-bin/c_dist.htm


 
StriderMan ©   (2006-07-28 14:50) [3]


> PS. Это нужно для определения пробега автомобиля за определенное
> время,

автомобиль не будет ехать по прямой между этими точками, поэтому точки надо брать очень часто


 
***(H@kker)*** ©   (2006-07-28 20:19) [4]

Я согласен с StriderMan, точки действительно надо брать очень часто, но тогда расстояние пройденное машиной будет обычная прямая и никаких формул для определения расстояния по сфере не нужно! Это так, к сведению.
А формулу можно использовать следующую:

S := Sqrt(sqr(N2-N1)+sqr(E2-E1))


P.S. Для таких случаев существуют справочники по физике и математике!:-)


 
Джо ©   (2006-07-28 20:31) [5]

> S := Sqrt(sqr(N2-N1)+sqr(E2-E1))

Это, если не ошибаюсь, для прямоугольных координат, а в сабже — географические.


 
PEAKTOP ©   (2006-07-29 14:45) [6]


> ***(H@kker)*** ©   (28.07.06 20:19) [4]
> S := Sqrt(sqr(N2-N1)+sqr(E2-E1))


Она подходит, если автомобиль движеться по идеально-ровной поверхности и нигде не сворачивает, разворачивается и т.д.....


 
TUser ©   (2006-07-30 17:24) [7]

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

Хотя, в предположении что ...., конечно есть методы высчитывания.


 
DimonS ©   (2006-07-31 02:08) [8]


> TUser ©   (30.07.06 17:24) [7]


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


Странно, но ведь поставляемая с системой GPS программа Mapper_Player каким-то способом высчитывает расстояние.
Точки берутся раз в несколько секунд, очень часто, за 12 часов - 900-2000 точек. Естесственно, расстояние складывается из отрезков прямой линии. Вот и нужна формула для определения длины этой линии по географическим координатам.


> Джо ©   (28.07.06 07:53) [1]

Интересная статейка, буду пробовать считать по ней.


 
DimonS ©   (2006-07-31 08:44) [9]


> Джо ©   (28.07.06 07:53) [1]


Спасибо за сцылку, в примере в Екселе отличная формула, точность ок 200-300 метров на 1000 км, вполне устраивает! :)


 
tButton ©   (2006-07-31 09:07) [10]


> Джо ©   (28.07.06 20:31) [5]

ну пользовались мы малясь GPSкой
и координаты считали при этом без поправки за кривизну земли
почти как в четвёртом посте
S := Sqrt(sqr(N2-N1)+sqr(E2-E1))
только нужно по-хорошему добавить ещё
S := Sqrt(sqr(N2-N1)+sqr(E2-E1)+sqr(H2-H1))

ПыСы
а если точки беруть раз в секунду-две
то на кривизну вообще можно забить



Страницы: 1 вся ветка

Текущий архив: 2006.09.10;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.032 c
2-1155897270
Voit
2006-08-18 14:34
2006.09.10
как скопировать выделенную строчку из DBgrid в листбокс!!! help!!


15-1155822658
Get
2006-08-17 17:50
2006.09.10
Поставить сеть...


2-1155730820
Shaman_
2006-08-16 16:20
2006.09.10
Освободить память после function MyFunction:TMemoryStream;


15-1152722095
Колдун
2006-07-12 20:34
2006.09.10
Любимые стихи


2-1156068282
Neket
2006-08-20 14:04
2006.09.10
Буфер обмена