Как импортировать данные широты/долготы правильно в MySQL?

У меня есть набор данных названий города с их соответствующими широтами/долготами, как которые я загрузился в таблицу MySQL, так:

city_id | city_name | ДЕСЯТИЧНОЕ ЧИСЛО широты (9,6) | ДЕСЯТИЧНОЕ ЧИСЛО долготы (9,6)

Типичные координаты широты/долготы могли бы быть похожими на это: 54.284758 / 32.484736.

Однако я только заставляю значения с масштабом 2 появляться правильно в моей таблице, другими словами, эквиваленте ДЕСЯТИЧНОГО ЧИСЛА (5,2). Данные загружаются из текста CSV, это было экспортировано из OpenOffice Calc в целях UTF-8. Я знаю, что OpenOffice имеет некоторые проблемы с десятичными числами, но полная широта/долготы находится, конечно, в экспортируемом CSV. Если я открываю CSV with Notepad, данные прекрасны.

Кто-либо может видеть то, что я мог бы делать неправильно?

Спасибо.

ОБНОВЛЕНИЕ: Получил его работа, спасибо за весь вход. Я воссоздал все с нуля, новый файл схемы (я использую ORM), новый экспорт CSV, новая таблица, новые ДАННЫЕ ЗАГРУЗКИ INFILE, и это работает с корректным десятичным выводом. Бьет меня.

6
задан OMG Ponies 28 January 2010 в 02:53
поделиться

3 ответа

Это может быть излишним для ваших потребностей, но при работе географических данных вы можете рассмотреть возможность с использованием Spatial DENTSION MYSQL .

Добавим, что DataType, который вы используете в настоящее время, достаточно, чтобы представить данные, как он находится в вашем файле CSV. Есть либо что-то в вашем импортере, что вырубило его в момент импорта, или все, что вы используете для просмотра данных, урезают его.

5
ответ дан 17 December 2019 в 02:28
поделиться

Я бы предложил использовать строковый тип данных, такой как Varchar для хранения LAT, долго. Я работаю над приложением, которое делает широкое использование этих координат, и я не бежал в любые проблемы, хранящие его как строку. Хранение его в качестве ряда вы столкнетесь с точными проблемами.

просто что-то рассмотреть.

1
ответ дан 17 December 2019 в 02:28
поделиться

Почему вы просто не объявляете поля, как введите Double в своем таблице MySQL? Квалификаторы для количества цифр и цифр после десятичной точки являются необязательными.

0
ответ дан 17 December 2019 в 02:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: