Работа с градусами-минутами-секундами

Автор Netlog, 3 декабря 2017, 14:20

0 Пользователи и 1 гость просматривают эту тему.

Netlog

Подскажите, как проще всего работать с угловыми величинами, градусы-минуты-секунды, операции простые - сложение, вычитание, умножение/деление на коэффициент
Что-то вроде такого
98°00'15"-53°45'00"
Пробовал выбирать формат Время, но 98 градусов отображается как 2. Хотя все операции проводятся верно, до того момента, пока градусов меньше 24

mikekaganski

Искренний совет: если Вы хотите корректно работать с единицами измерений - используйте нормальные математические пакеты, типа SMath.
С уважением,
Михаил Каганский

Netlog

#2
Я нимало не против мат пакетов, но ЛибрОфис у меня стоит на каждой машине, а мат.пакет будет в лучшем случае на домашней.
Сейчас конвертирую в секунды выражением вроде =(MID(C3;1;LEN(C3)-7)*60+MID(C3;LEN(C3)-5;2))*60+MID(C3;LEN(C3)-2;2)
98°00'15" -> 352815
Громоздко, но работает же

mikekaganski

Да, работает. Но использовать ГМС в вычислениях и с нормальным отображением при отсутствии нормальной поддержки будет ... нетривиальной задачей. Перевод в радианы для расчётов; правильность ввода и вывода; производительность при постоянных пересчётах; отладка выражений с несколькими угловыми величинами, каждая из которых обрабатывается формулами типа Вашей...

Можно написать свои функции типа DMS(D,M,S)->rad и обратно. Но это макросы, с соответствующими сообщениями при открытии, либо необходимость выставить небезопасный уровень безопасности (простите за каламбур), либо озаботиться развёртыванием своих макросов на разные машины. И опять же отладка, обучение пользованию этих пользовательских функций, совместимость...

Я в своё время просто развёртывал SMath на рабочие машины через AD. Может, проще уговорить админов?
С уважением,
Михаил Каганский

Netlog

Надо его сперва дома попробовать, а там посмотрим.
Обратное преобразование из минут в текст
=CONCATENATE(INT(D3/3600);"°";TEXT(INT((D3-INT(D3/3600)*3600)/60);"00");"'";TEXT(INT(D3-INT(D3/60)*60);"00.000");"""")
352815 -> 98°00'15,000"

JohnSUN

Цитата: Netlog от  3 декабря 2017, 14:40
Громоздко, но работает же
Мне кажется, что это ещё не всё, будет ещё более громоздко - ИМХО, просится сюда ещё и MOD() для 360...
Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне