Яка максимальна довжина широти та довготи?


320

Як довго можуть бути широта і довгота?

Я отримую дуже великі довжини, надіслані пристроєм Windows Phone:

Latitude=-63572375290155
Longitude=106744840359415

Це перевищує розмір стовпця моєї таблиці, і я отримую помилки.


7
Ви впевнені, що це Lat / long? Макс / хв з них - лат +90 до -90, довгий +180 до -180, я б сказав, що кома відсутня ... збереження її як float у db буде достатньо, якщо вона форматована правильно. Але я думаю, що щось піде не так, тому що ваші цінності не можуть бути правдивими
Xavjer

2
Для отримання цих значень використовується деякий API. Імовірно, API постачається з документацією. Що говорить документація про підрозділи?
NPE

19
Я підозрюю, що це фактично -63.572375290155 та 106.744840359415, що знаходиться недалеко від узбережжя Антарктиди. Широта або довгота з семи десятковими знаками точні до 5 футів. Більше 8 знаків після коми - це шум.
Гілберт Ле Блан


1
Я голосую, щоб закрити це питання поза темою, оскільки справа не в розробці програмного забезпечення.
Джим Г.

Відповіді:


646

Дійсний діапазон широти в градусах становить -90 та +90 для південної та північної півкулі відповідно. Довгота знаходиться в діапазоні -180 та +180 із зазначенням координат на захід і схід від головного меридіана відповідно.

Для довідки, екватор має широту 0 °, північний полюс - широту 90 ° на північ (пишеться 90 ° с.ш. або + 90 °), а південний полюс - широта -90 °.

Основний меридіан має довжину 0 °, яка проходить через Грінвіч, Англія. Зміни дат (IDL) приблизно наступним чином довготу 180 °. Довгота з позитивною величиною падає у східній півкулі, а від'ємна - у західній.

Десяткові градуси точності

Точність шести (6) десяткових знаків у координатах із застосуванням позначень у десяткових градусах знаходиться у роздільній здатності 10 см (або 0,1 метра). Кожна різниця .000001 у десятковому ступені координат становить приблизно 10 см у довжину. Наприклад, зображення Google Планета Земля та Карти Google, як правило, мають роздільну здатність 1 метр, а деякі місця мають більш високу роздільну здатність 1 дюйм на піксель. Роздільна здатність одного метра може бути представлена ​​за допомогою 5 знаків після коми, тому для цієї роздільної здатності є більше 6 знаків після коми. Відстань між поздовжніми довколами на екваторі така ж, як і широта, але відстань між довжинами досягає нуля на полюсах, як лінії меридіана сходяться в цій точці.

Якщо значення Latitude повідомляється як -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 км)

ОНОВЛЕННЯ: Ось забавна публікація в блозі про точність координат.


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
Більше про lat / lng точність: mysql.rjweb.org/doc.php/latlng#representation_choices
Рік Джеймс

192
  • Широта : макс / хв +90до-90

  • Довгота : макс / хв +180до-180


@RickJames На жаль, у деяких країнах так.
vpibano

31

Дійсні довготи - від -180 до 180 градусів.

Широтні ширини повинні становити від -90 градусів до 90 градусів, але райони, розташовані дуже близько до полюсів, не підлягають індексації.

Точні обмеження, визначені EPSG: 900913 / EPSG: 3785 / OSGEO: 41001, є такими:

  • Дійсні довготи - від -180 до 180 градусів.
  • Дійсні широти - від -85.05112878 до 85.05112878 градусів.

7
Обмеження, зазначені у цій відповіді, призначені для конкретної ПРОЕКТІЇ КАРТИ. Ця відповідь не є коректною відповіддю на питання і вводить в оману. Зовсім інше питання.
bugmenot123

Чи знаєте ви, чому дійсні широти - від -85 до 85? Я роздивлявся всюди, щоб дізнатися причину, що стоїть за цим. Я хотів би дізнатися причину, що стоїть за цим.
Ludvig W

2
@Lurr Можливо тому, що ти не хочеш закінчуватися на Північному та Південному полюсах. Якщо земля трохи погладжується на полюсах, то вона дає сенс
звужуватися і сплющуватися

24

Максимальна широта широти: 9 (12.3456789), довгота 10 (123.4567890), обидва мають максимум 7 десяткових знаків (принаймні, те, що я можу знайти на Картах Google ),

Наприклад, обидва стовпці в Rails і Postgresql виглядають приблизно так:

t.decimal :latitude, precision: 9, scale: 7
t.decimal :longitude, precision: 10, scale: 7

8

Ідеальний тип даних для зберігання значень Lat Long у SQL Server - десятковий (9,6)

Як уже говорили інші, це приблизно з точністю до 10 см, тоді як використовується лише 5 байт сховища.

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


0

Перевірте систему координат UTM https://en.wikipedia.org/wiki/Universal_Transverse_Mercator_coordinate_system .

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


0

Я знаю, що вже є кілька відповідей, але я додав це, оскільки це додає значну інформацію про десяткові знаки і, отже, задану максимальну довжину.

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

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

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

Пояснення залежності від точності:

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

Дивіться повну таблицю в статті Десяткові градуси у Вікіпедії

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.