Координаты в метры excel

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.

enter image description here

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
Регистрация: 01.01.1970

Здравствуйте. Подскажите, пожалуйста, как рассчитать МИНИМАЛЬНОЕ расстояние между точками если на вход ей подаются координаты точек,
пример данных:

долгота широта
1 30,12427 49,79565
2 30,12854 49,77113
3 30,11481 49,79782
4 30,10755 49,81034
5 30,06843 49,82044
6 30,09113 49,81076
7 30,15859 49,78464
8 30,1495 49,78669
9 30,10953 49,79551
10 30,10795 49,811

….
N

Изменено: mk2gt22.03.2016 18:24:26

 

Udik

Пользователь

Сообщений: 372
Регистрация: 07.03.2016

excel 2016х64 Контакты в профиле

Количество точек в каких пределах, точки на плоскости?

Арфы — нет, возьмите бубен.

 

mk2gt

Пользователь

Сообщений: 7
Регистрация: 01.01.1970

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

долгота широта
1 30,12427 49,79565
2 30,12854 49,77113
3 30,11481 49,79782
4 30,10755 49,81034
5 30,06843 49,82044
6 30,09113 49,81076
7 30,15859 49,78464
8 30,1495 49,78669
9 30,10953 49,79551
10 30,10795 49,811

нужно найти минимальное расстояние между объектами от 1 до 10 …N =2-3тыс, точки на земле
вот архивная тема расстояние между

двумяточками

и вот

еще  

Изменено: mk2gt22.03.2016 18:43:16

 

Udik

Пользователь

Сообщений: 372
Регистрация: 07.03.2016

excel 2016х64 Контакты в профиле

Ну если точек в пределах пары тысяч, можно тупо в лоб, для каждой точки вычисляем расстояние до всех других, находим минимальное заносим в массив. Потом ищем минимум в массиве. А потом можно алгоритм всяко оптимизировать, например берем квадрат 10 на 10 и вычисляем расстояния до всех точек,
попадающих туда, потом переходим к другой точке и т.д.

Арфы — нет, возьмите бубен.

 

Андрей VG

Пользователь

Сообщений: 11878
Регистрация: 22.12.2012

Excel 2016, 365

Доброе время суток
Вариант на SQL. Файл сохранить в папку c:path. На листе «Отчёт» в таблице ПКМ — Обновить
Успехов.

 

MCH

Пользователь

Сообщений: 3875
Регистрация: 22.12.2012

Какова конечная цель?
Нужно решить «задачу коммивояжера»:

http://www.excelworld.ru/forum/3-12090-1

или поиск кратчайшего пути от одной точки до другой алгоритмом Дейкстры:

http://www.excelworld.ru/forum/3-6656-1

 

mk2gt

Пользователь

Сообщений: 7
Регистрация: 01.01.1970

#7

23.03.2016 10:57:19

Цитата
MCH написал: Какова конечная цель?

нужно получить массив данных для каждой точки А ближайшую точку В, имея списки координат точек А и В для которых выполняется условие расстояние от А и В менне Х метров

Цитата
Андрей VG написал: Андрей VG

спасибо, хочется получить такое для всех, не для пары ближайших точек, например в 2х колонках: номер точки и расстояние)

Цитата
Udik написал: можно тупо в лоб,

как-то совсем не хочется, можно по карте с линейкой тоже сделать))

Изменено: mk2gt23.03.2016 13:11:06

 

Михаил

Пользователь

Сообщений: 7
Регистрация: 01.01.1970

поменял, по задачке есть еще желающие помочь :)

 

Юрий М

Модератор

Сообщений: 60585
Регистрация: 14.09.2012

Контакты см. в профиле

#9

23.03.2016 13:08:20

Цитата
Михаил написал: есть еще желающие помочь

Это утверждение? )

 

MCH

Пользователь

Сообщений: 3875
Регистрация: 22.12.2012

#10

23.03.2016 13:38:59

Цитата
mk2gt написал:
нужно получить массив данных для каждой точки А ближайшую точку В, имея списки координат точек А и В для которых выполняется условие расстояние от А и В менне Х метров

Можно предложить следующее решение
Для каждой пары точек вычисляем расстояние по координатам (формулу для вычисления расстояний можно взять из задачи коммивояжера, ссылку на которую давал ранее).
Затем проверяем расстояние на условие «менее Х метров» и сохраняем результат.
для 2000 точек получается не так уж и много сравнений N*(N-1) (примерно 4 млн), что для VBA легко выполнимая задача.

 

Андрей VG

Пользователь

Сообщений: 11878
Регистрация: 22.12.2012

Excel 2016, 365

#11

23.03.2016 18:59:46

Цитата
mk2gt написал: хочется получить такое для всех

А вы бы примерчик то привели бы что есть — как должно, а то только требовать — догадайтесь как надо ;)
Вариант для всех точек всё на том же SQL. С паразитным выводом 4-10 и 10-4, 3-9 и 9-3 уже поборитесь самостоятельно. Нужно же и свои усилия прикладывать, не правда ли?
Успехов.
P. S. Хотя уже при 3000 тысячах точек стоит подумать о другом алгоритме (у этого сложность N^2) и писать код в VBA.

