|
|
|
| Добрый день!
у меня есть обширная база данных городов с координатами Х и У . Стоит задача по введенным городам, от пункта А до пункта Б выводить расстояние между городами.Т.е. ВВожу одно поле Москва, в другое Питер, в третьем поле нужно чтоб появилось 700км.
Может кто сталкивался с подобной задачей? Подскажите как реализовать? | |
|
|
|
|
|
|
|
для: Silentium
(16.10.2009 в 16:43)
| | А X и Y, в вашем случае, это что? Знаете, сколько между X=500 и X=501 километров? Если да, то по теореме Пифагора :) | |
|
|
|
|
|
|
|
для: Temnovit
(16.10.2009 в 16:45)
| | Сколько там по теореме Пифагора километров между северным и южным полюсами? | |
|
|
|
|
|
|
|
для: Trianon
(16.10.2009 в 17:20)
| | Карта с координатами — плоскость. По-моему все считается.
http://www.pm298.ru/reshenie/Math/z031.JPG | |
|
|
|
|
 65.2 Кб |
|
|
для: Temnovit
(16.10.2009 в 17:38)
| | Карта-то плоская, а вот земля — нет. И это нужно учитывать при измерениях. | |
|
|
|
|
|
|
|
для: Саня
(16.10.2009 в 18:16)
| | точки в основном располагаются по территории россии и снг,
мож кто кинет формулу расчета? или по теореме пифагора считать? | |
|
|
|
|
|
|
|
для: Silentium
(19.10.2009 в 17:53)
| | Россия у нас большая, поэтому погрешности между Владивостоком и Калининградом окажутся довольно значительными.
По теореме пифагора посчитается только хорда (если принять форму земли за сферу). Для расчёта длины дуги достаточно знать только длину хорды и радиус сферы. Окончательную формулу выведите сами. | |
|
|
|
|
|
|
|
для: Silentium
(19.10.2009 в 17:53)
| | мне кажется х и у это неподходящие меры
широта и долгота вроде обычно используется для точек на поверхности земли
а карты это то как отображают на плоскости с незначительными для некоторых участков искажениями (причём есть разные проекции карты )
http://geography.su/atlas/item/f00/s00/z0000000/st005.shtml
Карты Советского Союза в масштабе 1:20000000 и мельче, разнообразные по тематике, составлены в нормальной конической равнопромежуточной проекции В. В. Каврайского, в которой хорошо передаются территории, расположенные в средних широтах. В данной проекции на параллелях, широты которых равны 47° и 62°, искажений нет. По мере удаления от этих параллелей искажения возрастают. Для широкого пояса, заключенного между параллелями с широтами 36° и 70°, искажения остаются еще очень небольшими. Это выявляется при рассмотрении фиг. 1 и 2, на которых приведены изоколы масштабов площадей, длин по параллелям и наибольших искажений углов. В пределах этого пояса отрезки прямых, соединяющие на картах какие-либо пункты, по своему положению и длине мало отличаются от отрезков соответствующих дуг большого круга, т. е. тех дуг, по которым измеряют кратчайшие расстояния на поверхности земного шара.
Только в северной части карты СССР искажения быстро нарастают. Так, на широте 80° искажения длин вдоль параллелей составляют уже 23,5%, а искажения углов доходят до 12°. | |
|
|
|
|
|
|
|
для: Silentium
(16.10.2009 в 16:43)
| | Довольно странное задание координат. Может, там всё же широта и долгота? | |
|
|
|
|
|
|
|
для: Киналь
(19.10.2009 в 20:59)
| | данные хранятся в виде X=55.25000000, Y=94.91000400 - как я понимаю это и есть широта и долгота..
Нашел в инете формулу такого типа:
http://js-php.ru/web-development/distance-from-dot-to-dot/
много косинусов и синусов | |
|
|
|
|
|
|
|
для: Silentium
(20.10.2009 в 09:48)
| | как бы называть широту и долготу буквами X и Y - верх безумия.
X и Y - координаты декартовы (прямоугольные) , широта и долгота - полярные.
Поэтому теорема Пифагора к ним имеет отношение весьма опосредованное, поэтому и тригонометрии изрядно в расчетах . | |
|
|
|
|
автор: Киналь_гость (20.10.2009 в 17:05) |
|
|
для: Silentium
(20.10.2009 в 09:48)
| | Если этим координатам соответствует что-то в районе Салехарда - то да, широта и долгота. | |
|
|
|
|
|
|
|
для: Silentium
(20.10.2009 в 09:48)
| | И дополнительный вопрос.
Требуется производить многочисленные вычисления расстояний (1000 - 10000 последовательных координат за раз). Результат - сумма длин отрезков.
Посоветуйте, на кого "скинуть" эту задачу: на MySQL с курсором или на PHP с циклом. | |
|
|
|