Как перевести градусы в метры

Длина дуги параллели

Этот онлайн калькулятор вычисляет переводит длину дуги параллели на определенной широте из градусов в метры.

Есть у нас калькулятор, вычисляющий длину дуги меридиана в зависимости от широты, а точнее, длину дуги меридиана размером в одну минуту, более известной как морская миля. Для полноты решил написать калькулятор, рассчитывающий размер длины дуги параллели в зависимости от широты. Из достаточно очевидных соображений, чем больше широта, то есть, чем ближе мы к тому или иному полюсу, тем меньше размер дуги, скажем, в 1 градус, в метрах. Калькулятор ниже и считает размер этой дуги на заданной широте по заданному угловому размеру дуги. Для справки, на экваторе размер дуги параллели в один градус будет максимальным (широта равна нулю) и составит 111 км 319 метров (приближенно). Как это считается, описано под калькулятором.

Как перевести градусы в метры

Длина дуги параллели

Длина дуги параллели

Как перевести градусы в метрыДлина дуги параллели

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

Для длины дуги в 360 градусов, или 2π радиан, формула превращается в известную всем формула длины окружности

Как видно из рисунка, на определенной широте нас интересует радиус окружности r, полученной при отсечении части сферы плоскостью, параллельной плоскости экватора. На самом экваторе радиус совпадает с радиусом земли R. Выразим интересующий нас радиус через радиус Земли R и заданную широту β:

Соответственно, финальная формула

Ну и в качестве радиуса Земли берем значение, определенное в стандарте WGS-84, а именно, 6378137м. Вот и всё.

Источник

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

Если у меня есть чтение широты или долготы в стандартном формате NMEA, есть ли простой способ / формула для преобразования этого чтения в метры, которые я могу реализовать в Java (J9)?

изменить: ОК, кажется, то, что я хочу сделать, невозможно легко, однако, то, что я действительно хочу сделать, это:

скажем, у меня есть lat и long точки пути и lat и long пользователя есть простой способ сравнить их, чтобы решить, когда сказать пользователю, что они находятся в пределах достаточно близкое расстояние точки пути? Я понимаю, что разумный предмет, но это легко сделать или все еще слишком математически?

15 ответов

вот функция javascript:

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

для аппроксимации коротких расстояний между двумя координатами я использовал формулы из http://en.wikipedia.org/wiki/Lat-lon:

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

в записи Википедии говорится, что расстояние calcs находится в пределах 0,6 м для 100 км в продольном направлении и 1 см для 100 км в широтном направлении, но я не проверил это, как нигде рядом с этим точность хороша для моего использования.

учитывая, что вы ищете простую формулу, это, вероятно, самый простой способ сделать это, предполагая, что Земля является сферой периметра 40075 км.

длина в метрах 1° широты = всегда 111,32 км

длина в метрах 1 ° долготы = 40075 км * cos (широта) / 360

широты и долготы указывают точки, а не расстояния, поэтому ваш вопрос несколько бессмыслен. Если вы спрашиваете о кратчайшем расстоянии между двумя (lat, lon) точками, см. эта статья в Википедии на расстояниях большого круга.

есть много инструментов, которые сделают это легко. См.monjardin это для получения более подробной информации о том, что участие.

однако сделать это не обязательно сложно. Похоже, вы используете Java, поэтому я бы рекомендовал посмотреть что-то вроде GDAL. Он предоставляет Java-оболочки для их подпрограмм, и у них есть все инструменты, необходимые для преобразования из Lat /Lon (географические координаты) в UTM (проекционная система координат) или некоторые другие разумная проекция карты.

UTM приятно, потому что это метры, так легко работать. Тем не менее, вам нужно будет получить соответствующий зона UTM для того, чтобы сделать хорошую работу. Есть несколько простых кодов, доступных через googling, чтобы найти подходящую зону для пары lat/long.

Земля является раздражающе неправильной поверхностью, поэтому нет простой формулы, чтобы сделать это точно. Вы должны жить с приблизительной моделью Земли и проецировать на нее свои координаты. Модель, которую я обычно вижу, используется для этого WGS 84. Это то, что GPS-устройства обычно используют для решения одной и той же проблемы.

NOAA имеет некоторое программное обеспечение, которое вы можете скачать, чтобы помочь с этим на сайте.

Источник

Как преобразовать расстояние из градусов в метры?

Я использую OpenLayers с обычной картой Меркатора, и я пытаюсь попробовать ограничивающую коробку, найдя сетку точек в latlong. Bbox выражается в латлоне, например

Я могу определить расстояние в градусах (например, x: 2.5, y: 2.4) и вычислить точки оттуда. Но я хотел бы выразить это расстояние в метрах (например, 50000), чтобы соотнести его с мышлением пользователя (люди понимают метры, а не градусы). Как я могу преобразовать это расстояние? Я знаю, как это сделать. перепроецировать точку, но не расстояние.

Спасибо за любые подсказки! Мулоне

3 ответов:

Использовать Формула гаверсинуса, чтобы получить расстояние между двумя точками широта/долгота. Это предполагает, что Земля является сферой (которая в большинстве случаев «достаточно хороша»).

Его Javascript-реализация (бесстыдно украденная из здесь ) выглядит так:

Без учета слегка несферической формы Земли,

Одна минута широты с севера на юг = 1 Морская миля = 6075 футов Итак, один градус = 60 минут = 60 * 6075 футов Есть 3,28 фута в метре, так что Один градус = 60 * 6075 / 3.28 метры = 111,128 метров

Альтернативно, одна минута широты = 1,852 метра Итак, один градус = 60 * 1852 метра = 111,120 метра

Я не уверен, что более точно.

Для одного градуса долготы выполните следующие действия: то же самое, но умножьте на косинус (широту), так как линии долготы становятся ближе друг к другу, когда вы двигаетесь на север.

Преобразование между градусами и метрами изменяется по всей поверхности Земли.

Предполагая сферическую Землю, Градусы широты = расстояние * 360 / (2 * PI * 6400000)

Обратите внимание, что долгота будет меняться в зависимости от широты:

Градусы долготы = расстояние * 360 * / (2 * PI * cos (широта))

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

Источник

GIS-LAB

Географические информационные системы и дистанционное зондирование

Перевод долготы-широты в метры и подходы по работе в MapInfo

Описывается решение задачи перевода координат заданных в градусах в координаты в метрах. Приемы статьи могут быть использованы для пересчета координат между различными проекциями, если те могут быть заданы стандартными средствами ГИС MapInfo.

Содержание

[править] Вступление

Цель данной статьи:

Статья написана по мотивам обсуждения на форуме.

[править] Постановка задачи

Имеется набор данных, состоящих из координат точек в формате долгота/широта/высота + атрибуты. В рассматриваемом случае атрибуты — время создания точки и некоторые специфические параметры, связанные с работой технического средства. Данные даны в виде плоской таблицы или в виде приводимом к плоской таблице. В нашем случае в формате Excel. Требуется произвести вычисления расстояния между соседними точками и сохранить результат так, что бы его можно было использовать в Excel.

[править] Общее описание алгоритмов

Для решения задачи можно использовать:

[править] Почему MapInfo + Excel?

В этой статье будет рассмотрен набор манипуляций с данными с использованием ГИС MapInfo. С последующей обработкой результатов в Excel.

Причина выбора этого ПО:

[править] Основные приемы использованные в работе

[править] Порядок обработки данных

1. Открываем таблицу Excel. Приводим ее к виду набора однородных данных – заголовки должны быть у всех столбцов, имеющих данные, и располагаться в первой строке. Столбцы без данных должны быть удалены. 2. Сохраним файл с простым именем, например D20120503.xls. С вот таким заголовком:

ВремяВысота над УМДатчик скоростиКоордината-1Координата-2Обороты двигателяКонечная
2012-05-03 07:31:405211851.822845107.6791381482мелькомбинат
2012-05-03 07:32:275252251.81982107.6824341208.4

3. Загрузим данные в MapInfo (галочку – создать копию ставим обязательно):

Как перевести градусы в метры

Примечание: для обработки данных использована ГИС MapInfo версии 9.5, однако описанные алгоритмы работают в версиях от 7.8 (а должны и ранее). Исключения могут быть связаны только с форматом файла Excel, в котором созданы исходные данные, и который умеете читать «напрямую» программа Мапифно.

4. Используем заголовки для наименования столбцов:

Как перевести градусы в метры

5. Подтвердим выбранные самой MapInfo типы данных:

Как перевести градусы в метры

6. Откроем таблицу для просмотра в виде списка, т.к. пока у нас есть только атрибутика, но нет геометрии:

Как перевести градусы в метры

7. Выполним фильтрацию данных, т.к. в некоторых строках есть некорректные данные, т.е. точки с отрицательной высотой над уровнем моря, отрицательными координатами или отрицательной скоростью:

Как перевести градусы в метры

Такие данные не позволили бы нам произвести расчет в Excel даже если бы мы использовали функции для пересчета сферических координат, видимо полученных от устройства GPS, в плановые метровые. Для этого создадим и выполним SQL запрос:

Как перевести градусы в метры

8. Получим вот такой результат:

Как перевести градусы в метры

9. Удалим из таблицы все строки, содержащие некорректные данные, нажав Del. После этого сохраним таблицу и упакуем ее.

10. Теперь вычислим несколько параметров наших данных. Опять же через SQL запрос:

Как перевести градусы в метры

11. И сразу еще один запрос на данных предыдущего запроса:

Как перевести градусы в метры

12. В результат получим:

Как перевести градусы в метры

Все эти данные нам понадобятся, что бы создать геоинформацию к нашей Excel таблице.

На основании выполненных вычислений, мы получили пределы, в которые вписываются все координаты измерений. Используя явное указание границ (см. ниже) при задании системы координат (проекции) таблицы MapInfo, мы существенно повышаем точность измерения. Вычислив среднее значение «Координата_2», мы получили возможность выбрать центральный меридиан проекции «Поперечная Меркатора» (или проекция «Гаусса-Крюгера»). Это сделано для того, что бы уменьшить различие между спроецированными расстояниями (переведенными на плоскость спроецированной поверхности) и расстояниями, вычисленными с учетом кривизны Земли, т.к. в дальнейшем при переходе от координат в градусах к координатам в метрах, для вычисления расстояний между точками мы будем использовать обычную формулу Пифагора для 3-х мерного пространства.

13. Откроем окно «Управление параметрами и полями таблицы» в MapInfo добавим два поля для плановых (плоских, метровых ) координат – X,Y:

Как перевести градусы в метры

15. В окне MapBasic должны появиться две команды:

Alter Table «D20120503» ( add X Float,Y Float ) Interactive Create Map For D20120503 CoordSys Earth Projection 1, 104

16. Для нас важна вторая строка, которая и создает систему координат (СК) таблицы. Нас она не устраивает, т.к. создает СК, которая охватывает весь мир, что плохо для точности наших данных. Обсуждение проблемы смотрим вот здесь Изменим строку команды, что она приобрела вот такой вид – добавим ей границы координат, полученные в п.12, с некоторым запасом:

Create Map For D20120503 CoordSys Earth Projection 1, 104 Bounds (107.5, 51.7) (107.8, 52)

После этого вставим эту строку в окно MapBasic, встанем на ее конец (или выделим ее целиком) и нажмем «Ввод». Далее для любой строки команд, необходимость выделения вставленной команды и ее ввода будет подразумеваться.

17. Теперь создадим точки на месте координат:

Как перевести градусы в метры Как перевести градусы в метры Как перевести градусы в метры

19. В результате получим вот такую карту:

Как перевести градусы в метры

Смущают уходы в сторону, но это уже вопрос корректности данных. Будем надеяться, что там точки идут в обоих направлениях.

20. Пришло время пересчитать координаты точек. Но для этого надо установить прямоугольную систему координат. Сделаем это на примере проекции UTM. Причем опять с использованием шаблона из стандартных проекций, которые потом подправим «под себя». Для этого сделаем самое простое – установим проекцию окна карты:

Как перевести градусы в метры

21. Выберем самую первую – UTM-1N:

Как перевести градусы в метры

22. В окне карты получится ужас, но выставленные параметры нам нужны только как образец, который мы исправим под свои нужды.

23. В окне MapBasic’а будет выведена следующая команда, соответствующая установке для текущего окна карт выбранной нами проекции:

24. Заменим эту проекцию на нужную нам, взяв новый центральный меридиан из среднего значения координат таблицы (п.13):

Set Map XY Units «m» CoordSys Earth Projection 8, 104, «m», 107.63, 51, 1, 250000, 0 Bounds (0,0) (500000, 500000)

26. Обращаю внимание, что мы в параметрах проекции заменили их практически все – оставив только первые «8, 104, «m»,» (что означает проекция «поперечная Меркатора», на датуме WGS84, единица измерения координат «метры»):

27. Проверим, что наши параметры вернули карте нормальный вид, такой как она имела изначально – дадим команду показать все слои карты в нашем окне:

Как перевести градусы в метры

28. Откроем таблицу в виде списка, что бы видеть результаты вычислений.

Set CoordSys Earth Projection 8, 104, «m», 107.63, 51, 1, 250000, 0 Bounds (0, 0) (500000, 500000)

30. Пришло время вычислить координаты. Для этого используем команду:

Update D20120503 set col8=centroidx(obj),col9=centroidy(obj)

31. COL8 и COL9 – это псевдонимы для 8 и 9 колонки, соответственно. Вместо них обычно используют настоящие названия колонок, но так проще и короче.

32. Наша открытая списком таблица обновится и приобретет вот такой вид:

Как перевести градусы в метры

33. Обязательно сохраним ее.

34. Теперь нам надо вернуть данные в Excel. Проще всего это сделать, сохранив данные в тестовый формат, т.к. экспорта в Excel в MapInfo – нет. По крайней мере, в моей версии.

Как перевести градусы в метры

35. Выберем вот такие параметры экспорта:

Как перевести градусы в метры

36. Сознательно добавим букву «а» к имени, предложенному Mapinfo, т.к. ниже мы загрузим экспорт обратно, а если имя текстового файла совпадет с именем таблицы, MapInfo не даст нам ее открыть.

37. Откроем экспортированную таблицу:

Как перевести градусы в метры

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

Create Map For D20120503a CoordSys Earth Projection 8, 104, «m», 107.63, 51, 1, 250000, 0 Bounds (0,0) (500000, 500000)

39. То, что это удалось можно увидеть, добавив новую таблицу в окно карты:

Как перевести градусы в метры

До момента создания пространственной привязки таблица не появляется в списке слоев.

40. Создадим точки и в этой таблице, только изменим их форму и цвет:

Как перевести градусы в метры

Как перевести градусы в метры

42. Максимально приблизим одну из точек, что бы стало заметно различие между старыми (фиолетовыми) и новыми (зелеными) точками:

Как перевести градусы в метры

Видим, что оно составило 4 мм. Это плата за пересчет и округление. На мой взгляд, в большей степени за округление, с которым Mapinfo вывел данные в текстовый файл – всего 2 символа после запятой (точки). Эту точность можно принудительно увеличивать с помощью функции Format$, но это в этом случае не играет большой роли.

43. Все. С MapInfo закончили. Надо возвращаться в Excel. Пункты с 37-го по 42-ой можно опустить. Они были необходимы только для проверки корректности выполненных нами манипуляций с координатными системами.

44. Открываем результат экспорта как текстовый файл в Excel.

Как перевести градусы в метры Как перевести градусы в метры Как перевести градусы в метры

45. Получим вот такую таблицу в Excel и добавим в нее две колонки «расстояние» (между соседними точками) и «путь» (сумму расстояний):

Как перевести градусы в метры

46. Заполним ячейки в новых колонках формулой:

e. Теперь «растянем» формулу из ячеек J3:K3 на все оставшееся заполненное пространство листа Excel. Существуют и более правильные способы задания формулы на столбцы, но они слегка длиннее и мудренее, чем просто «взять за угол и растянуть».

47. Мы получили искомый результат 🙂 Все строки содержат расстояние от точки до предшествующей ей, а так же пройденный путь.

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

49. Теперь, по уму, надо бы построить линию по этим точкам, что бы убедиться, что расстояние мы измерили без погрешности.

50. Для этого воспользуемся программой перевода последовательности точек в полилинию (или полигон):

Как перевести градусы в метры

Как перевести градусы в метры

Или с учетом кривизны Земли:

Как перевести градусы в метры

52. Тут надо помнить, что вычисления в MapInfo производятся только по двумерным координатам при геообъекте, высоту h она считать не умеет и для узлов не хранит. Результат вычислений в Exec = 226 781 m.

53. Если я ничего не перепутал то, то что казалось набором последовательных точек, оказалось набором вершин от разных проходов по одному пути, пройденных в разное время:

Как перевести градусы в метры

Ключевые слова: MapInfo, MapBasic команды, Select SQL, долгота/широта, преобразование координат, пользовательские проекции

Последнее обновление: 2014-05-14 22:08

Дата создания: 09.05.2012
Автор(ы): Борис Фельдман

Источник

Калькулятор уклонов

Онлайн калькулятор

Как перевести градусы в метры

Посчитать уклон

Расстояние L =
Превышение h =

Посчитать превышение

Уклон α =
Расстояние L =

Посчитать расстояние

Уклон α =
Превышение h =

Теория

Как посчитать уклон

Для того чтобы посчитать уклон вам, для начала, необходимо знать расстояние (L) и превышение (h). Далее следуйте формулам:

В процентах:

Уклон в % = h / L ⋅ 100

В промилле:

Уклон в ‰ = h / L ⋅ 1000

В градусах:

Уклон в ° = arctg ( h /L)

Пример

Для примера рассчитаем уклон дороги в процентах: на дистанции в L = 500 м дорога поднимается на h = 30 м:

Уклон дороги = 30/500 ⋅ 100 = 6%

Как посчитать превышение

Чтобы вычислить превышение (h), надо знать расстояние (L) и уклон (в процентах, в промилле или в градусах).

Если уклон в процентах (%):

h = L ⋅ Уклон в % /100

Если уклон в промилле (‰):

h = L ⋅ Уклон в ‰ /1000

Если уклон в градусах (°):
Пример

Для примера найдём превышение h, если расстояние L= 5м, а угол уклона α=45°:

h = 5 ⋅ tg(45) = 5 ⋅ 1 = 5 м

Как посчитать расстояние

Для того чтобы посчитать расстояние (L) необходимо знать превышение (h) и уклон (в процентах, в промилле или в градусах).

Если уклон в процентах (%):

L = h / Уклон в % ⋅ 100

Если уклон в промилле (‰):

L = h / Уклон в ‰ ⋅ 1000

Если уклон в градусах (°):
Пример

Для примера посчитаем расстояние (L), которое потребуется железной дороге, чтобы подняться на (h =) 6 м при угле подъёма 30‰:

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *