Какова максимальная длина широты и долготы?

320

Как долго могут быть широта и долгота?

Я получаю очень длинные сообщения от устройства Windows Phone:

Latitude=-63572375290155
Longitude=106744840359415

Это превышает размер моего столбца таблицы, и я получаю ошибки.

user2273259
источник
7
Вы уверены, что это лат / лонг? Максимальные / минимальные из них - это широта от +90 до -90, от +180 до -180, я бы сказал, что пропущена запятая ... сохраните ее, так как float в БД будет достаточно, если она правильно отформатирована. Но я думаю, что что-то идет не так, потому что ваши ценности не могут быть правдой
Xavjer
2
Вы используете какой-то API для получения этих значений. Предположительно, API поставляется с документацией. Что говорится в документации о подразделениях?
NPE
19
Я подозреваю, что цифры на самом деле -63,572375290155 и 106,744840359415, что недалеко от побережья Антарктиды. Широта или долгота с семью знаками после запятой с точностью до 5 футов. Более 8 знаков после запятой - это шум.
Гилберт Ле Блан
1
Смотрите также
Росс Роджерс
1
Я голосую, чтобы закрыть этот вопрос как не по теме, потому что речь не идет о разработке программного обеспечения.
Джим Г.

Ответы:

646

Допустимый диапазон широт в градусах составляет -90 и +90 для южного и северного полушария соответственно. Долгота находится в диапазоне -180 и +180, указывая координаты к западу и востоку от меридиана, соответственно.

Для справки: экватор имеет широту 0 °, северный полюс имеет широту 90 ° северной широты (написано 90 ° с.ш. или + 90 °), а южный полюс имеет широту -90 °.

Главный меридиан имеет долготу 0 °, которая проходит через Гринвич, Англия. Смены дат (IDL) примерно следующим образом долготу 180 °. Долгота с положительным значением падает в восточном полушарии, а отрицательное значение падает в западном полушарии.

Точность десятичных градусов

Точность в шести (6) десятичных разрядах в координатах с использованием записи в десятичных градусах составляет 10 см (или 0,1 метра). Каждая разница .000001 в десятичном градусе координаты составляет приблизительно 10 см в длину. Например, изображения Google Earth и Google Maps обычно имеют разрешение 1 метр, а в некоторых местах разрешение выше 1 дюйма на пиксель. Разрешение в один метр может быть представлено с использованием 5 десятичных знаков, так что более 6 десятичных знаков не имеют значения для этого разрешения. Расстояние между долготами на экваторе такое же, как широта, но расстояние между долготами достигает нулей на полюсах, поскольку линии меридиана сходятся в этой точке.

Если значение широты указано как -6,3572375290155 или -63,572375290155, вы можете округлить и сохранить до 6 десятичных знаков с точностью 10 см (или 0,1 метра).

Для точности в миллиметрах (мм) представьте широту / долготу с 8 знаками после запятой в формате десятичных градусов. Поскольку большинству приложений такой уровень точности не нужен, для большинства случаев достаточно 6 десятичных знаков.

В другом направлении целые десятичные градусы представляют расстояние ~ 111 км (или 60 морских миль), а разница в 0,1 десятичного градуса представляет расстояние ~ 11 км.

Вот таблица разницы в # десятичных разрядов по широте с дельта-градусами и расчетным расстоянием в метрах с использованием 0,0 в качестве начальной точки.

decimal  decimal     distance
places   degrees    (in meters)
-------  ---------  -----------
  1      0.1000000  11,057.43      11 km
  2      0.0100000   1,105.74       1 km
  3      0.0010000     110.57
  4      0.0001000      11.06
  5      0.0000100       1.11
  6      0.0000010       0.11      11 cm
  7      0.0000001       0.01       1 cm

Степени минуты-секунды (DMS) представление

Для обозначения DMS 1 секунда дуги = 1/60/60 градусов = длина ~ 30 метров, а дельта 0,1 секунды составляет ~ 3 метра.

Пример:

  • 0 ° 0 '0 "W, 0 ° 0' 0" N -> 0 ° 0 '0 "W, 0 ° 0' 1" N => 30.715 метров
  • 0 ° 0 '0 "W, 0 ° 0' 0" N -> 0 ° 0 '0 "W, 0 ° 0' 0.1" N => 3.0715 метров

1 минута дуги = 1/60 градуса = ~ 2000 м (2 км)

ОБНОВЛЕНИЕ: Вот забавный пост в блоге о точности координат.

JasonM1
источник
2
Как насчет долготы. Сколько точности десятичного разряда достаточно для его удержания.
ArunRaj
14
Разница в 6 десятичных разрядов (0,000001) по широте составляет ~ 0,11 метра в длину и по долготе ~ 0,11 метра по широте, вблизи экватора и вблизи дельты полюсов по долготе - это значительно меньшее расстояние (4 десятичных градуса становится 20 см). Таким образом, в среднем 6 десятичных знаков достаточно для разрешения 10 см.
JasonM1
4
Спасибо за прекрасное объяснение.
ArunRaj
1
Могу ли я предложить использовать 0.1 mтам, где вы сейчас используете 10 cm(кроме случаев, когда вы говорите «примерно 10 см»). В противном случае отличный ответ.
Флорис
1
Подробнее о точности широты и долготы
Рик Джеймс
192
  • Широта : макс / мин +90до-90

  • Долгота : макс / мин +180до-180

Layke
источник
@RickJames К сожалению, в некоторых странах, да.
впибано
31

Допустимые значения долготы от -180 до 180 градусов.

Предполагается, что широты составляют от -90 до 90 градусов, но области, очень близкие к полюсам, не индексируются.

Таким точным пределом, как указано EPSG: 900913 / EPSG: 3785 / OSGEO: 41001, являются следующие:

  • Допустимые значения долготы от -180 до 180 градусов.
  • Допустимые широты составляют от -85,05112878 до 85,05112878 градусов.
Михаил Васин
источник
7
Ограничения, упомянутые в этом ответе, относятся к конкретной ПРОЕКТЕ КАРТЫ. Этот ответ не является правильным ответом на вопрос и вводит в заблуждение. Совершенно другая проблема.
bugmenot123
Знаете ли вы, почему действительные широты составляют от -85 до 85? Я искал повсюду, чтобы выяснить причину этого. Я хотел бы знать причину этого.
Людвиг
2
@Lurr Возможно, потому что вы не хотите заканчивать на Северном и Южном полюсе. Если земля немного сглажена на полюсах, то имеет
смысл сузиться и сгладить
24

Максимальная широта: 9 (12,3456789), долгота 10 (123,4567890), у них максимум 7 знаков после запятой (по крайней мере, это то, что я могу найти в Google Maps ),

Например, оба столбца в Rails и Postgresql выглядят примерно так:

t.decimal :latitude, precision: 9, scale: 7
t.decimal :longitude, precision: 10, scale: 7
Bengala
источник
8

Идеальный тип данных для хранения значений Lat Long в SQL Server является десятичным (9,6)

Как уже говорили другие, это с точностью около 10 см, при этом используется только 5 байт памяти.

например CAST(123.456789 as decimal(9,6)) as [LatOrLong]

ukgav
источник
0

Пожалуйста, проверьте систему координат UTM https://en.wikipedia.org/wiki/Universal_Transverse_Mercator_coordinate_system .

Эти значения должны быть в метрах для конкретной проекции карты. Например, пик горы Ассинибойн (50 ° 52′10 ″ с.ш. 115 ° 39′03 ″ з.д.) в зоне 11 UTM представлен 11U 594934.108296 5636174.091274, где (594934.108296, 5636174.091274) в метрах.

Kishantha
источник
0

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

Длина широты и долготы зависят от точности. Абсолютная максимальная длина для каждого:

  • Широта: 12 символов (пример: -90.00000001)
  • Долгота: 13 символов (пример: -180.00000001)

Для обоих трюмов: возможно максимум 8 десятичных разрядов (хотя обычно они не используются).

Объяснение зависимости от точности:

введите описание изображения здесь

Смотрите полную таблицу в десятичных градусах статьи в Википедии

jasie
источник