-
Variant
- Активный участник
- Сообщения: 133
- Зарегистрирован: 15 окт 2009, 09:14
- Статьи: 2
- Репутация: 42
- Откуда: Москва
Пересчёт координат из градусов в метры в Excel
Потерял всю свою подборку геодезических скриптов, теперь приходится по крохам восстанавливать
Собственно задача: перевести координаты массива точек из градусной системы в метрическую. Все параметры (проекция, номер зоны) известны. На машине, где всё это должно производиться, по соображениям лицензионной чистоты ничего более подходящего, чем Excel нет. Скрипт, который я использовал раньше, отбыл в неизвестном направлении, так что за отсутствием навыков программирования приходится искать готовое решение
-
JEY
- Активный участник
- Сообщения: 228
- Зарегистрирован: 17 июл 2008, 13:42
- Статьи: 1
- Репутация: 1
Re: Пересчёт координат из градусов в метры в Excel
Сообщение
JEY » 15 окт 2009, 13:13
Привет! Могу выслать по электронной почте файл Excel, пересчитывающий геодезические координаты из СК-42 (градусы, минуты, секунды) в прямоугольные проекции Гаусса-Крюгера (метры)…
-
JEY
- Активный участник
- Сообщения: 228
- Зарегистрирован: 17 июл 2008, 13:42
- Статьи: 1
- Репутация: 1
Re: Пересчёт координат из градусов в метры в Excel
Сообщение
JEY » 24 фев 2010, 07:53
Уже отправил. Я сделаю проще, чтобы каждому не пришлось меня персонально просить выслать этот файл по почте, я прикреплю его к этому сообщению, чтобы его можно было скачать.
- Вложения
-
Проекция Гаусса-Крюгера.xls
- (41 КБ) 10651 скачивание
-
aidos
- Новоприбывший
- Сообщения: 1
- Зарегистрирован: 11 апр 2012, 10:51
- Репутация: 0
Re: Пересчёт координат из градусов в метры в Excel
Сообщение
aidos » 11 апр 2012, 11:10
Добрый день,
при пересчете из градусов в метровы и обратно в градусы у меня получается ошибка.
Пример:
44°17’00.00 —> 4 905 435.27 —> 44°16’59,100»
69°18’00.00 —> 12 523 947.46 —> 69°18’00,00»
Помогите!
Given a list of geographic coordinate pairs, you can implement the Haversine formula directly in Excel.
The simplest way to use this (or a more accurate, but I think it’s not your case) formula consists into press Alt+F11
to open the VBA Editor, click Insert --> Module
and then (copy and) paste e.g. the code kindly suggested by blah238.
Public Function getDistance(latitude1, longitude1, latitude2, longitude2)
earth_radius = 6371
Pi = 3.14159265
deg2rad = Pi / 180
dLat = deg2rad * (latitude2 - latitude1)
dLon = deg2rad * (longitude2 - longitude1)
a = Sin(dLat / 2) * Sin(dLat / 2) + Cos(deg2rad * latitude1) * Cos(deg2rad * latitude2) * Sin(dLon / 2) * Sin(dLon / 2)
c = 2 * WorksheetFunction.Asin(Sqr(a))
d = earth_radius * c
getDistance = d
End Function
There will be a new custom getDistance
function (unit = kilometer) available in your spreadsheet which accepts four parameters, i.e. the two pairs of coordinates, as follow:
getDistance(latitude1, longitude1, latitude2, longitude2)
where latitude1, longitude1, latitude2, longitude2
should be replaced by their relative cell references.
history 25 апреля 2013 г.
- Группы статей
- Пользовательский формат
- Преобразование в ТЕКСТ
- Спецсимволы
Если Вам нужно отобразить широту или долготу в формате 56°54’31″ (56 градусов 54 минуты 31 секунда), то этот пример для Вас.
В зависимости от желаемого результата и исходных данных существуют разные способы отображения широты и долготы в формате 56°54’31″ (56 градусов 54 минуты 31 секунда).
Применение пользовательского формата
Если в ячейке содержится число вида 565431, то применение пользовательского формата позволит только правильно отобразить формат широты и долготы (56°54’31″), арифметические же операции с долготой или шириной произвести не удастся (при прибавлении 30 секунд будем иметь 56°54’61″, а не 56°55’01″). Тем не менее, применим пользовательский формат.
Пользовательский формат вводим через диалоговое окно Формат ячеек . Для вызова окна нажмите CTRL + 1 . Выберите ( все форматы ), удалите все из поля Тип .
- в поле Тип введите ###;
- затем введите туда же знак градуса (°), скопировав из Буфера обмена, в который его заранее туда вставили командой Символ ( Вставка/ Текст/ Символ) . Или удерживая ALT , наберите на цифровой клавиатуре 0176 и отпустите ALT (Подробнее о вводе нестандартных символов читайте в статье Ввод символов с помощью клавиши ALT );
- введите пробел, два нуля, апостроф (‘) и еще пробел;
- введите еще два нуля и еще 2 апострофа (‘) (двойная кавычка не подойдет или ее придется вводить вместе с обратным слешем «);
- нажмите ОК.
Теперь введите в ячейку 565431 и нажмите ENTER , в ячейке отобразится 56°54’31″.
Преобразование из десятичного формата
Часто долготу и широту представляют в десятичном формате. Например, число 122,44 соответствует 122 градусам 26 минутам и 24 секундам. Проверить это не составляет труда: целая часть соответствует градусам, 1 градус соответствует единице, минута– 1/60 градуса, секунда – 1/60 минуты или 1/3600 градуса. Получаем: 122+26*(1/60)+24*(1/3600)=122,44.
С десятичным представлением можно производить необходимые вычисления, например, можно прибавить 2 минуты и 10 секунд: +2*(1/60)+10*(1/3600).
Представить 122,44 в формате долготы и широты с помощью простого форматирования не удастся, нужно использовать формулу для преобразования из десятичного формата. Если значение долготы 122,44 находится в ячейке А1 , то для преобразования в нужный формат запишем формулу: =ТЕКСТ(ОТБР(A1);»0″&СИМВОЛ(176)) &ТЕКСТ(ЦЕЛОЕ(ОСТАТ(A1;1)*60);»0’») &ТЕКСТ(60*ОСТАТ((ОСТАТ(A1;1)*60);1);»0′ «)
Результат: 122°26’24» – значение в текстовом формате.
Как перевести координаты в метры excel
Всем привет и хорошего настроения!
Предлагаю Вашему вниманию мою реализацию в Excel формулы гаверсинусов.
Первоисточник — вики, можно найти ЗДЕСЬ. С указанным мной радиусом земли погрешность получается до 1%, можно улучшить если поиграть значением. Не рекомендуется для проверки расстояний между объектами, расположенными диаметрально противоположно друг от друга через центр планеты.
Во вложении есть развёрнутый пошаговый вариант расчётов. Если вкратце, то суть такая:
Всем привет и хорошего настроения!
Предлагаю Вашему вниманию мою реализацию в Excel формулы гаверсинусов.
Первоисточник — вики, можно найти ЗДЕСЬ. С указанным мной радиусом земли погрешность получается до 1%, можно улучшить если поиграть значением. Не рекомендуется для проверки расстояний между объектами, расположенными диаметрально противоположно друг от друга через центр планеты.
Во вложении есть развёрнутый пошаговый вариант расчётов. Если вкратце, то суть такая:
Роман, Москва, voronov_rv@mail.ru
Яндекс-Деньги: 41001312674279
Сообщение Всем привет и хорошего настроения!
Предлагаю Вашему вниманию мою реализацию в Excel формулы гаверсинусов.
Первоисточник — вики, можно найти ЗДЕСЬ. С указанным мной радиусом земли погрешность получается до 1%, можно улучшить если поиграть значением. Не рекомендуется для проверки расстояний между объектами, расположенными диаметрально противоположно друг от друга через центр планеты.
Во вложении есть развёрнутый пошаговый вариант расчётов. Если вкратце, то суть такая:
mk2gt Пользователь Сообщений: 7 |
Здравствуйте. Подскажите, пожалуйста, как рассчитать МИНИМАЛЬНОЕ расстояние между точками если на вход ей подаются координаты точек,
…. Изменено: mk2gt — 22.03.2016 18:24:26 |
|||||||||||||||||||||||||||||||||
Udik Пользователь Сообщений: 372 excel 2016х64 Контакты в профиле |
Количество точек в каких пределах, точки на плоскости? Арфы — нет, возьмите бубен. |
mk2gt Пользователь Сообщений: 7 |
нет координаты заданы в числовом формате:
нужно найти минимальное расстояние между объектами от 1 до 10 …N =2-3тыс, точки на земле двумяточками и вот еще Изменено: mk2gt — 22.03.2016 18:43:16 |
||||||||||||||||||||||||||||||||||||||||||||
Udik Пользователь Сообщений: 372 excel 2016х64 Контакты в профиле |
Ну если точек в пределах пары тысяч, можно тупо в лоб, для каждой точки вычисляем расстояние до всех других, находим минимальное заносим в массив. Потом ищем минимум в массиве. А потом можно алгоритм всяко оптимизировать, например берем квадрат 10 на 10 и вычисляем расстояния до всех точек, Арфы — нет, возьмите бубен. |
Андрей VG Пользователь Сообщений: 11878 Excel 2016, 365 |
Доброе время суток |
MCH Пользователь Сообщений: 3875 |
Какова конечная цель? http://www.excelworld.ru/forum/3-12090-1 или поиск кратчайшего пути от одной точки до другой алгоритмом Дейкстры: http://www.excelworld.ru/forum/3-6656-1 |
mk2gt Пользователь Сообщений: 7 |
#7 23.03.2016 10:57:19
нужно получить массив данных для каждой точки А ближайшую точку В, имея списки координат точек А и В для которых выполняется условие расстояние от А и В менне Х метров
спасибо, хочется получить такое для всех, не для пары ближайших точек, например в 2х колонках: номер точки и расстояние)
как-то совсем не хочется, можно по карте с линейкой тоже сделать)) Изменено: mk2gt — 23.03.2016 13:11:06 |
||||||
Михаил Пользователь Сообщений: 7 |
поменял, по задачке есть еще желающие помочь |
Юрий М Модератор Сообщений: 60585 Контакты см. в профиле |
#9 23.03.2016 13:08:20
Это утверждение? ) |
||
MCH Пользователь Сообщений: 3875 |
#10 23.03.2016 13:38:59
Можно предложить следующее решение |
||
Андрей VG Пользователь Сообщений: 11878 Excel 2016, 365 |
#11 23.03.2016 18:59:46
А вы бы примерчик то привели бы что есть — как должно, а то только требовать — догадайтесь как надо Прикрепленные файлы
Изменено: Андрей VG — 23.03.2016 19:18:56 |
||
Михаил Пользователь Сообщений: 7 |
нашел решение , но результат не похож на правду |
Андрей VG Пользователь Сообщений: 11878 Excel 2016, 365 |
Михаил, а чем предложенный мной вариант не подошёл? |
Михаил Пользователь Сообщений: 7 |
#14 19.04.2016 14:49:08
Изменено: Михаил — 19.04.2016 16:10:17 |
||
Андрей VG Пользователь Сообщений: 11878 Excel 2016, 365 |
#15 19.04.2016 16:27:31 Доброе время суток
То есть вы задумались об алгоритме на VBA? Тут ничего особо сложного. Разбиваете пространство между минимумом и максимом координат на равные прямоугольные области (собственно — двумерный массив). При разбиении желательно чтобы каждая точка была в своём прямоугольнике — мало достижимый вариант, но можно разбить и по статистике координат. |
||
MCH Пользователь Сообщений: 3875 |
#16 19.04.2016 18:44:12 Даже для 3000 точек попарное сравнение и вычисление расстояний занимает менее минуты (у меня считается 8 секунд):
а если сегментировать координатную плоскость, как предложил Андрей VG, тем самым ограничив количество сравниваемых друг с другом точек, то вычисления займут еще меньше времени (правда кода будет больше). Для решения нужно понять конечную цель задачи, что в итоге то нужно от сравнения координат? Изменено: MCH — 20.04.2016 07:16:21 |
||
atomska Пользователь Сообщений: 1 |
Здравствуйте! Подскажите реальная ли задача? Нужно посчитать среднее расстояние от одного банкомата до другого. Вводные: Площадь Страны 17 125 191 км2 Плотность банкоматов на 10 км2 = 1,9 Плотность населения на 1 км2 = 8,56 Заранее спасибо! Может какие еще данные нужны, или вообще другие |
Мартын Пользователь Сообщений: 282 |
#18 17.08.2018 10:31:39
Извините, но это есть бред. Среднее расстояние от одного объекта до другого равно самому этому расстоянию. |
||
Мартын Пользователь Сообщений: 282 |
Вам нужен либо минимальный радиус окружности, в которой находится один банкомат, либо среднее (а лучше медианное) значение таких радиусов, либо что-то вроде этого. |
StoTisteg Пользователь Сообщений: 441 |
Мартын, даже если не придираться к словам, непонятно, при чём тут Эксель. Это обычная школьная задача по арифметике. |
IKor Пользователь Сообщений: 1167 |
2 atomska Если указанная величина плотности размещения банкоматов одинакова для всей страны, то на площади 2,0/1,9 = 10,53 км2 «в среднем» находится два банкомата. Данные по плотности населения и размере страны, видимо, не оказывают влияния на решение этой задачи. |
Андрей VG Пользователь Сообщений: 11878 Excel 2016, 365 |
#22 17.08.2018 10:53:23
У меня получилось 2,294157339 км. Правда, не понял, причём тут плотность населения. Прикрепленные файлы
|
||
Мартын Пользователь Сообщений: 282 |
#23 17.08.2018 11:26:37
Это для геометрически квадратной страны с банкоматами в узлах сетки (значит куча «шайтан-машинок» стоит на границе страны |
||
Андрей VG Пользователь Сообщений: 11878 Excel 2016, 365 |
#24 17.08.2018 12:03:14
То есть площади банкоматов пересекаются? Тогда плотность будет больше. |
||
Мартын Пользователь Сообщений: 282 |
#25 17.08.2018 12:36:24
Никоим образом! Банкомат равномерно размазан по всей площади присутствия. По умолчанию плотность вероятности нахождения банкомата в определённой точке есть константа. |
||
Андрей VG Пользователь Сообщений: 11878 Excel 2016, 365 |
#26 17.08.2018 12:51:27
С таким же успехом, может быть и сконцентрирован в одной точке. 19 банкоматов стоят в одном месте впритык. на 100 кв. км. будет 19 / 10 = 1,9 банкомата на 10 кв. км. Смотря от чего считать эту вероятность. |
||
Мартын Пользователь Сообщений: 282 |
#27 17.08.2018 13:05:07
Несколько сообщений выше я уже указал, что задание есть бред в данной постановке, поскольку не даны определения некоторых величин. В конечном итоге, если между двумя банкоматами по прямой всего 1 км, а до любого другого 100 км, то не факт, что это ближайший. Ведь на этом километре может быть непролазное болото, море, гора или враждебное государство |
||
В предыдущем посте мы показали лист Excel для преобразования координат Географический для UTM из листа, который популяризировал Габриэля Ортиса.
Давайте теперь посмотрим на этот инструмент, который выполняет тот же процесс в обратном порядке, то есть имеет координаты в формате UTM (Universal Traverso de Mercator) и знает область, преобразует их в широты и географические долготы.
Давайте начнем ознакомиться с этим: согласно Google Earth, координаты Дворца спорта в DF будут X = 489513.59, Y = 2,145,667.38, учитывая, что Google Earth использует привязку WGS84. (для чего вы не знаете, чтобы видеть координаты UTM, вы переходите только к инструментам / опциям / vista3D / show lat / long)
В географических координатах это будет Long= -8°-5′-59″, lat= 19°24′ 18″, (чтобы отобразить сетку в google Earth, сделайте «view/grid»)
Я рекомендую вам ознакомиться с этой формой проверки и понимания как работают координаты UTM чтобы получить максимальную отдачу от инструмента в Excel.
Я сделал этот лист это было бы очень полезно для друга, который некоторое время назад хотел отправить в Google Earth некоторые данные, которые были в UTM.
1. Как вводить данные
Поля желтого цвета выбирают координаты XY, а также зону, причем эта должна быть достаточно осторожной, потому что Мексика, чтобы привести пример, зоны идут от 16 до 21, так что одни и те же координаты могут быть в разных зонах.
То же самое происходит с полушарием, как в случае с Колумбией, Эквадором и Бразилией, имеющими районы как в северном, так и в южном полушариях.
Также в верхней части находится опорный сфероид, с которым были созданы координаты UTM, это не для выходных координат, а для входных координат.
2. Результаты вывода
Зеленые столбцы — это географические координаты, координаты на востоке от гринвичского меридиана будут положительными, восток на запад будет отрицательным.
3. Как отправить их в Google Планета Земля
Мы уже видели некоторые способы отправить файл Excel в Google Earth, как географически, так и UTM, поэтому посмотрите, если вы хотите отправить координаты UTM в AutoCAD, этот шаблон Excel позволяет это сделать.
Здесь вы можете скачать шаблон для преобразования координат UTM в географические.
Вы можете купить его с кредитная карта.
Это символично, если учесть полезность, которую он предоставляет, и легкость, с которой она может быть приобретена.
Узнайте, как сделать этот и другие шаблоны в Чит-курс Excel-CAD-GIS.
Писатель, исследователь, специалист по моделям землеустройства. Он участвовал в разработке концепции и реализации таких моделей, как: Национальная система управления имуществом SINAP в Гондурасе, Модель управления совместными муниципалитетами в Гондурасе, Интегрированная модель управления кадастром — Реестр в Никарагуа, Система управления территорией SAT в Колумбии. . Редактор блога знаний Geofumadas с 2007 года и создатель Академии AulaGEO, включающей более 100 курсов по темам ГИС, САПР, BIM и цифровых двойников.