Калькулятор перевода координат поворотных точек. Как перевести географические координаты в прямоугольные

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

Дата: 2013-01-19

Дополнительное программное обеспечение и утилиты для работы с картографической информацией: геокалькуляторы, пересчёт координат карт и листов карт, преобразователи форматов, конвертеры ГИС форматов, конвертеры для навигаторов, навигационный софт и прочее...

Google Earth
Google Earth (Гугл Планета Земля)
- программа от корпорации Google, которая представляет собой трехмерную модель земного шара, образованную из снимков, сделанных со спутника. Кроме того, в программе присутствует функция «Google Street View» при помощи которой можно просматривать улицы в различных городах планеты, а также культурные и архитектурные памятники.
ВозможностиGoogleПланетаЗемляПро- https://www.google.ru/intl/ru/earth/download/gep/agree.html
Расширенные возможности импорта данных GIS.
Измерение площади, протяженности и периметра земельных участков.
Печать скриншотов в высоком разрешении.
Создание потрясающих офлайн-фильмов.
Нас интересуют Земля Google особенно Про версия и модули к ней. Я использую данную мини ГИС для отправки своей информации людям не имеющим возможности иметь дорогой софт. В ней можно писать и она всё понимает.
Работа с KML
KML - это формат файлов, который применяется для отображения географических данных в Google Планета Земля.
Так с помощью скриптов можно визуализировать практически любую картинку, можно натянуть растр, отобразить трёхмерные объекты, с помощью
SketchUp Pro - https://www.sketchup.com/
Сегодня программа считается одной из самых продвинутых программ для трехмерного моделирования, ведь в ее арсенале заложен широкий перечень возможностей для комфортной работы с 3D-моделями.
There’s a reason SketchUp is synonymous with friendly and forgiving 3D modeling software: we don’t sacrifice usability for the sake of functionality. Start by drawing lines and shapes. Push and pull surfaces to turn them into 3D forms. Stretch, copy, rotate and paint to make anything you like.
или в Pythagoras, с помощью модуля Google 3D Rendering Macro
......Получаются вполне рабочие проекты. Очень удобно, особенно для тех кому нужно передать большой объём информации по сети. Умельцы изобретают модули к программе. Можно пользоваться GoogleMV , которая просматривает и таскает на Ваш ПК карты из Google, gms , которая имеет примерно те же функции, MapBuilder- Программа для создания фотографий земной поверхности на основе сайта Google Maps. Она позволяет скачивать снимки с Google Maps и объединять их в один большой файл. Земля может и многое другое, о чём Вы даже не догадываетесь...Как собственно весь софт к которому можно писать макросы...

GPSMapEdit
GPSMapEdit от Geopaintin
g - http://geopainting.com/
Эта программа предназначена для визуального редактирования GPS-карт в различных картографических форматах
Программа может загружать и конвертировать GPS-треки, путевые точки и маршруты в различных форматах.

OLEXA RIZNYK"S GPS PAGES
Программы от OLEXA RIZNYK"S GPS PAGES
- http://www.olexa.com.ua/gps/index.html
Данная утилита осуществляет «порезку полигонов», которые в силу ограничений,
не могут отображаться в GPS Garmin.
PGPSMAP- cGPSmapper data preprocessor
XYZ2PMF -Global Mapper ASCII to cGPSmapper"s Polish Map Format elevation data Converter
PMF2MI =cGPSmapper Garmin MapSource maps format to MapInfo GIS converter

cGPSmapper
cGPSmapper
- http://cgpsmapper.com/
Это собственно и есть программа, которая превращает текстовый файл в IMG-файл карты для GPS.
cGPSmapper - is a compiler that converts geographic features in the textual mp (Mapa Polska) format into the .img format required for Garmin GPS units. cgpsmapper was one of the first tools for making your own Garmin maps, if not the first. Since some other free tools require it for full functionality, it’s pretty much a must-have program for Garmin map creators.

Пособие по преобразованию между различными системами координат

Службы позиционирования, включая навигацию на основе GPS и картографические сайты, такие как Google Maps и Yahoo! Maps, становятся популярными среди пользователей. Множество организаций уже используют сервисы, связанные с использованием информации о географических координатах, и еще больше компаний пойдут по этому пути, как только осознают преимущества и потенциал подобных приложений. В 2006 году аналитическая компания Gartner отметила, что "приложения, связанные с позиционированием, станут массовыми в течение следующих двух-пяти лет" и что уже "значительное число организаций развернули мобильные бизнес-приложения, использующие позиционирование". (В разделе приведена ссылка на этот отчет.)

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

Две различные системы координат

Прежде чем погрузиться в код, представленный в этой статье, необходимо обсудить координатные системы, для поддержки которых этот код предназначен: известная система широты и долготы и универсальная поперечная проекция Меркатора (Universal Transverse Mercator - UTM). Также нужно коснуться военной системы координат (Military Grid Reference System - MGRS), которая основана на UTM.

Широта и долгота

Системы широты и долготы, вероятно, самый известный способ определения географических координат. В ней местоположение представляется двумя числами. Широта - это угол от центра земли к некоторой параллели на земной поверхности. Долгота - это угол от центра земли к некоторому меридиану на земной поверхности. Широта и долгота могут быть выражены в десятичных градусах (DD) или градусах, минутах и секунда (DMS); в последнем случае получаются числа в таком формате - 49°30"00" S 12°30"00" E. Этот формат обычно используется в GPS-навигаторах.

Земля разделена экватором (0° широты) на северное и южное полушария, и нулевым меридианом (0° долготы), воображаемой линией от северного к южному полюсу, которая проходитчерез город Гринвич в Великобритании и делит планету на восточное и западное полушарие. Диапазон широт в северном полушарии от 0 до 90 градусов, а в южном полушарии - от 0 до -90 градусов. Диапазон восточного полушария от 0 до 180 градусов, а западного полушария от 0 до -180 градусов.

Например, точка с координатами 61.44, 25.40 (в формате DD) или 61°26"24""N, 25°23"60""E (в формате DMS) находится в южной Финляндии. А точка с координатами -47.04, -73.48 (DD) или 47°02"24""S, 73°28"48""W (DMS) находится в южном Чили. На рисунке 1 приведено изображение Земли с перекрывающимися линиями параллелей и меридианов:


Дополнительную информацию можно найти в разделе .

Поперечная проекция Меркатора

Система координат UTM - это метод, использующий сетку для определения координат. Система UTM делит Землю на 60 зон, каждая из которых основана на поперечной проекции Меркатора. Проекция карты в картографии - это способ представить двумерную неровную поверхность на плоскости, как обычную карту. На приведена поперечная проекция Меркатора:


Зоны долготы в UTM пронумерованы от 1 до 60; все зоны кроме двух, о которых будет рассказано позже, имеют ширину 6° от востока до запада. Зоны долготы полностью покрывают поверхность Земли между широтами 80°S и 84°N.

Также есть 20 зон широты, каждая в 8° высотой; эти зоны пронумерованы от C до X, буквы I и O пропущены. Зоны A, B, Y и Z находятся за пределами этой системы, они покрывают Арктику и Антарктику. На приведены UTM зоны для Европы. На этом рисунке видны две нестандартные зоны долготы: зона 32V расширена для покрытия всей южной Норвегии, а зона 31V сокращена, чтобы покрывать только водное пространство.

Координаты в UTM представлены в формате зона долготы зона широты восточное склонение северное склонение , где восточное склонение - это проекционное расстояние от центрального меридиана зоны долготы, северное склонение - это проекционное расстояние от экватора. Значения восточного и северного склонений задаются в метрах. Например, координаты широты/долготы 61.44, 25.40 в UTM представлены как 35 V 414668 6812844; координаты широты/долготы -47.04, -73.48 соответствуют координатам 18 G 615471 4789269 в UTM.

Класс CoordinateConversion

CoordinateConversion - это главный класс, объекты которого создаются при необходимости выполнения преобразования координат. В листинге 1 приведены существенные public методы вместе с внутренними private классами, входящими в класс CoordinateConversion:

Листинг 1. CoordinateConversion
public class CoordinateConversion { public CoordinateConversion() { } public double utm2LatLon(String UTM) { UTM2LatLon c = new UTM2LatLon(); return c.convertUTMToLatLong(UTM); } public String latLon2UTM(double latitude, double longitude) { LatLon2UTM c = new LatLon2UTM(); return c.convertLatLonToUTM(latitude, longitude); } //..реализация пропущена private class LatLon2UTM { public String convertLatLonToUTM(double latitude, double longitude) { //..реализация пропущена } //..реализация пропущена } private class LatLon2MGRUTM extends LatLon2UTM { public String convertLatLonToMGRUTM(double latitude, double longitude) { //..реализация пропущена } //..реализация пропущена } private class MGRUTM2LatLon extends UTM2LatLon { public double convertMGRUTMToLatLong(String mgrutm) { //..реализация пропущена } //..реализация пропущена } private class UTM2LatLon { public double convertUTMToLatLong(String UTM) { //..реализация пропущена } //..реализация пропущена } private class Digraphs { //используется для получения двухбуквенных кодов //при преобразовании от долготы/широты к MGRS //..реализация пропущена } private class LatZones { //включает методы для определения зон широты //..реализация пропущена }

В следующем разделе подробно рассматриваются преобразования между долготой/широтой и UTM.

Преобразование от широты/долготы к UTM

Координаты преобразуются от широты/долготы в UTM с помощью метода String latLon2UTM(double latitude, double longitude) . Реализация этого метода создает экземпляр внутреннего класса LatLon2UTM c = new LatLon2UTM(); и возвращает координаты UTM в виде 15-символьной строки с точностью 1 метр. Реализация методов класса LatLon2UTM приведена в листинге 2:

Листинг 2. public String convertLatLonToUTM(double latitude, double longitude)
public String convertLatLonToUTM(double latitude, double longitude) { validate(latitude, longitude); String UTM = ""; setVariables(latitude, longitude); String longZone = getLongZone(longitude); LatZones latZones = new LatZones(); String latZone = latZones.getLatZone(latitude); double _easting = getEasting(); double _northing = getNorthing(latitude); UTM = longZone + " " + latZone + " " + ((int) _easting) + " "+ ((int) _northing); return UTM; }

Этот метод выполняет преобразование, вызывая различные методы для получения зоны широты и зоны долготы, вычисления восточного и северного склонения и т.д. Входные данные проверяются в методе validate() , если выражение (latitude < -90.0 || latitude > 90.0 || longitude < -180.0 || longitude >= 180.0) принимает значение true, то сбрасывается исключительная ситуация IllegalArgumentException .

Метод setVariables() в листинге 3 устанавливает различные переменные, требующиеся для вычисления преобразований (дополнительная информация представлена в статье "The Universal Grids", ссылка на которую приведена в разделе :

Листинг 3. protected void setVariables(double latitude, double longitude)
protected void setVariables(double latitude, double longitude) { latitude = degreeToRadian(latitude); rho = equatorialRadius * (1 - e * e) / POW(1 - POW(e * SIN(latitude), 2), 3 / 2.0); nu = equatorialRadius / POW(1 - POW(e * SIN(latitude), 2), (1 / 2.0)); double var1; if (longitude < 0.0) { var1 = ((int) ((180 + longitude) / 6.0)) + 1; } else { var1 = ((int) (longitude / 6)) + 31; } double var2 = (6 * var1) - 183; double var3 = longitude - var2; p = var3 * 3600 / 10000; S = A0 * latitude - B0 * SIN(2 * latitude) + C0 * SIN(4 * latitude) - D0 * SIN(6 * latitude) + E0 * SIN(8 * latitude); K1 = S * k0; K2 = nu * SIN(latitude) * COS(latitude) * POW(sin1, 2) * k0 * (100000000) / 2; K3 = ((POW(sin1, 4) * nu * SIN(latitude) * Math.pow(COS(latitude), 3)) / 24) * (5 - POW(TAN(latitude), 2) + 9 * e1sq * POW(COS(latitude), 2) + 4 * POW(e1sq, 2) * POW(COS(latitude), 4)) * k0 * (10000000000000000L); K4 = nu * COS(latitude) * sin1 * k0 * 10000; K5 = POW(sin1 * COS(latitude), 3) * (nu / 6) * (1 - POW(TAN(latitude), 2) + e1sq * POW(COS(latitude), 2)) * k0 * 1000000000000L; A6 = (POW(p * sin1, 6) * nu * SIN(latitude) * POW(COS(latitude), 5) / 720) * (61 - 58 * POW(TAN(latitude), 2) + POW(TAN(latitude), 4) + 270 * e1sq * POW(COS(latitude), 2) - 330 * e1sq * POW(SIN(latitude), 2)) * k0 * (1E+24); }

Метод getLongZone() в листинге 4 и класс LatZones , доступный в , используются, чтобы узнать зону долготы и зону широты. Зона долготы вычисляется по параметру longitude , а зоны широты обычно представлены как константы, с помощью массива в классе LatZones .

Листинг 4. protected String getLongZone(double longitude)
protected String getLongZone(double longitude) { double longZone = 0; if (longitude < 0.0) { longZone = ((180.0 + longitude) / 6) + 1; } else { longZone = (longitude / 6) + 31; } String val = String.valueOf((int) longZone); if (val.length() == 1) { val = "0" + val; } return val; }

Метод getNorthing() в листинге 5 и метод getEasting() в листинге 6 вычисляют значения северного и восточного склонения. Оба метода используют переменные, установленные в методе setVariables() из .

Листинг 5. protected double getNorthing(double latitude)
protected double getNorthing(double latitude) { double northing = K1 + K2 * p * p + K3 * POW(p, 4); if (latitude < 0.0) { northing = 10000000 + northing; } return northing; }
Листинг 6. protected double getEasting()
protected double getEasting() { return 500000 + (K4 * p + K5 * POW(p, 3)); }

В листинге 7 приведены несколько примеров результатов работы программы, включая координаты в формате широта/долгота и соответствующие им UTM координаты:

Листинг 7. Тестовые преобразования от широты/долготы к значениям в UTM
(0.0000 0.0000) "31 N 166021 0" (0.1300 -0.2324) "30 N 808084 14385" (-45.6456 23.3545) "34 G 683473 4942631" (-12.7650 -33.8765) "25 L 404859 8588690" (-80.5434 -170.6540) "02 C 506346 1057742" (90.0000 177.0000) "60 Z 500000 9997964" (-90.0000 -177.0000) "01 A 500000 2035" (90.0000 3.0000) "31 Z 500000 9997964" (23.4578 -135.4545) "08 Q 453580 2594272" (77.3450 156.9876) "57 X 450793 8586116" (-89.3454 -48.9306) "22 A 502639 75072"

Преобразование от UTM к широте/долготе

Преобразование от координат в формате UTM к широте/долготе выполняется несколько проще, чем обратный процесс. В статье "The Universal Grids" в разделе ) приведены формулы преобразований. В листинге 8 приведен код метода convertUTMToLatLong() . Этот метод возвращает массив double значений, где первый элемент (с индексом массива ) - это широта, а второй элемент (с индексом массива ) - это долгота. Так как строковый параметр содержит координаты UTM с точностью до 1 метра, то и координаты в широте/долготе будут иметь такую же точность.

Листинг 8. public double convertUTMToLatLong(String UTM)
public double convertUTMToLatLong(String UTM) { double latlon = { 0.0, 0.0 }; String utm = UTM.split(" "); zone = Integer.parseInt(utm); String latZone = utm; easting = Double.parseDouble(utm); northing = Double.parseDouble(utm); String hemisphere = getHemisphere(latZone); double latitude = 0.0; double longitude = 0.0; if (hemisphere.equals("S")) { northing = 10000000 - northing; } setVariables(); latitude = 180 * (phi1 - fact1 * (fact2 + fact3 + fact4)) / Math.PI; if (zone > 0) { zoneCM = 6 * zone - 183.0; } else { zoneCM = 3.0; } longitude = zoneCM - _a3; if (hemisphere.equals("S")) { latitude = -latitude; } latlon = latitude; latlon = longitude; return latlon; }

Метод convertUTMToLatLong() разбивает координаты UTM во входном строковом параметре, которые имеют формат 34 G 683473 4942631 , и использует метод getHemisphere() для определения полушария, где находится место с указанными координатами. Определить полушарие просто: зоны широты A , C , D , E , F , G , H , J , K , L и M находятся в южном полушарии, а остальные зоны находятся в северном полушарии.

Метод setVariables() , показанный в листинге 9, устанавливает значения переменных, требуемых для вычисления, и затем немедленно вычисляют широту. Долгота вычисляется с использованием зоны долготы.

Листинг 9. protected void setVariables()
protected void setVariables() { arc = northing / k0; mu = arc / (a * (1 - POW(e, 2) / 4.0 - 3 * POW(e, 4) / 64.0 - 5 * POW(e, 6) / 256.0)); ei = (1 - POW((1 - e * e), (1 / 2.0))) / (1 + POW((1 - e * e), (1 / 2.0))); ca = 3 * ei / 2 - 27 * POW(ei, 3) / 32.0; cb = 21 * POW(ei, 2) / 16 - 55 * POW(ei, 4) / 32; cc = 151 * POW(ei, 3) / 96; cd = 1097 * POW(ei, 4) / 512; phi1 = mu + ca * SIN(2 * mu) + cb * SIN(4 * mu) + cc * SIN(6 * mu) + cd * SIN(8 * mu); n0 = a / POW((1 - POW((e * SIN(phi1)), 2)), (1 / 2.0)); r0 = a * (1 - e * e) / POW((1 - POW((e * SIN(phi1)), 2)), (3 / 2.0)); fact1 = n0 * TAN(phi1) / r0; _a1 = 500000 - easting; dd0 = _a1 / (n0 * k0); fact2 = dd0 * dd0 / 2; t0 = POW(TAN(phi1), 2); Q0 = e1sq * POW(COS(phi1), 2); fact3 = (5 + 3 * t0 + 10 * Q0 - 4 * Q0 * Q0 - 9 * e1sq) * POW(dd0, 4) / 24; fact4 = (61 + 90 * t0 + 298 * Q0 + 45 * t0 * t0 - 252 * e1sq - 3 * Q0 * Q0) * POW(dd0, 6) / 720; lof1 = _a1 / (n0 * k0); lof2 = (1 + 2 * t0 + Q0) * POW(dd0, 3) / 6.0; lof3 = (5 - 2 * Q0 + 28 * t0 - 3 * POW(Q0, 2) + 8 * e1sq + 24 * POW(t0, 2)) * POW(dd0, 5) / 120; _a2 = (lof1 - lof2 + lof3) / COS(phi1); _a3 = _a2 * 180 / Math.PI; }

Метод setVariables() использует значения восточного и северного склонений для установки требуемых переменных. Эти переменные принадлежат обоим классам и устанавливаются в методе convertUTMToLatLong(String UTM) из .

Другие методы

Также содержит другие public и private методы и классы. Например, туда включены методы и классы для преобразования координат между широтой/долготой и MGRS вместе с вспомогательными методами, выполняющими преобразование градусов в радианы и наоборот, и различными математическими операциями, такими как POW, SIN, COS, and TAN.

Заключение

В этой статье приведено немного теории по мировым системам координат вместе с Java-классов для выполнения преобразования координат из одной системы в другую. Хотя не все формулы для преобразования координат были подробно здесь рассмотрены, они доступны в разделе . Обычно теоретические сведения не требуются в ежедневном процессе разработки, кроме редких случаев, когда нет другого способа, как я недавно убедился, когда мне пришлось выполнять задачу преобразования координат.

Мне потребовалось выполнять преобразования между широтой и долготой, UTM и MGRS, так что я выполнил базовые исследования и реализовал эти преобразования в Java-классе. Для меня разработка заняла несколько часов, и я надеюсь, что и другие также смогут сэкономить несколько часов для других задач и сочтут полезным использование класса CoordinateConversion в собственной работе.

Например (по стандартной справке гуглсервис), долгота, в одном из форматов сервиса maps.google.ru - 41.40338° восточной долготы. Практически, в десятичных долях от геодезич-х градусов - достаточно пяти знаков после запятой, что соответствует максимально возможной фактической точности (до нескольких метров на горизонтали) обычных спутниковых приборов-навигаторов, предназначенных для гражданских пользователей.
Тогда, последовательность расчётов:
40338 / 100 000 = X / 60
X = (40338 * 60) / 100 000 ~ 24.2028 (из пропорции находим числитель правой дроби).
Целые минуты: 24"

2028 / 10 000 = X / 60
X = (2028 * 60) / 10 000 ~ 12.17
Секунды: 12.17"

Итог: 41.40338° = 41° 24" 12.17" (сорок один градус, двадцать четыре минуты, двенадцать целых и семнадцать сотых секунд).

Широта пересчитывается в той же последовательности.

В Гугле поддерживаются различные форматы угловых данных.

Примеры, как будет правильно

Сокращённые формы записи географических координат (северной широты, восточной долготы):

Градусы и, через пробел, минуты с их десятичными долями:
41 24.2028, 2 10.4418

Десятичные градусы:
41.40338, 2.17403

Полная форма записи угла (градусы, минуты, секунды с их десятичными долями):
41° 24" 12.1674", 2° 10" 26.508"

Упрощенный градусо-минутный вариант, который, возможно что сможет распознать Гугл, если в поисковой строке набираются по две пары чисел (целых градусов и минут), разделённых запятой:
41 24, 2 10

Сервис Гуглмап имеет онлайн-конвертер для преобразований координат и перевода их в нужный формат.

Онлайн-карты различных интернет-сервисов, дают возможность задавать и получать координаты местонахождения с точностью до шести десятичных знаков градусной величины, после запятой, то есть - до метра. Этого достаточно для совместной работы с современными авто-навигаторами и встроенными в мобильные устройства (смартфоны, планшеты и прочие гаджеты) приемниками сигналов спутниковой глобальной системы позиционирования ГЛОНАСС (Россия), GPS (США) и Beidou (Китай). Навигационные приборы, для "гражданских" пользователей, имеют погрешность однократного измерения - до нескольких метров (в горизонтальной плоскости на земной поверхности). Электронно-цифровые данные могут заметно различаться. У векторных карт - имеются существенные преимущества перед растровыми форматами: возможность автоматического поиска информации (по названию населённого пункта, характеристикам географического объекта) и быстрого обновления до актуальной версии, хорошая читаемость при увеличении/уменьшении масштаба, наслаивание тематических слоёв, получение объёмного трёхмерного изображения, возможность наложения скан-копий с бумажных материалов, например с советских топопланшетов.

Основные формы представления значений географических координат с точностью до первых метров:
градусы с стотысячными долями (ГГ.ГГГГГ°)
градусы, минуты с тысячными долями (ГГ° ММ.МММ")
градусы, минуты, секунды с десятыми долями (ГГ° ММ" CC.С")


Такое количество знаков после запятой, соответствует порядку максимально возможной точности однократного измерения обычных GPS-навигаторов, при их нормальной работе, в приемлемых условиях (удачное расположение спутников на небе, хороший уровень спутникового сигнала и т.д.) При многократных замерах на точке, зафиксированным прибором, точность позиционирования, теоретически - должна увеличиваться, за счёт набора статистики для определения математического среднего из облака числовых значений. Но, это не имеет особого смысла, если исходный спутниковый сигнал - программно модифицирован, и в нём присутствует искусственная ошибка в координатах, которую операторы увеличивают для обычных потребителей, к примеру, в военное время. В таких случаях, в режиме селективного доступа, для гражданских пользователей, появляются искажения данных - координатная сетка может быть существенно смещена относительно истинного положения.

При указании коорд-т зоны поиска, например, при потере тургруппы на маршруте, для проведения поисково-спасательных работ, дежурному сообщается предполагаемое местоположение пропавших, в виде цифр:
ГГ° ММ" CC" северной широты, ГГ° ММ" CC" восточной долготы

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

Для корректного представления и правильных расчётов, необходимо точно указывать, используемую для мобильного позиционирования, систему координат. Применяемые на практике:
WGS-84 (всемирная, на которой работают все GPS-навигаторы),
«Пулково-42» (CК-42, применявшаяся на старых военных картах советских времён),
МСК (какая-либо местная система коорд-т).

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

Гораздо удобнее искать положение точки, когда для плоского изображения применяется система прямоугольных (прямолинейных) координат. Этот вид исчисления иначе называется проекцией Гаусса - Крюгера, поскольку именно эти двое немецких ученых ее разработали для корректного отображения на карте искривленной земной поверхности. В нашей стране она до сих пор наиболее применима для военной картографии, геодезии и инженерного проектирования. У стран Запада популярно применение похожей системы координат UTM.

Алгоритмы перевода географических координат в прямоугольные

Для быстрого пересчета географических координат в прямолинейные и обратно действуют особые алгоритмы, которые стали основой автоматических программ по такому сервису. Разработаны также онлайн конвертеры, пересчитывающие как координаты Гаусса - Крюгера, так и UTM, когда градус нахождения объекта, даже его минута и секунда превращаются в точные метры - и наоборот, когда метры трансформируются в градусы.

В программу либо конвертер вводятся параметры широты с долготой, на которых расположен наш объект, а на выходе имеем величины x (горизонтальный параметр) и y (вертикальный параметр). Аналогично делается обратный перевод.

Формула пересчета (ключ) учитывает:

  • нумерацию зоны по Гауссу-Крюгеру (из имеющихся 60-ти);
  • коэффициент масштаба (для Гаусса-Крюгера это единица, для UTM это 0,9996);
  • тригонометрические функции;
  • начальную параллель;
  • осевой меридиан;
  • большую и малую полуоси;
  • условные смещения, присущие начальной параллели по северу, а также центральному меридиану по востоку;
  • величину приплюснутости;
  • эксцентриситет.

В спутниковой навигации ГЛОНАСС и GPS действует постоянное отслеживание координат любого заданного формата. Можно задать величины, чтобы показывалась широта и долгота, а одновременно отображались метры либо километры.

Кстати! Долгое время СССР ключи перевода засекречивал — он выдавался военными для геодезии по специальному запросу.

Что представляют собой прямоугольные координаты

Основа проекций эллипса на плоскость - что по Гауссу-Крюгеру, что по системе UTM - это принцип прямолинейных исчислений Декарта.

  • За горизонтальную ось X берется абсцисса (параллель), идущая на восток, за вертикальную Y - ордината (меридиан), идущая на север, за начало отсчета O - их пересечение.
  • Точка, отмеченная на плоскости карты, измеряется вертикальным расстоянием до линии оси X (это будет величина y ), плюс горизонтальным до линии оси Y (это будет величина x ).
  • Плоскость делится осями на 4 части - так называемых квадранта с нумерацией против часовой стрелки (I, II, III, IV): I квадрант верхний правый (северо-восток), II верхний левый (северо-запад), III нижний левый (юго-запад), IV нижний правый (юго-восток).

Величины имеют как плюсовое значение, так и минусовое, что зависит от положения относительно квадранта:

  • I квадрант имеет обе положительные величины (x , y) ;
  • II квадрант задает смешанные величины (-x , y) ;
  • III квадранту присущи обе отрицательные величины (-x ,-y) ;
  • IV квадрант обладает также смешанными величинами (x ,-y).

Далее системы имеют существенные различия.

Для проекции Гаусса-Крюгера отображаемая на карте территория разделена на 60 зон, где расстояние между меридианами приравнено к 6º. Отсчет идет от Гринвича к востоку и к экватору на север. За коэффициент масштаба взята единица. Точкой отсчета выступает пересечение выбранного меридиана с экватором.

Для разработанной американцами системы UTM характерны аналогичные деления на 60 зон, но расчетный меридиан иной - первая по нумерации зона ведет начало от меридиана 177º западной долготы. Также отличия касаются масштабного коэффициента - он равен 0,9996. В системе UTM отсутствуют отрицательные значения - для этого к западной абсциссе приплюсовывают 500 километров, а к южной ординате - 10 тысяч километров.

Где применяются прямоугольные системы

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

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

Конвертер систем координат

Конвертер координат МСК, СК-42/63, ПЗ-90, WGS-84

-- Выбор системы координат --
0.00 X ↔ Y 0.00 X ↔ Y

Хотите пересчитать координаты из одной системы координат в другую?

Здесь Вы сможете преобразовать координаты точек из используемых в России местных систем координат (СК) в мировые или наоборот, а также из одной местной СК в другую местную. Пересчитать за один раз можно как одну точку, так и целыми контурами.

Необходимость пересчета возникает, например, при определении положения точки на публичной кадастровой карте, которая работает в мировой системе координат WGS-84 (проекция Меркатора), другие картографические сервисы также используют WGS-84 (долготу и широту): Google.Maps, Яндекс.Карты, OpenStreet и др.

Инструкция:

Выберите из выпадающих список слева исходную систему координат, справа - целевую систему координат. Введите координаты в левое текстовое поле. Вводите в одной строке по одной точке (пункту), координаты отделяйте друг от друга в строке: Tab, точкой с запятой, пробелом, либо запятой. Целую часть от дробной - точкой, либо запятой (если она не использована в качестве разделителя). При вводе долготы и широты вводите значения в градусах и десятичных долях градусов, отделяя целую часть от дробной точкой. Нажмите на кнопку Конвертировать . Вы можете менять направление конвертации с помощью кнопки . Для очистки текстовых полей нажмите кнопку Очистить .

Совет: Вы можете открыть программу серии и выделить всю таблицу с координатами, нажать на кнопку Копировать в программе, а затем вставить эту информацию в левое поле конвертера, нажать кнопку Конвертировать .

Внимание: конвертер "внутри" работает в математической системе координат, поэтому если Вы конвертируете из геодезической системы координат (местные СК), то поставьте галочку X ↔ Y в левой части. Если Вы конвертируете из мировой СК, например, WGS 84, то такую галочку ставить не нужно, так как эта система математическая. Для получения на выходе координат в нужной последовательности, используйте галочку X ↔ Y в правой части. Вы можете округлить координаты до сотых: как до конвертации - левая галочка 0.00, так и после - правая галочка 0.00.

Внимание: при большом количестве точек пересчет может занять некоторое время. Если операция выполняется слишком длительно, то обновите страницу клавишей F5. Конвертируйте меньшее количество информации за один раз.

Сервис работает бесплатно. Количество конвертируемых точек не ограничено.


Сервис работает бесплатно, но Вы можете нас отблагодарить:
  • Поделитесь ссылкой в социальных сетях
  • Напишите на форумах об этом сервисе
  • Расскажите коллегам о существовании этого сервиса
  • Напишите отзыв на
Интернет