База данных/SQL: Как хранить данные долготы/широты?

Да, обновление сервера имен действительно работает и если оно действительно работает затем, Вы, вероятно, обновили свои настройки IP для помех, и сервер больше не может разрешать URL.

вышеупомянутое Попытки и если это работает, перезагрузка. Если это перестало работать после перезагрузки, то сделайте это:

Редактирование шаблонный файл для resolv.conf. Сервер Ubuntu восстанавливает эту каждую начальную загрузку.

sudo vi /etc/resolvconf/resolv.conf.d/tail

#add just these two lines >>
nameserver 8.8.8.8
nameserver 8.8.4.4  

Затем сохранили файл и перезапускают сервис:

sudo /etc/init.d/resolvconf restart

8.8.8.8 и 8.8.4.4 просто Серверы имен Google. Необходимо смочь добавить в собственном ISP, если Вы хотите. Если Вам не нравится vi, используйте nano или vim.

я изобразил его читающий этот статья . Так кредит им для подсказки.

69
задан 19 revsTimtom 3 September 2009 в 18:07
поделиться

5 ответов

float (10,6) вполне подойдет.

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

29
ответ дан 24 November 2019 в 13:56
поделиться

Я знаю, что вы спрашиваете о MySQL, но если пространственные данные важны для вашего бизнеса, вы можете пересмотреть свое мнение. PostgreSQL + PostGIS также является бесплатным программным обеспечением, и они имеют отличную репутацию в плане эффективного управления пространственными и географическими данными. Многие люди используют PostgreSQL только из-за PostGIS.

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

11
ответ дан 24 November 2019 в 13:56
поделиться

Я бы сохранил его как целые числа ( int , 4 байта), представленные в 1 / 1,000,000-й степени. Это даст вам разрешение в несколько дюймов.

Я не думаю, что в MySQL есть какой-то внутренний пространственный тип данных.

5
ответ дан 24 November 2019 в 13:56
поделиться

Проблема с использованием любого другого типа данных, кроме "пространственного" здесь, заключается в том, что ваш вид "прямоугольного выделения" может (обычно это зависит от того, насколько умна ваша СУБД - а MySQL определенно не такой) t обычно самый яркий) можно оптимизировать только в одном измерении.

Система может выбрать индекс долготы или широты и использовать его для сокращения набора строк для проверки. Но после этого есть выбор: (а) получить все найденные строки и просмотреть их и проверить «другое измерение», или (б) выполнить аналогичный процесс в «другом измерении», а затем после сопоставление этих двух наборов результатов, чтобы увидеть, какие строки появляются в обоих. Этот последний вариант не может быть реализован как таковой в вашей конкретной СУБД.

Пространственные индексы как бы делают последнее «автоматически», поэтому я думаю, можно с уверенностью сказать, что пространственный индекс даст лучшую производительность в любом случае, но также может случиться так, что он не значительно превосходит другие решения, и это просто не стоит заморачиваться. Это зависит от всевозможных вещей, таких как объем и распределение ваших фактических данных и т. Д. И т. Д.

Это, безусловно, правда, что индексы с плавающей запятой (древовидные) по необходимости медленнее, чем целочисленные индексы, из-за более длительного времени обычно требуется для выполнения '>' для чисел с плавающей запятой, чем для целых чисел. Но я был бы удивлен, если бы этот эффект был действительно заметен.

но также может случиться так, что он не значительно превосходит другие решения, и что это просто не стоит того. Это зависит от всевозможных вещей, таких как объем и распределение ваших фактических данных и т. Д. И т. Д.

Это, безусловно, правда, что индексы с плавающей запятой (древовидные) по необходимости медленнее, чем целочисленные индексы, из-за более длительного времени обычно требует выполнения '>' для чисел с плавающей запятой, чем для целых чисел. Но я был бы удивлен, если бы этот эффект был действительно заметен.

но может также случиться так, что он не значительно превосходит другие решения, и что это просто не стоит того. Это зависит от всевозможных вещей, таких как объем и распределение ваших фактических данных и т. Д. И т. Д.

Это, безусловно, правда, что индексы с плавающей запятой (древовидные) по необходимости медленнее, чем целочисленные индексы, из-за более длительного времени обычно требует выполнения '>' для чисел с плавающей запятой, чем для целых чисел. Но я был бы удивлен, если бы этот эффект был действительно заметен.

из-за того, что выполнение '>' для чисел с плавающей запятой обычно занимает больше времени, чем для целых чисел. Но я был бы удивлен, если бы этот эффект был действительно заметен.

из-за того, что выполнение '>' для чисел с плавающей запятой обычно занимает больше времени, чем для целых чисел. Но я был бы удивлен, если бы этот эффект был действительно заметен.

6
ответ дан 24 November 2019 в 13:56
поделиться

Это действительно зависит от того, как вы используете данные. Но из-за чрезмерного упрощения фактов десятичная дробь работает быстрее, но менее точна в приближении. Дополнительная информация здесь:

http://msdn.microsoft.com/en-us/library/aa223970 (SQL.80) .aspx

Кроме того, стандарт для координат GPS указан в ISO 6709:

http://en.wikipedia.org/wiki/ISO_6709

0
ответ дан 24 November 2019 в 13:56
поделиться
Другие вопросы по тегам:

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