Координаты Google.Maps и Яндекс.Карты
Имеется 2 вопроса, на которые интересно получить ответ, в интернете не смог найти ответа.
1. какой тип данных использовать для хранения координат в БД MySQL? координаты имеют вид: 50.12345 (только не знаю точно сколько цифр до точки и после) Как я понимаю логичнее использовать тип FLOAT и хранить в двух полях. Если есть, знаток координат, то подскажите сколько цифр может быть до и после точки. 2. у Google.Maps и Яндекс.Карты одна система координат. Следовательно координаты от гугла подходят к яндексу, правда говорят что есть смещения на *цать метров. У кого-то есть реальный опыт одновременного использования двух видов карт на сайте? Поделитесь, какое реально идет смещение. |
Цитата:
|
Цитата:
Ну раз так, то наверно логичнее использовать VARCHAR. Тогда можно хранить в одном поле через пробел или запятую. Еще бы кто-то подсказал какая размерность у координат, чтобы создать VARCHAR нужной длины. |
DOUBLE и числа такого типа 53.6754
|
Коллеги, если в запросах планируются какие то вычисления с координатами, то VARCHAR не покатит!
Юзаю FLOAT, из ног в руки проблем не наблюдал.. Делал выборки из базы, доставая точки относительно другой в определенном радиусе и сравнивал с результатами функций яшкиного API для определения расстояний - погрешности были настолько минимальны, что можно было и забить. |
Цитата:
если ты не собираешься мерить расстояния от струи пениса комара в Москве до четвертой по счёту щёточки на второй левой лапке майского жука во Владивостоке :) |
Цитата:
Цитата:
Цитата:
|
Цитата:
для целой части тройки достаточно |
Цитата:
Цитата:
|
Цитата:
Если верить Яндексу (я сейчас написал вывод координат для точек на карте) то смог установить что координаты бывают как положительные, так и отрицательные. Целая часть 3 знака. Дробная часть до 6 знаков. При попытке создать DOUBLE( 3, 6 ) получаем ошибку: Цитата:
Тут я был не прав, даже с DOUBLE( 6, 6 ) при попытке сохранить число 123.123456 я получил ошибку Цитата:
|
судя по документации MySQL
Цитата:
|
И опять я ошибся, в гугле координаты вида "30.3102493286133".
Следовательно: DOUBLE( 17, 14 ) Если ошибаюсь, поправьте. |
Цитата:
для того чтобы рассчитать необходимое расстояние от точки до точки, если дело не касается подобных расчетов Необходимо немного отвлечься от программирования и освежить в голове географию, коллега ;) |
используйте просто DOUBLE без каких либо значений... Мускул сам разберется с цифрами.
|
Цитата:
|
Цитата:
На самом деле я не знаю насколько эта избыточность данных критична, в отношении оптимизации работы сервера. Цитата:
|
Не знаю как насчет сотни тысяч, на десяти тысячах у меня летает,
без всяких отдельных таблиц для координат и индексов.. |
Часовой пояс GMT +3, время: 19:50. |