Нахождение координат точки на линии

Вопросы общего характера по ГИС и дистанционному зондированию, не связанные с конкретным ПО.
rnazarov
Участник
Сообщения: 61
Зарегистрирован: 25 дек 2009, 15:44
Репутация: 3
Откуда: Казань

Re: Нахождение координат точки на линии

Сообщение rnazarov » 28 июн 2010, 16:03

И все же посмотрите лучше "Курс сфероидической геодезии" Морозова стр.131-135. Там замечательно все описано и приведены все алгоритмы решения на сфере, даже с контрольным примером.

Ерлан
Новоприбывший
Сообщения: 1
Зарегистрирован: 02 дек 2011, 08:41
Репутация: 0

Re: Нахождение координат точки на линии

Сообщение Ерлан » 02 дек 2011, 09:55

К той формуле тебе надо применить константу

Pifagoroff
Интересующийся
Сообщения: 34
Зарегистрирован: 19 дек 2011, 20:24
Репутация: 0
Откуда: Москва

Re: Нахождение координат точки на линии

Сообщение Pifagoroff » 12 янв 2012, 16:33

gAs писал(а):Спасибо за желание помочь! Простите, это мой первый опыт в ГИС, поэтому путаюсь с терминами.
MapX это компонент для разработки ГИС приложений от того же производителя что и MapInfo.
Приложение я пишу на Delphi.
Подробнее о задаче:
Все правильно, у меня дорога, которая представляет собой полилинию, состоящую из сегментов. Мне нужно на этой дороге нарисовать точку на определенном километре. Мне известны координаты начала и конца каждого сегмента, длина сегмента и общая длина дороги. Я вычисляю на каком сегменте полилинии находится данный километр, зная длины всех предыдущих сегментов я определяю сколько мне нужно отступить в киллометрах от начала найденного сегмента дороги.
Поэтому я пытался кратко сформулировать вопрос. После всех этих манипуляций у меня есть координаты широта/долгота начала и конца сегмента и расстояние, которое нужно отступить, но простыми формулами типа
х1+(х2-х1)*l/L и y1+(у2-у1)*l/L, где l-расстояние отступа, L-длина сегмента
у меня получаются неверные цифры, точка не попадает на дорогу. Я подозреваю, что нужно использовать формулы сферической геометрии.
Поэтому и прошу подсказать правильные формулы.
Еще раз спасибо. Надеюсь на Вашу помощь!

Вообще-то, если участки дорог небольшие, то по идее можно приближённо считать на плоскости. Возможно Вы длины считаете неправильно. Нужно так: l^2 = (x1-x2)*(x1-x2)*cos((y1+y2)/2)*cos((y1+y2)/2) + (y1-y2)*(y1-y2) . То есть разницу по долготе нужно умножать на косинус широты, как-то так... Да, и самое главное. Не забудьте длину вычисленную по теореме Пифагора из широты и долготы, умноженной на косинус широты, умножить на 111.11 , тогда точно будет длина в км.

Ответить

Вернуться в «Общие вопросы»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость