Как перевести градусы, минуты и секунды в десятичные градусы?
D + M/60 + S/3600 Десятичные градусы = градусы + минуты/60 + секунды/3600, со знаком минус для S и W. Пример: 39°54′33.2″N = 39 + 54/60 + 33.2/3600 = 39.909222°.
Перевод координат из любого формата — десятичные градусы, градусы минуты секунды, DDM — в UTM, Web Mercator и китайские GCJ-02 (AMap) и BD-09 (Baidu). Определяет порядок lat,lng/lng,lat, пакетно выгружает CSV. Работает в браузере.
По одной точке на строку: X (на север), затем Y (на восток) — порядок китайских геодезических таблиц.
| WGS-84 / CGCS2000 GPS, геолокация iOS, OpenStreetMap, Tianditu | 39.909230, 116.397428 39°54′33.23″N 116°23′50.74″E 39°54.5538′N 116°23.8457′E | |
|---|---|---|
| GCJ-02 AMap (Gaode), Tencent Maps, WeChat wx.getLocation gcj02 | 39.910634, 116.403672 | |
| BD-09 Карты Baidu (bd09ll) | 39.916973, 116.410044 | |
| Web Mercator (EPSG:3857) x, y в метрах — тайлы веб-карт | 12957302.415, 4852760.584 | |
| UTM (WGS-84) зона + полушарие, восточная и северная координаты в метрах | 50N 448496.425 4417856.475 | |
| CGCS2000, Гаусс — Крюгер 3° X (на север), Y (на восток, с префиксом зоны) | X=4419624.325 Y=39448475.815 | |
| CGCS2000, Гаусс — Крюгер 6° X (на север), Y (на восток, с префиксом зоны) | X=4419624.325 Y=20448475.815 |
GCJ-02 смещает эту точку на 555 м от ее положения в WGS-84.
Точка внутри прямоугольника, который популярные библиотеки считают «Китаем», — он захватывает и Корейский полуостров, часть Японии, Монголию и Вьетнам, где смещения быть не должно.
Каждая ссылка передает координаты, уже переведенные в систему этой карты, поэтому метка встает на правильное место.
| Строка | Ввод | Результат |
|---|
Написано и проверено разработчиками геоинструментов и инструментов кодирования этого сайта. Каждая координата, расстояние и величина ошибки на этой странице вычислены движком инструмента или взяты из описанных ниже замеров и проверены тестами.
D + M/60 + S/3600 Десятичные градусы = градусы + минуты/60 + секунды/3600, со знаком минус для S и W. Пример: 39°54′33.2″N = 39 + 54/60 + 33.2/3600 = 39.909222°.
GCJ-02 / BD-09 / WGS-84 AMap (Gaode), Tencent Maps и WeChat в режиме gcj02 работают в GCJ-02; карты Baidu — в BD-09, это второе смещение поверх GCJ-02; GPS, геолокация iOS и OpenStreetMap — в WGS-84. Ни один из трех китайских картографических API не умеет переводить обратно в WGS-84.
17.6–715 м Зависит от места: на сетке с шагом 0.05° по Китаю — от 17.6 до 715 м, медиана около 430 м. У площади Тяньаньмэнь около 555 м, в Гуанчжоу около 621 м. BD-09 добавляет еще 0.76–0.98 км.
Зависит от источника Google Maps и официальный порядок осей EPSG:4326 ставят широту первой; GeoJSON и API AMap и Baidu — долготу (116.403672,39.910634). Перепутанная пара уводит точку на тысячи километров, поэтому инструмент определяет порядок и объясняет, почему.
≈ 0.11 м На экваторе один градус — около 111.3 км, поэтому 5 знаков ≈ 1.1 м, 6 знаков ≈ 0.11 м, 7 знаков ≈ 1.1 см. Одна угловая секунда широты — около 30.8 м.
Эти шесть формул совпадают с движком инструмента; все значения в примерах вычислены им. Формулы 5 и 6 — это полное прямое преобразование GCJ-02: два полинома дают смещение, которое затем переводится в градусы через длины дуг на этой широте, — с теми же коэффициентами, что в gcoord и coordtransform.
DD = D + M/60 + S/3600
S/W: DD = -(D + M/60 + S/3600)
39°54′33.2″N →
= 39.9092222°
T = round(|DD| × 3600 × 10^k); D = ⌊T / (3600·10^k)⌋
M = ⌊(T − D·3600·10^k) / (60·10^k)⌋; S = remainder / 10^k
116.397428°, k = 2 →
= 116°23′50.74″
z = √(x² + y²) + 0.00002·sin(y·π·3000/180); θ = atan2(y, x) + 0.000003·cos(x·π·3000/180)
lng_bd = z·cos θ + 0.0065; lat_bd = z·sin θ + 0.006
GCJ-02 (116.403672, 39.910634) →
= BD-09 (116.410044, 39.916973)
x = R·λ; y = R·ln(tan(π/4 + φ/2)), R = 6378137
|φ| ≤ 85.0511287798066°
(116.397428°, 39.90923°) →
= (12957302.415, 4852760.584)
T_lat = −100 + 2x + 3y + 0.2y² + 0.1xy + 0.2√|x| + ⅔(20·sin 6πx + 20·sin 2πx) + ⅔(20·sin πy + 40·sin(πy/3)) + ⅔(160·sin(πy/12) + 320·sin(πy/30))
T_lng = 300 + x + 2y + 0.1x² + 0.1xy + 0.1√|x| + ⅔(20·sin 6πx + 20·sin 2πx) + ⅔(20·sin πx + 40·sin(πx/3)) + ⅔(150·sin(πx/12) + 300·sin(πx/30))
(116.397428, 39.90923) → x = 11.397428, y = 4.90923 →
= T_lat = 155.8381, T_lng = 533.8815
Δφ = T_lat·180 / (a(1 − e²)/W³·π); Δλ = T_lng·180 / (a/W·cos φ·π)
a = 6378245, e² = 0.00669342162296594323, W = √(1 − e²·sin²φ)
WGS-84 (116.397428, 39.90923) →
= GCJ-02 (116.403672, 39.910634)
WGS-84 — глобальная система координат, на которой работает GPS. Координаты от GPS-приемников, iOS Core Location (в документации указана система отсчета WGS 84) и OpenStreetMap заданы в WGS-84. Китайская CGCS2000 использует эллипсоид, который отличается от WGS-84 только в девятой значащей цифре сжатия, поэтому в разработке их можно считать одной системой.
GCJ-02, в народе «марсианские координаты», — система китайских картографических сервисов: официальная документация AMap и Tencent прямо говорит, что они используют GCJ-02, установленную китайским ведомством геодезии и картографии. Она добавляет к WGS-84 нелинейное смещение, зависящее от места, — по замерам от 17.6 до 715 м по территории Китая. Поэтому GPS-точка, нанесенная на AMap как есть, оказывается в нескольких сотнях метров от нужного места.
BD-09 — система карт Baidu, еще одно смещение поверх GCJ-02 (в документации Baidu: «повторно зашифрована на основе GCJ02»). Она бывает в двух видах: bd09ll (градусы) и bd09mc (метры); этот инструмент работает с bd09ll. Учтите, что bd09mc — не Web Mercator EPSG:3857: для одной и той же точки северная координата отличается на 17–30 км.
Инструмент использует опубликованные открытые формулы: прямые преобразования в GCJ-02 и BD-09 совпадают с gcoord и coordtransform, а обратные итерируются, пока ошибка кругового преобразования не станет меньше миллиметра. Формулы получены обратной разработкой, и публичной сверки с официальным алгоритмом нет, поэтому результаты годятся для разработки и обработки данных, но не для геодезической отчетности.
WGS-84 39.909230, 116.397428 (GPS / iOS / OSM) GCJ-02 39.910634, 116.403672 (AMap / Tencent) +555 m BD-09 39.916973, 116.410044 (Baidu) +1378 m AMap / Baidu API order: lng,lat → 116.403672,39.910634
Десятичные градусы, DMS, DDM, буквы d m s, китайская запись 北纬/东经 с 度分秒, буквы полушарий до или после числа и ссылки Google Maps вида @lat,lng читаются как есть — без предварительной чистки.
lng,lat из AMap/Baidu и lat,lng из Google распознаются, а причина выводится под полем. Для точек на западе Китая, где оба значения меньше 90, ввод в GCJ-02/BD-09 читается «сначала долгота» по правилу диапазона Китая.
Одна точка — семь ответов: WGS-84, GCJ-02, BD-09, Web Mercator, UTM и 3- и 6-градусные зоны Гаусса — Крюгера CGCS2000, у каждого своя кнопка копирования. Не нужно переключать направление перевода туда и обратно.
GCJ-02→WGS-84 и BD-09→GCJ-02 решаются итерацией неподвижной точки, а не распространенным одношаговым приближением, которое ошибается примерно на 0.36 м в Пекине, на 2.07 м в Шанхае и до примерно 4.9 м на сетке, покрывающей Китай. После 3–5 итераций круговая ошибка меньше 1 мм — это проверяют модульные тесты.
Зоны UTM учитывают исключения для Норвегии и Шпицбергена, полушарие обозначается буквами N/S. Гаусс — Крюгер строится на эллипсоиде CGCS2000: X на север, Y на восток (с префиксом зоны). Сверено с PROJ с точностью до 1 мм.
Вставьте до 5,000 строк — для каждой будет результат или причина ошибки. Выберите целевую систему и формат углов, затем скопируйте или скачайте CSV (UTF-8 с BOM). Данные не покидают браузер.
Поддерживает WGS84/GCJ02/BD09/BD09MC/EPSG:3857. Обратное преобразование GCJ-02 останавливается, когда невязка меньше 1e-6°, и по замерам ошибается до 0.147 м; обратное BD-09 выполняется в один шаг. Прямые результаты этого инструмента совпадают с gcoord, обратные — точнее.
Самая копируемая реализация. gcj02towgs84 — одношаговое обращение (в районе Шанхая ошибка около 2.07 м, на сетке — до примерно 4.9 м), а ее прямоугольник Китая (73.66–135.05° в. д., 3.86–53.55° с. ш.) не включает собственные крайние точки Китая, например северный Мохэ.
Эталонная реализация для UTM, Гаусса — Крюгера и систем EPSG: проекции этого инструмента совпадают с ней в пределах 1 мм. В PROJ нет GCJ-02 и BD-09, так что координаты китайских карт все равно нужно обрабатывать отдельно.
/v3/assistant/coordinate/convert переводит координаты GPS или Baidu в координаты AMap, но обратно в GPS не переводит, требует ключ API и отправляет ваши координаты на сервер.
Переводит координаты GPS, AMap/Tencent, bd09ll и bd09mc в координаты Baidu. В документации сказано, что по требованиям закона ни один тип координат нельзя перевести в GPS.
DMS в десятичные градусы — одна строка (=D+M/60+S/3600), но формулы GCJ-02, BD-09 и Гаусса — Крюгера длинные, и в них легко ошибиться. Для больших объемов вставьте данные сюда и выгрузите CSV.
Исходная система: GCJ-02 116.403672,39.910634
WGS-84: 39.909230, 116.397428 BD-09: 39.916973, 116.410044
API AMap возвращает долготу первой; инструмент читает пару именно так, потому что 116 больше 90. Обратное преобразование итерируется — распространенное одношаговое приближение ошибается здесь на 0.074 м, в районе Шанхая — примерно на 2.07 м, а на сетке, покрывающей Китай, — до примерно 4.9 м (в северо-восточном углу).
Исходная система: WGS-84 39°54′33.2″N 116°23′50.7″E
WGS-84: 39.909222, 116.397417
39 + 54/60 + 33.2/3600 = 39.909222 и 116 + 23/60 + 50.7/3600 = 116.397417. Китайская запись 北纬39度54分33.2秒,东经116度23分50.7秒 дает тот же результат.
Исходная система: WGS-84 31.2304, 121.4737
3°: X=3457455.489 Y=40640412.315 6°: X=3457523.539 Y=21354575.479
Шанхай на 121.47° в. д. попадает в 3-градусную зону 40 (осевой меридиан 120° в. д.) и 6-градусную зону 21 (осевой меридиан 123° в. д.). Разные осевые меридианы дают разные X и Y; первые две цифры Y — номер зоны.
39.90923, 116.397428 31.239692, 121.499755 22.543096, 114.057865
39.910634, 116.403672 31.237678, 121.504188 22.540379, 114.062979
Несколько строк открывают пакетную таблицу; чтобы получить результат выше, выберите в поле «Перевести в» GCJ-02. Для передачи в API AMap перед выгрузкой CSV переключите «Порядок вывода» на lng, lat.
Ориентируйтесь на источник координат: GPS-приемники, геолокация iOS и OSM дают WGS-84; AMap, Tencent Maps и мини-программы WeChat с type: 'gcj02' — GCJ-02; карты Baidu — BD-09. На вход можно подавать и прямоугольные координаты (метры Web Mercator, UTM, Гаусс — Крюгер CGCS2000).
Читаются десятичные градусы, DMS, DDM, буквы N/S/E/W до или после числа и китайская запись 北纬/东经; значения разделяются запятыми, пробелами или точкой с запятой. Для Гаусса — Крюгера действует китайский геодезический порядок: сначала X (на север), затем Y (на восток); Y с префиксом зоны, например 39448475.815, задает зону автоматически.
Строка под полем сообщает, прочитаны ли значения как «широта, долгота» или «долгота, широта», и почему: по буквам полушарий, по значению больше 90 или по правилу диапазона Китая. Если оба значения меньше 90, порядок доказать нельзя, и принимается «сначала широта» — при необходимости смените «Порядок значений».
У каждой строки есть кнопка копирования, а «Порядок вывода» можно переключить на lng, lat для API AMap или Baidu. Многострочный ввод строит пакетную таблицу: выберите целевую систему и формат углов, затем скопируйте или скачайте CSV (UTF-8 с BOM, чтобы Excel открывал его без искажений).
В API AMap и Baidu долгота идет первой; Google Maps и большинство таблиц ставят первой широту. Если прочитать lng,lat как lat,lng, точка сместится на тысячи километров.
lat=116.403672, lng=39.910634
lat=39.910634, lng=116.403672
GPS-приемники и геолокация iOS выдают WGS-84. Если нанести их на AMap напрямую, метка уйдет на несколько сотен метров, а на Baidu — еще дальше. Сначала переведите координаты в систему самой карты.
AMap marker ← 39.909230, 116.397428 (WGS-84)
AMap marker ← 39.910634, 116.403672 (GCJ-02)
BD-09 отстоит от GCJ-02 еще на 0.76–0.98 км. Точку, снятую с карт Baidu, нужно переводить с исходной системой BD-09, а не использовать как GCJ-02.
GCJ-02 ← 39.916973, 116.410044 (from Baidu)
BD-09 → GCJ-02: 39.910634, 116.403672
EPSG:4326 — это градусы, EPSG:3857 — метры. Если передать 116.39 и 39.90 в EPSG:3857, точка окажется в нескольких сотнях метров от 0° с. ш. 0° в. д., в Гвинейском заливе.
EPSG:3857 x=116.397428, y=39.90923
EPSG:3857 x=12957302.415, y=4852760.584
Если сначала разложить значение на градусы, минуты и секунды, а потом округлить секунды, получаются недопустимые значения вроде 39°59′60.00″. Сначала округлите до последнего выводимого разряда, затем раскладывайте.
39°59′60.00″
40°00′00.00″
По Y без префикса зоны (например, 448475.815) нельзя определить осевой меридиан. Введите Y с префиксом зоны или укажите номер зоны отдельно.
X=4419624.325 Y=448475.815 (zone ?)
X=4419624.325 Y=39448475.815 (3° zone 39)
wgs ≈ 2·gcj − f(gcj) дает на сетке, покрывающей Китай (73.5–135° в. д., 18–53.5° с. ш., 35,321 узел), медианную ошибку 0.42 м и максимальную около 4.9 м — в северо-восточном углу, около 131° в. д., 53.25° с. ш. Инструмент повторяет шаг w ← g − Δ(w), пока приращение не станет меньше 1e-10° (не более 10 раз); сходимость — за 3–5 шагов, круговая ошибка меньше 1 мм. BD-09→GCJ-02 итерируется так же.lng_gcj02 или lat_wgs84 и указывайте в документации API, какой порядок используется — lng,lat или lat,lng. Большинство ошибок «метка не на месте» в продакшене — это неуказанная система или порядок.π там, где в распространенной формуле стоит x_pi, из-за чего расхождение доходит до 90 м, — проверьте, какой библиотекой пользовалась другая сторона. wx.getLocation({ type: 'gcj02' }). 59′60″. В пакетном режиме выберите формат углов DMS. Конвертеры
Конвертация между системами счисления — двоичной, hex, десятичной, восьмеричной и любой базой 2-36 мгновенно. Бесплатно, приватно — вся обработка в браузере.
Конвертеры
Введите знаковое целое и получите прямой, обратный, дополнительный и смещённый код сразу, от 4 до 64 бит. Или вставьте битовый паттерн либо hex-байт и увидите все пять прочтений рядом. Локально и бесплатно.
Конвертеры
Конвертация прав доступа Linux между восьмеричной записью (755, 644) и символами rwx. Готовые команды chmod и предупреждения о рискованных режимах вроде 777 — бесплатно, прямо в вашем браузере.
Конвертеры
Конвертируйте HEX в RGB, HSL, OKLCH, OKLAB и CMYK прямо в браузере — копируйте любой формат в один клик. Бесплатно, без регистрации, ваши цвета никогда не покидают страницу.
Конвертеры
Конвертируйте HEX-цвета в CMYK прямо в браузере. Наивное приближение на основе sRGB для предпросмотра печати. Бесплатно, без регистрации, ваши цвета остаются локально.
Конвертеры
Конвертируйте любой HEX-цвет в HSL прямо в браузере — поддерживаются 3-значные, 6-значные и 8-значные HEX с альфой. Бесплатно, мгновенно, без регистрации, ваши цвета никогда не покидают страницу.