Прикрепленные файлы

  • Расстояния.xlsx (11.48 КБ)

Изменено: Андрей VG23.03.2016 19:18:56
(Не дописал P. S.)

 

Михаил

Пользователь

Сообщений: 7
Регистрация: 01.01.1970

нашел

решение

, но результат не похож на правду

 

Андрей VG

Пользователь

Сообщений: 11878
Регистрация: 22.12.2012

Excel 2016, 365

Михаил, а чем предложенный мной вариант не подошёл?

 

Михаил

Пользователь

Сообщений: 7
Регистрация: 01.01.1970

#14

19.04.2016 14:49:08

Цитата
Андрей VG написал: уже при 3000 тысячах точек стоит подумать о другом алгоритме

Изменено: Михаил19.04.2016 16:10:17

 

Андрей VG

Пользователь

Сообщений: 11878
Регистрация: 22.12.2012

Excel 2016, 365

#15

19.04.2016 16:27:31

Доброе время суток

Цитата
Михаил написал:
стоит подумать о другом алгоритме

То есть вы задумались об алгоритме на VBA? Тут ничего особо сложного. Разбиваете пространство между минимумом и максимом координат на равные прямоугольные области (собственно — двумерный массив). При разбиении желательно чтобы каждая точка была в своём прямоугольнике — мало достижимый вариант, но можно разбить и по статистике координат.
Далее для всех точек текущего прямоугольника берём обрамляющие 8 прямоугольников и уже перебором определяем минимальное расстояние до текущей точки текущего прямоугольника (то же самое). Для идеального случая — каждая точка в своём прямоугольнике — задача становиться линейной.
Как то так, если коротенько.
Успехов.

 

MCH

Пользователь

Сообщений: 3875
Регистрация: 22.12.2012

#16

19.04.2016 18:44:12

Даже для 3000 точек попарное сравнение и вычисление расстояний занимает менее минуты (у меня считается 8 секунд):

Код
Private Const pi# = 3.14159265358979

Function dln#(x1#, y1#, x2#, y2#)
    dln = 6371 * ArcCos(Sin(x1 / 180 * pi) * Sin(x2 / 180 * pi) + Cos(x1 / 180 * pi) * Cos(x2 / 180 * pi) * Cos((y1 - y2) / 180 * pi))
End Function

Function ArcCos#(a#)
    If a = 1 Then
        ArcCos = 0
    ElseIf a = -1 Then
        ArcCos = pi
    Else
        ArcCos = Atn(-a / Sqr(1 - a * a)) + pi / 2
    End If
End Function

Sub www()
    Const n& = 3000
    Dim i&, j&, t!, d#
    ReDim x#(1 To n), y#(1 To n)
    Randomize
    
    For i = 1 To n
        x(i) = Rnd * 100 + 30
        y(i) = Rnd * 15 + 45
    Next i
    
    t = Timer
    For i = 1 To n
        For j = 1 To n
            If i <> j Then
                d = dln(x(i), y(i), x(j), y(j))
            End If
    Next j, i
    
    Debug.Print Timer - t
End Sub

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

Для решения нужно понять конечную цель задачи, что в итоге то нужно от сравнения координат?

Изменено: MCH20.04.2016 07:16:21

 

atomska

Пользователь

Сообщений: 1
Регистрация: 17.08.2018

Здравствуйте! Подскажите реальная ли задача? Нужно посчитать среднее расстояние от одного банкомата до другого.

Вводные:

Площадь Страны 17 125 191 км2

Плотность банкоматов на 10 км2 = 1,9

Плотность населения на 1 км2 = 8,56

Заранее спасибо! Может какие еще данные нужны, или вообще другие

 

Мартын

Пользователь

Сообщений: 282
Регистрация: 22.12.2016

#18

17.08.2018 10:31:39

Цитата
atomska написал:
среднее расстояние от одного банкомата до другого

Извините, но это есть бред. Среднее расстояние от одного объекта до другого равно самому этому расстоянию.

 

Мартын

Пользователь

Сообщений: 282
Регистрация: 22.12.2016

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

 

StoTisteg

Пользователь

Сообщений: 441
Регистрация: 07.05.2018

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

 

IKor

Пользователь

Сообщений: 1167
Регистрация: 27.09.2017

2 atomska

Если указанная величина плотности размещения банкоматов одинакова для всей страны, то на площади 2,0/1,9 = 10,53 км2 «в среднем» находится два банкомата.
Если разместить один из них в центре круга радиусом 1,84 км, то другие банкоматы «в среднем» окажутся за пределами этого круга…
Существуют и другие модели, приводящие к другим ответам :)

Данные по плотности населения и размере страны, видимо, не оказывают влияния на решение этой задачи.

 

Андрей VG

Пользователь

Сообщений: 11878
Регистрация: 22.12.2012

Excel 2016, 365

#22

17.08.2018 10:53:23

Цитата
atomska написал:
Нужно посчитать среднее расстояние от одного банкомата до другого.

У меня получилось 2,294157339 км. Правда, не понял, причём тут плотность населения.

Прикрепленные файлы

  • Расстояние между банкоматами.xlsx (9.36 КБ)

 

Мартын

Пользователь

Сообщений: 282
Регистрация: 22.12.2016

#23

17.08.2018 11:26:37

Цитата
Андрей VG написал:
У меня получилось 2,294157339 км

Это для геометрически квадратной страны с банкоматами в узлах сетки (значит куча «шайтан-машинок» стоит на границе страны :) ).
Вообще-то тут и площадь страны лишняя :) По определению плотности получаем, что в круге, площадью 10 км^2  находится 1,9 банкоматов, значит один банкомат «занимает» площадь 5,263 км^2 (круг, радиусом 1,294 км), значит можно сказать, что среднее растояние между банкоматами (при равномерном распределении)  примерно 1,3 км.
Вроде так как-то.

 

Андрей VG

Пользователь

Сообщений: 11878
Регистрация: 22.12.2012

Excel 2016, 365

#24

17.08.2018 12:03:14

Цитата
Мартын написал:
(круг, радиусом 1,294 км), значит можно сказать, что среднее растояние между банкоматами (при равномерном распределении)  примерно 1,3 км.

То есть площади банкоматов пересекаются? Тогда плотность будет больше.

 

Мартын

Пользователь

Сообщений: 282
Регистрация: 22.12.2016

#25

17.08.2018 12:36:24

Цитата
Андрей VG написал:
То есть площади банкоматов пересекаются?

Никоим образом! Банкомат равномерно размазан по всей площади присутствия. По умолчанию плотность вероятности нахождения банкомата в определённой точке есть константа. :)

 

Андрей VG

Пользователь

Сообщений: 11878
Регистрация: 22.12.2012

Excel 2016, 365

#26

17.08.2018 12:51:27

Цитата
Мартын написал:
Банкомат равномерно размазан по всей площади присутствия

С таким же успехом, может быть и сконцентрирован в одной точке. 19 банкоматов стоят в одном месте впритык. на 100 кв. км. будет 19 / 10 = 1,9 банкомата на 10 кв. км. Смотря от чего считать эту вероятность.

 

Мартын

Пользователь

Сообщений: 282
Регистрация: 22.12.2016

#27

17.08.2018 13:05:07

Цитата
Андрей VG написал:
Смотря от чего считать эту вероятность.

Несколько сообщений выше я уже указал, что задание есть бред в данной постановке, поскольку не даны определения некоторых величин. В конечном итоге, если между  двумя банкоматами по прямой всего 1 км, а до любого другого 100 км, то не факт, что это ближайший. Ведь на этом километре может быть непролазное болото, море, гора или враждебное государство :), тогда окажется, что 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.

lat google earth

1. Как вводить данные

Поля желтого цвета выбирают координаты XY, а также зону, причем эта должна быть достаточно осторожной, потому что Мексика, чтобы привести пример, зоны идут от 16 до 21, так что одни и те же координаты могут быть в разных зонах.

lat google earth

То же самое происходит с полушарием, как в случае с Колумбией, Эквадором и Бразилией, имеющими районы как в северном, так и в южном полушариях.

Также в верхней части находится опорный сфероид, с которым были созданы координаты UTM, это не для выходных координат, а для входных координат.

2. Результаты вывода

изображение

Зеленые столбцы — это географические координаты, координаты на востоке от гринвичского меридиана будут положительными, восток на запад будет отрицательным.

3. Как отправить их в Google Планета Земля

Мы уже видели некоторые способы отправить файл Excel в Google Earth, как географически, так и UTM, поэтому посмотрите, если вы хотите отправить координаты UTM в AutoCAD, этот шаблон Excel позволяет это сделать.

geoutm Загрузки

Здесь вы можете скачать шаблон для преобразования координат UTM в географические.

Вы можете купить его с кредитная карта.

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


Узнайте, как сделать этот и другие шаблоны в Чит-курс Excel-CAD-GIS.


Писатель, исследователь, специалист по моделям землеустройства. Он участвовал в разработке концепции и реализации таких моделей, как: Национальная система управления имуществом SINAP в Гондурасе, Модель управления совместными муниципалитетами в Гондурасе, Интегрированная модель управления кадастром — Реестр в Никарагуа, Система управления территорией SAT в Колумбии. . Редактор блога знаний Geofumadas с 2007 года и создатель Академии AulaGEO, включающей более 100 курсов по темам ГИС, САПР, BIM и цифровых двойников.

Понравилась статья? Поделить с друзьями:

А вот еще интересные статьи:

  • Координаты excel для vba
  • Координаты excel в kml
  • Координатный столбец в excel
  • Координатные графики в excel
  • Координатное выделение строк в excel

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии