Сколько значащих цифр я должен сохранить в своей базе данных для координаты GPS?

У меня есть в моей базе данных MySQL и координаты долготы и широты (данные GPS).

Это в настоящее время хранится как:

column     type
------------------------
geolat     decimal(10,6)
geolng     decimal(10,6)

Вопрос: Сделайте мне действительно нужен тип данных, столь же большой как decimal(10,6) правильно хранить координатные данные?

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

40
задан HK1 13 June 2014 в 18:25
поделиться

7 ответов

WGS84 данные обычно даются в виде координат в полностью десятичной системе счисления, обычно с 5-ю знаками после запятой, поэтому для широты (от -90 до +90) можно использовать десятичные(7, 5) (от -90.00000 до 90). 00000), для долготы можно использовать десятичные(8, 5) (от -180.00000 до 180.00000).

. 00001 дает точность около метра на экваторе

Тип данных DECIMAL/NUMERIC - целое число с фиксированной точностью масштабирования и всегда доступны как положительные, так и отрицательные части диапазона - они не влияют на точность или масштаб (очевидно, что для этого требуется память, но для DECIMAL выбора нет)

.
34
ответ дан 27 November 2019 в 01:53
поделиться

Это зависит от того, насколько точно вы хотите, чтобы ваше местоположение было точным. Очевидно, что чем больше, тем точнее, и чем меньше, тем более широкими будут Ваши результаты. Я бы посоветовал сохранить ваши значения большими, так как данных все равно не так уж много.

0
ответ дан 27 November 2019 в 01:53
поделиться

Я всегда работал с шестью цифрами после запятой. Раньше я выполнял ГИС-работы по военному контракту, и этого было достаточно.

.
4
ответ дан 27 November 2019 в 01:53
поделиться

Помните, что легче уменьшить данные, чем увеличить их. Обычно повышение точности данных невозможно даже без пересчета. А повторное измерение стоит дорого. Не зная больше ничего о вашей ситуации или отрасли, я бы сказал, что можно получить как можно больше данных/специфичности.

Данные, которые вы на самом деле используете, можно отбирать из этого набора. Если в итоге вам понадобится более высокая степень специфичности, вы всегда сможете пересчитать без пересчета.

Кроме того, я не уверен, что индексация необработанных данных - это лучшее, что можно сделать, так как это не дискретный набор элементов. Создание таблицы менее точных/меньше точек данных сделало бы индексы намного меньше.

.
3
ответ дан 27 November 2019 в 01:53
поделиться

Регулярное послание GGA на выходе NMEA Lat/lon составляет только 3 десятичных разряда с разрешением примерно 10 м на экваторе. Некоторые бренды добавляют пользовательскую дополнительную цифру, чтобы дать 1м.

4 цифры deg.mm mm/1000 также является общим.

Если вы используете RTK-GPS высокой точности конца, вам может понадобиться больше мест, чтобы получить точность мм

.
0
ответ дан 27 November 2019 в 01:53
поделиться

Можно также попробовать хранить (и/или работать с) свои координаты в разных единицах измерения. В одном проекте, над которым я работал, все наши координаты хранились в миллисекундах в виде длинны (может быть, в интах, прошло уже пару лет). Это было сделано частично для скорости и для места хранения (это была встраиваемая система). Но здесь может быть применена та же логика

.
0
ответ дан 27 November 2019 в 01:53
поделиться

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

1
ответ дан 27 November 2019 в 01:53
поделиться
Другие вопросы по тегам:

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