Перевести географические координаты в прямоугольные. Выполнять преобразование координат стало проще

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

Службы позиционирования, включая навигацию на основе 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 в собственной работе.

4.1. ПРЯМОУГОЛЬНЫЕ КООРДИНАТЫ

В топографии наиболее широкое распространение получили прямоугольные координаты. Возьмем на плоскости две взаимно перпендикулярные линии - O Х и OY . Эти линии называют осями координат, а точка их пересечения (O ) - началом координат.

Рис. 4.1. Прямоугольные координаты

Положение любой точки на плоскости можно легко определить, если указать кратчайшие расстояния от осей координат до данной точки. Кратчайшими расстояниями являются перпендикуляры. Расстояния по перпендикулярам от осей координат до данной точки называют прямоугольными координатами этой точки. Отрезки, параллельные оси X , называют координатами х А , а параллельные оси Y - координатами у А .
Четверти прямоугольной системы координат нумеруются. Их счет идет по ходу часовой стрелки от положительного направления оси абсцисс - I, II, III, IV (рис. 4.1).
Прямоугольные координаты, о которых шла речь, применяют на плоскости. Отсюда они получили название плоских прямоугольных координат. Эту систему координат применяют на небольших участках местности, принимаемых за плоскость.

4.2. ЗОНАЛЬНАЯ СИСТЕМА ПРЯМОУГОЛЬНЫХ КООРДИНАТ ГАУССА

При рассмотрении вопроса «Проекции топографических карт» было отмечено, что поверхность Земли проектируется на поверхность цилиндра, который касается поверхности Земли по осевому меридиану. При этом на цилиндр проектируется не вся поверхность Земли, а лишь часть ее, ограниченная 3° долготы на запад и 3° на восток от осевого меридиана. Поскольку каждая из проекций Гаусса передает на плоскость только фрагмент поверхности Земли, ограниченный меридианами через 6° долготы, то всего на поверхность Земли должно быть составлено 60 проекций (60 зон). В каждой из 60 проекций образуется отдельная система прямоугольных координат.
В каждой зоне осью X является средний (осевой) меридиан зоны, вынесенный западнее на 500 км от своего фактического положения, а осью Y - экватор (рис. 4.2).


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

Пересечение вынесенного осевого меридиана с экватором будет началом координат: х = 0, у = 0 . Точка пересечения экватора и фактического осевого меридиана имеет координаты: х = 0, у = 500 км.
В каждой зоне имеется свое начало координат. Счет зон ведется от Гринвичского меридиана на восток. Первая шестиградусная зона расположена между Гринвичским меридианом и меридианом с восточной долготой 6º(осевой меридиан 3º). Вторая зона - 6º в.д. - 12º в.д (осевой меридиан 9º). Третья зона - 12º в.д. - 18º в.д. (осевой меридиан 15º). Четвертая зона - 18º в.д. - 24º в.д. (осевой меридиан 21º) и т.д.
Номер зоны обозначен в координате у первой цифрой. Например, запись у = 4 525 340 означает, что заданная точка находится в четвертой зоне (первая цифра) на расстоянии 525 340 м от осевого меридиана зоны, вынесенного западнее 500 км.

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

Пример. Определить номер зоны Гаусса для точки, имеющей восточную долготу 18º10".
Решение. К целому числу градусов долготы 18 прибавляем 6 и сумму делим на 6
(18 + 6) / 6 = 4.
Наша карта находится в четвертой зоне.

Затруднения при использовании зональной системы координат возникают в тех случаях, когда топографо-геодезические работы проводятся на приграничных участках, расположенных в двух соседних (смежных) зонах. Координатные линии таких зон располагаются под углом друг к другу (рис 4.3).

Для ликвидации возникающих осложнений введена полоса перекрытия зон , в которой координаты точек могут быть вычислены в двух смежных системах. Ширина полосы перекрытия 4°, по 2° в каждой зоне.

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

Рис. 4.3. Дополнительные километровые линии на границе зон

На карте масштаба 1:10 000 дополнительная сетка разбивается только на тех листах, у которых восточный или западный меридиан внутренней рамки (рамки трапеции) является границей зоны. На топографических планах дополнительная сетка не наносится.

4.3. ОПРЕДЕЛЕНИЕ ПРЯМОУГОЛЬНЫХ КООРДИНАТ С ПОМОЩЬЮ ЦИРКУЛЯ-ИЗМЕРИТЕЛЯ

Важным элементом топографической карты (плана) является прямоугольная сетка. На все листы данной 6-градусной зоны сетку наносят в виде рядов линий, параллельных осевому меридиану и экватору (рис. 4.2). Вертикальные линии сетки параллельны осевому меридиану зоны, а горизонтальные - экватору. Счет горизонтальных километровых линий ведется снизу вверх, а вертикальных - слева направо .

Интервалы между линиями на картах масштабов 1:200 000 - 1:50 000 составляют 2 см, 1:25 000 - 4 см, 1:10 000 - 10 см, что соответствует целому числу километров на местности. Поэтому прямоугольную сетку называют еще километровой , а ее линии - километровыми .
Километровые линии, ближайшие к углам рамки листа карты, подписывают полным числом километров, остальные - двумя последними цифрами. Надпись 60 65 (см. рис. 4.4) на одной из горизонтальных линий означает, что эта линия удалена oт экватора на 6065 км (к северу): надпись 43 07 у вертикальной линии означает, что она находится в четвертой зоне и удалена от начала счета ординат к востоку на 307 км. Если около вертикальной километровой линии записано трехзначное число мелкими цифрами, две первые обозначают номер зоны .

Пример. Надо определить по карте прямоугольные координаты точки местности, например, пункта государственной геодезической сети (ГГС) с отметкой 214,3 (рис. 4.4). Сначала записывают (в километрах) абсциссу южной стороны квадрата, в котором находится эта точка (т. е. 6065). Затем с помощью циркуля-измерителя и линейного масштаба определяют длину перпендикуляра Δх = 550 м , опушенного из заданной точки на эту линию. Полученную величину (в данном случае 550 м) добавляют к абсциссе линии. Число 6 065 550 есть абсцисса х пункта ГГС.
Ордината пункта ГГС равна ординате западной стороны того же квадрата (4307 км), сложенной с длиной перпендикуляра Δу = 250 м, измеренного по карте. Число 4 307 250 есть ордината того же пункта.
При отсутствии циркуля-измерителя расстояния измеряют линейкой или полоской бумаги .

х = 6065550, у = 4307250
Рис. 4.4. Определение прямоугольных координат с помощью линейного масштаба

4.4. ОПРЕДЕЛЕНИЕ ПРЯМОУГОЛЬНЫХ КООРДИНАТ С ПОМОЩЬЮ КООРДИНАТОМЕРА

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


х А = 6135 350 у А = 5577 710
Рис. 4.5. Определение прямоугольных координат с помощью координатомера

4.5. НАНЕСЕНИЕ НА КАРТУ ТОЧЕК ПО ЗАДАННЫМ ПРЯМОУГОЛЬНЫМ КООРДИНАТАМ

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

4.6. ВЫЧИСЛЕНИЕ ПЛОСКИХ ПРЯМОУГОЛЬНЫХ КООРДИНАТ ГАУССА ПО ГЕОГРАФИЧЕСКИМ КООРДИНАТАМ

Плоские прямоугольные координаты Гаусса х и у весьма сложно связаны с географическими координатами φ (широта) и λ (долгота) точек земной поверхности. Предположим, что некоторая точка А имеет географические координаты φ и λ . Поскольку разность долгот граничных меридианов зоны равна 6°, то соответственно для каждой из зон можно получить долготы крайних меридианов: 1-я зона (0° - 6°), 2-я зона (6° - 12°), 3-я зона (12° - 18°) и т.д. Таким образом, по географической долготе точки А можно определить номер зоны, в которой эта точка находится. При этом долгота λ ос осевого меридиана зоны определится по формуле
λ ос = (6°n - 3°),
в которой n - номер зоны.

Для определения плоских прямоугольных координат х и у по географическим координатам φ и λ воспользуемся формулами, выведенными для референц-эллипсоида Красовского (референц-эллипсоид - фигура, максимально приближенная к фигуре Земли в той ее части, на которой находится данное государство, либо группа государств):

х = 6367558,4969 (φ рад ) − {a 0 − l 2 N}sin φ cos φ (4.1)
у (l) = lNcos φ (4.2)

В формулах (4.1) и (4.2) приняты следующие обозначения:
у(l) - расстояние от точки до осевого меридиана зоны;
l = (λ - λ ос ) - разность долгот определяемой точки и осевого меридиана зоны);
φ рад - широта точки, выраженная в радианной мере;
N = 6399698,902 - cos 2 φ;
а 0 = 32140,404 - cos 2 φ;
а 3 = (0,3333333 + 0,001123 cos 2 φ) cos 2 φ - 0,1666667;
а 4 = (0,25 + 0,00252 cos 2 φ) cos 2 φ - 0,04166;
а 5 = 0,0083 - cos 2 φ;
а 6 = (0,166 cos 2 φ - 0,084) cos 2 φ.
у" - расстояние от осевого меридиана отнесенного западнее 500 км.

По формуле (4.1) значение координаты у(l) получают относительно осевого меридиана зоны, т.е. оно может получиться со знаками «плюс» для восточной части зоны или «минус» - для западной части зоны. Для записи координаты y в зональной системе координат необходимо вычислить расстояние до точки от осевого меридиана зоны, отнесенного западнее на 500 км"в таблице) , а впереди полученного значения приписать номер зоны. Например, получено значение
у(l) = -303678,774 м в 47 зоне.
Тогда
у = 47 (500000,000 - 303678,774) = 47196321,226 м.
Для вычислений используем электронные таблицы MicrosoftXL .

Пример . Вычислить прямоугольные координаты точки, имеющей географические координаты:
φ = 47º02"15,0543" с.ш.; λ = 65º01"38,2456" в.д.

В таблицу MicrosoftXL вводим исходные данные и формулы (таб. 4.1).

Таблица 4.1.

D

E

F

Параметр

Вычисления

Град

φ (град)

D2+E2/60+F2/3600

φ (рад)

РАДИАНЫ(C3)

Cos 2 φ

№ зоны

ЦЕЛОЕ((D8+6)/6)

λос (град)

l (град)

D11+E11/60+F11/3600

l (рад)

РАДИАНЫ(C12)

6399698,902-((21562,267-
(108,973-0,612*C6^2)*C6^2))*C6^2

а 0

32140,404-((135,3302-
(0,7092-0,004*C6^2)*C6^2))*C6^2

а 4

=(0,25+0,00252*C6^2)*C6^2-0,04166

а 6

=(0,166*C6^2-0,084)*C6^2

а 3

=(0,3333333+0,001123*C6^2)*C6^2-0,1666667

а 5

0,0083-((0,1667-(0,1968+0,004*C6^2)*C6^2))*C6^2

6367558,4969*C4-(((C15-(((0,5+(C16+C17*C20)*C20))

*C20*C14)))*C5*C6)

=((1+(C18+C19*C20)*C20))*C13*C14*C6

ОКРУГЛ((500000+C23);3)

СЦЕПИТЬ(C9;C24)


Вид таблицы после вычислений (таб. 4.2).

Таблица 4.2.

Параметр

Вычисления

Град

φ (град, мин, сек)

φ (градусы)

φ (радианы)

Cos 2 φ

λ (град, мин, сек)

Номер зоны

λос (град)

l (мин, сек)

l (градусы)

l (радианы)

а 0

а 4

а 6

а 3

а 5


4.7. ВЫЧИСЛЕНИЕ ГЕОГРАФИЧЕСКИХ КООРДИНАТ ПО ПЛОСКИМ ПРЯМОУГОЛЬНЫМ КООРДИНАТАМ ГАУССА

Для решения данной задачи также используются формулы пересчета, полученные для референц-эллипсоида Красовского.
Предположим, что нам необходимо вычислить географические координаты φ и λ точки А по ее плоским прямоугольным координатам х и у , заданным в зональной системе координат. При этом значение координаты у записано с указанием номера зоны и с учетом переноса осевого меридиана зоны западнее на 500 км.
Предварительно по значению у находят номер зоны, в которой расположена определяемая точка, по номеру зоны определяют долготу λ o осевого меридиана и по расстоянию от точки до отнесенного на запад осевого меридиана находят расстояние у(l) от точки до осевого меридиана зоны (последнее может быть со знаком плюс или минус).
Значения географических координат φ и λ по плоским прямоугольным координатам х и у находят по формулам:
φ = φ х - z 2 b 2 ρ″ (4.3)
λ = λ 0 + l (4.4)
l = zρ″ (4.5)

В формулах (4.3) и (4.5) :
φ х ″= β″ +{50221746 + cos 2 β}10-10sinβcosβ ρ″;
β″ = (Х / 6367558,4969) ρ″; ρ″ = 206264,8062″ - число секунд в одном радиане
z = У(L) / (Nx сos φx);
N х = 6399698,902 - cos 2 φ х;
b 2 = (0,5 + 0,003369 cos 2 φ х) sin φ х cos φ х;
b 3 = 0,333333 - (0,166667 - 0,001123 cos2 φ х) cos2 φ х;
b 4 = 0,25 + (0,16161 + 0,00562 сos 2 φ х) cos 2 φ х;
b 5 = 0,2 - (0,1667 - 0,0088 сos 2 φ х) cos 2 φ х.

Для вычислений используем электронные таблицы MicrosoftXL .
Пример . Вычислить географические координаты точки по прямоугольным:
x = 5213504,619; y = 11654079,966.

В таблицу MicrosoftXL вводим исходные данные и формулы (таб. 4.3).

Таблица 4.3.

1

Параметр

Вычисление

Град.

Мин.

Сек.

2

1

х

5213504,619

2

у

11654079,966

4

3

№*зоны

ЕСЛИ(C3<1000000;
C3/100000;C3/1000000)

5

4

№ зоны

ЦЕЛОЕ(C4)

6

5

λоос

C5*6-3

7

6

у"

C3-C5*1000000

8

7

у(l)

C7-500000

9

8

ρ″

206264,8062

10

9

β"

C2/6367558,4969*C9

11

10

β рад

РАДИАНЫ(C10/3600)

12

11

β

ЦЕЛОЕ
(C10/3600)

ЦЕЛОЕ
((C10-D12*3600)/60)

C10-D12*
3600-E12*60

13

12

Sin β

SIN(C11)

14

13

Cos β

COS(C11)

15

14

Cos 2 β

C14^2

16

15

φ х "

C10+(((50221746+((293622+
(2350+22*C14^2)*C14^2))*C14^2)))
*10^-10*C13*C14*C9

17

16

φ х рад

РАДИАНЫ(C16/3600)

18

17

φ х

ЦЕЛОЕ
(C16/3600)

ЦЕЛОЕ
((C16-D18*3600)/60)

C16-D18*
3600-E18*60

19

18

Sin φ.

SIN(C17)

20

19

Cos φ х

COS(C17)

21

20

Cos 2 φ х

C20^2

22

21

N х

6399698,902-((21562,267-
(108,973-0,612*C21)*C21))*C21

23

22

Ν х Cosφ х

C22*C20

24

23

z

C8/(C22*C20)

25

24

z 2

C24^2

26

25

b 4

0,25+(0,16161+0,00562*C21)*C21

27

26

b 2

=(0,5+0,003369*C21)*C19*C20

28

27

b 3

0,333333-(0,166667-0,001123*C21)*C21

29

28

b 5

0,2-(0,1667-0,0088*C21)*C21

30

29

C16-((1-(C26-0,12
*C25)*C25))*C25*C27*C9

31

30

φ

=ЦЕЛОЕ
(C30/3600)

=ЦЕЛОЕ
((C30-D31*3600)/60)

=C30-D31*
3600-E31*60

32

31

l"

=((1-(C28-C29*C25)*C25))*C24*C9

33

32

l 0

=ЦЕЛОЕ
(C32/3600)

=ЦЕЛОЕ
((C32-D33*3600)/60)

=C32-D33*
3600-E33*60

34

33

λ

C6+D33


Вид таблицы после вычислений (таб. 4.4).

Таблица 4.4.

Параметр

Вычисление

Град.

Номер зоны *

Номер зоны

λоос (град)

у"

β рад

Cos 2 β

φ х "

φ х рад

φ х

Cos φ х

Cos 2 φ х

N х

Ν х Cos φ х

z 2

b 4

b 2

b 3

b 5

φ

l 0

λ

Если вычисления произведены верно, копируем обе таблицы на один лист, скрываем строки промежуточных вычислений и колонку № п/п, а оставляем только строки ввода исходных данных и результатов вычислений. Форматируем таблицу и корректируем названия колонок и столбцов по вашему усмотрению.

Рабочие таблицы могут выглядеть так

Таблица 4.5.


Примечания .
1. В зависимости от требуемой точности можно увеличить или уменьшить разрядность.
2. Количество строк в таблице можно сократить, объединив вычисления. Например, радианы угла не вычислять отдельно, а сразу записать в формулу =SIN(РАДИАНЫ(C3)).
3. Округление в п. 23 табл. 4.1. производим для «сцепления». Число разрядов в округлении 3.
4. Если не изменить формат ячеек в колонках «Град» и «Мин», то нулей перед цифрами не будет. Изменение формата здесь выполнено только для зрительного восприятия (по решению автора) и на результаты вычислений не влияет.
5. Чтобы случайно не повредить формулы, следует защитить таблицу: Сервис / Защитить лист. Перед защитой выделить ячейки для ввода исходных данных, а затем: Формат ячеек / Защита / Защищенная ячейка - убрать галочку.

4.8. СВЯЗЬ ПЛОСКОЙ ПРЯМОУГОЛЬНОЙ И ПОЛЯРНОЙ СИСТЕМ КООРДИНАТ

Простота полярной системы координат и возможность ее построения относительно любой точки местности, принимаемой за полюс, обусловили ее широкое применение в топографии. Чтобы связать воедино полярные системы отдельных точек местности, необходимо перейти к определению положения последних в прямоугольной системе координат, которая может быть распространена на значительно большую по площади территорию. Связь между двумя системами устанавливается решением прямой и обратной геодезических задач.
Прямая геодезическая задача состоит в определении координат конечной точки В (рис. 4.4) линии АВ по длине ее горизонтального проложения d , направлению α и координатам начальной точки х А , у А .


Рис. 4.6. Решение прямой и обратной геодезических задач

Так, если принять точку А (рис. 4.4) за полюс полярной системы координат, а прямую АВ - за полярную ось, параллельную оси ОХ , то полярными координатами точки В будут d и α . Необходимо вычислить прямоугольные координаты этой точки в системе ХОУ.

Из рис. 3.4 видно, что х В отличается от х А на величину (х В - х А ) = Δх АВ , а у В отличается от у А на величину (у В - у А ) = Δу АВ . Разности координат конечной В и начальной А точек линии АВ Δх и Δу называют приращениями координат . Приращениями координат являются ортогональные проекции линии АВ на оси координат. Координаты х В и у В могут быть вычислены по формулам:

х В = х А + Δх АВ (4.1)
у В = у А + Δу АВ (4.2)

Значения приращений определяют из прямоугольного треугольника АСВ по заданным d и α, так как приращения Δх и Δу являются катетами этого прямоугольного треугольника:

Δх АВ =d cos α (4.3)
Δу АВ = d sin α (4.4)

Знак приращений координат зависит от угла положения.

Таблица 4.1.

Подставив значение приращений Δх АВ и Δу АВ в формулы (3.1 и 3.2), получим формулы для решения прямой геодезической задачи:

х В = х А + d cos α (4.5)
у В = у А + d sin α (4.6)

Обратная геодезическая задача заключается в определении длины горизонтального проложения d и направления α линии АВ по данным координатам ее начальной точки А (хА, уА) и конечной В (хВ, уВ). Угол направления вычисляется по катетам прямоугольного треугольника:

tg α = (4.7)

Горизонтальное проложение d , определяют по формуле:

d = (4.8)

Для решения прямой и обратной геодезической задачи можно воспользоваться электронными таблицами Microsoft Excel .

Пример .
Задана точка А с координатами: х А = 6068318,25; у А = 4313450,37. Горизонтальное проложение (d) между точкой А и точкой В равно 5248,36 м. Угол между северным направлением оси ОХ и направлением на точку В (угол положения - α ) равен 30º.

Рассчитать прямоугольные координаты точки В (х В , у В ).

Вводим исходные данные и формулы в электронные таблицы Microsoft Excel (таб. 4.2).

Таблица 4.2.

Исходные данные

х А

у А

Вычисления

Δх АВ = d cos α

B4*COS(РАДИАНЫ(B5))

Δу АВ = d sin α

B4*SIN(РАДИАНЫ(B5))

х В

у В


Вид таблицы после вычислений (таб. 4.3) .

Таблица 4.3.

Исходные данные

х А

у А

Вычисления

Δх АВ = d cos α

Δу АВ = d sin α

х В

у В

Пример .
Заданы точки А и В с координатами:
х А = 6068318,25; у А = 4313450,37;
х В = 6072863,46; у В = 4313450,37.
Рассчитать горизонтальное проложение d между точкой А и точкой В, а также угол α между северным направлением оси ОХ и направлением на точку В .
Вводим исходные данные и формулы в электронные таблицы Microsoft Excel (таб. 4.4).

Таблица 4.4.

Исходные данные

х А

у А

х В

у В

Вычисления

Δх АВ

Δу АВ

КОРЕНЬ(B7^2+B8^2)

Тангенс

Арктангенс

Градусы

ГРАДУСЫ(B11)

Выбор

ЕСЛИ(B12<0;B12+180;B12)

Угол положения (град)

ЕСЛИ(B8<0;B13+180;B13)

Вид таблицы после вычислений (таб. 4.5).

Таблица 4.5.

Исходные данные

х А

у А

х В

у В

Вычисления

Δх АВ

Δу АВ

Тангенс

Арктангенс

Градусы

Выбор

Угол положения (град)

Если ваши вычисления совпали с вычислениями учебного пособия, скройте промежуточные расчеты, отформатируйте и защитите таблицу.

Видео
Прямоугольные координаты

Вопросы и задания для самоконтроля

  1. Какие величины называют прямоугольными координатами?
  2. На какой поверхности применяют прямоугольные координаты?
  3. В чем заключается суть зональной системы прямоугольных координат?
  4. Назовите номер шестиградусной зоны, в которой находится г. Луганск с координатами: 48°35′ с.ш. 39°20′ в.д.
  5. Рассчитайте долготу осевого меридиана шестиградусной зоны, в которой находится г. Луганск.
  6. Как ведется счет координат х и у в прямоугольной системе координат Гаусса?
  7. Объясните порядок определения прямоугольных координат на топографической карте с помощью циркуля-измерителя.
  8. Объясните порядок определения прямоугольных координат на топографической карте с помощью координатомера.
  9. В чем сущность прямой геодезической задачи?
  10. В чем сущность обратной геодезической задачи?
  11. Какую величину называют приращением координат?
  12. Дайте определения синуса, косинуса, тангенса и котангенса угла.
  13. Как можно применить в топографии теорему Пифагора о соотношении между сторонами прямоугольного треугольника?

Краткая руководство по работе с инструментом пересчета

Обсудить в форуме Комментариев — 6

Пересчёт точек из одной системы координат в другую (например, из СК-42 в WGS-84) - часто встречающаяся задача. Эти преобразования можно сделать при помощи бесплатной программы PHOTOMOD GeoCalculator от компании «Ракурс». В программе предустановлена база наиболее часто употребляемых в нашей стране систем координат. Их можно довольно гибко модифицировать под собственные нужды, а так же добавлять собственные. Кроме того, программа прекрасно работает под Wine, что может быть полезно для пользователей ОС Linux.

Ниже приводится описание типичного процесса пересчёта координат.

Для осуществления пересчёта необходимо провести подготовку координат к загрузке в программу. GeoСalculator понимает текстовые файлы (.txt, .csv) в которых разделителем колонок выступает запятая, а разделителем целой и дробной части числа – точка. Всего может быть не более 4 колонок: 1-я – имя точки; 2-я – широта точки, 3-я – долгота точки; 4-я – высота точки. Подготовить набор данных можно с помощью OO Calc или Excel.

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

В одной (любой) из половинок рабочего окна программы, предназначенном для точек, загружаем точки для пересчёта. Все они должны находиться в одной системе координат. Затем, в окошке над точками выбираем ту систему координат в которой они находятся. В окошке напротив выбираем систему координат в которую мы хотим точки пересчитать. Например, WGS84 широта/долгота. Проблема заключается в том, что в безе GeoСalculator формат записи координат WGS84 широта/долгота - градусы минуты секунды, а нам для последующей работы было бы более удобно иметь их в десятичных градусах. Чтобы произвести соответствующие настройки идём: Базы данных → Система координат.

выбираем ш ирота-долгота WGS 84 и нажимаем кнопку Изменить . Появляется окно с настройками СК:

Жмём на кнопку выбора единиц измерения для широты и долготы и выставляем «градусы», меняем название системы координат на более подходящее, например, «WGS84-десятичные градусы» (если не изменить название, то у вас в базе будет 2 системы координат с одинаковым названием и вы будете в них путаться), сохраняем.

Итак, всё готово для пересчёта. Можно нажимать стрелочку в левом верхнем углу окна для осуществления пересчёта в соответствующем направлении.

Когда пересчёт осуществлён, сохраняем результат в файл.txt. Остался последний штрих: GeoСalculator вычислил значения высоты для наших точек (колонка «H») - их можно удалить с помощью Excel или OO Calc. Теперь, у нас есть необходимый текстовыйфайл с координатами в WGS-84.

Обсудить в форуме

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

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

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

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

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

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

Дата: 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.

Есть вопросы?

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: