Скрипт для файлов TLE орбит спутников.

Разработка скрипта TLE и проблемы.

Изготовив неплохую, на мой взгляд, спутниковую антенну и в попытке опробовать ее - вновь подступился к теме создания специфичного TLE, будучи подкованным предыдущими разработками ... Как я уже предполагал ранее и, чтобы не городить огород с Microsoft Excel - должно быть возможным придумать BAT / CMD скрипт, который непосредственно извлекает строки из суммарного файла всех TLE координат в папке программы Орбитрон и пишет в отдельный файл для заданного спутника ... Иметь свой настроенный / целевой файл TLE координат - это очень удобно и практично ...

Лень возится с пугающей сложностью процедур полу / ручной обработки строк TLE координат из предыдущего опыта - заставила меня взяться за разработку универсального скрипта ... Теперь, забегая вперед, я скажу, что все получилось так, как я хотел, но результат оказался неработоспособным ... Кратко расскажу, как было дело ...

Скрипт Sat TLE, v1.

Сначала нужен сборный файл обновленных TLE ... Обновил программы Orbitron ... Как и ранее, собрал скриптом - прочитав файлы TXT в цикле FOR и вывел через перенаправление вывода TYPE в _all.dat ... Это скрипт _01-tle-type.cmd ...

Следующим этапом разработал и отладил скрипт разбора строк _02-tle-min.cmd ... Как только код заработал - на его основе доработал скрипт _02-tle-max.cmd и подставив, в переменные - номера требуемых спутников, вычисленных заранее (из предыдущего файла sat2375.txt - в котором почему-то оказалось всего 22 спутника ...) Обсчитался ... А, в статье на сайте - 23 ... Так и есть, пропустил спутник 43589 ...

Так, как я планирую использовать этот файл многократно - сохранил его с региональной выборкой спутников, как _02-tle-ural-2375.cmd ... Запустил и, вскоре - получил идеальные требуемые файлы, которые третьим скриптом _03-tle-my-combi.cmd объединил в обновленный файл sat2375.txt ... Только при загрузке в Орбитрон файл отказался показывать спутники в окне меню / выбора ... Первый спутник отображается - остальные ни в какую ...

Тогда я вручную скопировал код следующего спутника из оригинала и перезагрузил файл - стало отображаться 2 спутника ... Как же так - все получилось в прошлый раз ? Не понимаю ... Сравнил файлы командой FC и увидел отличия в коде, хотя визуально текст практически не отличается ... Я подумал, что проблема связана с TYPE или ECHO и сделал новый файл, где собрал _all.dat способом COPY / коннектацией ... Заново проделал всю процедуру - снова та же самая проблема ...

Подумав, я поигрался с кодировками DOS и не получил успеха ... Тогда я сравнил скриптовую и оригинальную записи : отличие заключается в количестве пробелов, которые режет цикл, используя пробел в качестве делителя ...

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

Есть только один способ обойти эту проблему : отделить копирование от разбора строк ... И переназначить делитель токенов по умолчанию на знак =; ... Тогда строка не должна будет изменяться ... Введение дополнительной переменной с механизмом извлечения номера спутника из строки позволило, наконец - уйти от этой проблемы с пробелами, хотя - осложнило код скрипта и увеличило его время работы на 38% ... Но, нет худа без добра ... При переделке скрипта я значительно улучшил его и добавил авто / остановку при нахождении последних искомых данных спутника ...

Всем, кто работает с собственными TLE файлами могу обратить внимание, что нужно крайне деликатно обходится с пробелами, даже в коде скрипта, например :
ECHO %%A > file.txt - в этом случае скрипт сгенерирует лишние пробелы ...
ECHO %%A>file.txt - такая запись кода не дает лишних пробелов, которые, в большинстве случаев - не оказывают никакого негативного влияния на исполнимость кода BAT / CMD, но не в случае TLE ...

Преимущества скрипта TLE и особенности работы.

Широкий функционал работы скриптов предоставляет следующие возможности по созданию собственного TLE файла :

Порядок работы при создании TLE файла.

Шаг 1. Установка скрипта.

Скрипт не привязан к каталогу / папке, описание для примера ...
- В папке программы Орбитрон создайте папку Tle-My
- Скопируйте в нее файлы скрипта из архива и TXT файлы из папки Tle

Как создать TLE файл? Шаг 1 - установка скрипта.

Шаг 2. Слияние групп TLE в общий файл.

Скрипт _01-tle-type.cmd не требует специальной настройки ...
- Его задача - объединить группы в единый файл для возможности поиска элементов орбит
- Копируйте, а не перемещайте TXT файлы - после слияния они будут удалены ...

Как создать TLE файл? Шаг 2 - слияние файлов групп.

Шаг 3. Генерация отдельных TLE файлов спутников.

Скрипты _02-tle-***.cmd требуют указания номеров NORAD искомых спутников ...
- Откройте скрипт ПКМ / правой кнопкой мыши для редактирования ...
- Измените значение переменной SET Sat(?)=0 на номер искомого спутника
- Неиспользуемые строки должны иметь значение =0 ...
- Файл можно сохранить, как ... и указать собственное имя ...
- Запустите скрипт и файлы в папке будут созданы по мере обнаружения элементов орбит спутника ...
- По окончании поиска или окончании просмотра файла _all.dat скрипт автоматически закончит свою работу ...
# _02-tle-min.cmd - скрипт для поиска одиночных файлов ...
# _02-tle-max.cmd - пользовательский скрипт для настройки и поиска группы спутников ...
# _02-tle-ural-2375.cmd - скрипт моей региональной настройки и выборки, Урал, Россия ...

Как создать TLE файл? Шаг 3 - генерация файлов спутников.

Шаг 4. Создание файла TLE для выбранной группы спутников.

Скрипт _03-tle-my-combi.cmd, слияния разрозненных файлов в групповой файл ...
- Можно настроить собственное имя выходного файла ...
- Откройте скрипт ПКМ для редактирования ...
- Измените переменную SET OutFile=tle-my на =собственное имя ...
- Расширение файла уже указано в скрипте ...

Как создать TLE файл? Шаг 4 - генерация выходного файла.

Шаг 5. Подключение своего TLE файла группы спутников в программе.

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

Как создать TLE файл? Шаг 5 - подключение своего TLE файла к программе.

Скачать скрипт Sat TLE v1 2019.

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

Примечание :
- Cкрипт работает с трех-строчными TLE исходниками, обновляемые с сайта celestrak.com ... Трех-строчные TLE исходники, с сайта space-track.org для номеров, менее 5-ти значных - вместо нолей впереди номера содержат пробелы ... И это может быть проблема ... Такой файл следует подвергнуть минимальной обработке вручную / в блокноте, для замены пробелов на 0, используя хитрый алгоритм ... 0 четыре пробела на 0 0000 ; 0 три пробела на 0 000 и так далее, включая 1 и 2 строки ...
- Первая строчка TLE элементов от celestrak не маркируется, как 0, а от space-track, напротив маркируется ... И это может быть вторая проблема ... Вопрос пока открыт ... Можно попытаться решить эту проблему проверкой на 0 первого символа ... Можно и не использовать space-track - но, на мой взгляд, его база TLE полнее, чем celestrak ...

Скачать, RAR архив, 4 кб : script-sat-tle-v1-2019.rar

Скрипт Sat TLE, v2.

Работа с первой версией TLE скрипта и создание таблицы активных спутников и частот - показали :
- отсутствие стандартизации TLE записей ...
- множественные названия спутников, в отличии от единых идентификаторов ...
- некоторые несоответствия между различными TLE базами данных ...
- трудности и необходимости проверки названия спутников при создании алгоритмов планировщика событий DDE сервера программы слежения и управления RTL-SDR радио / приемником ...
- возможно, что-то еще, чего я не упомянул ...

В попытках объединить пользу и удобства - код оригинального TLE скрипта был модифицирован, с целью :

- создать единый файл _all.dat с уникальными TLE записями и в едином формате посредством машинной обработки исходников, суммарно содержащих более 55000 строк трех / строчных данных орбит спутников, то есть 55000 / 3 = 18350 дублированных записей, от которых хотелось бы избавиться ...

- исходники Celestrak и Space-Track дополняют друг друга, хотя и имеют противоречия ... Если вы не хотите вручную заменять пробелы на 0 для первых 9999 спутников файла 3LE Space-Track - просто удалите все записи с номером менее 10000 ... Данные спутника 07530 вы получите из исходников Celestrak, где они - есть ...

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

- удобство работы с таблицей спутников и частот позволяет отсортировать и выделить необходимый сегмент спутников по категории интереса : частота, позывные, дата / место запуска и т.д. - скопировать в Microsoft Excel - и провести дополнительные селекции по особым признакам, редактированию или удалению ненужных записей, таким образом получая список номеров спутников, для которых нужен особый / собственный файл TLE координат для расчета проходов в местности наблюдения ...

- подготовка скрипта к работе ... Скопируйте TLE файлы в папку скрипта ... Отредактируйте 3LE.txt, в дальнейшем он будет переименован в zzz.txt, чтобы дополнить наш создаваемый файл ... Запустить первую часть скрипта _01-tle-v2-dat.cmd ... После, около часа работы, в зависимости от скорости работы компьютера - скрипт создаст файл с уникальными TLE записями (выборочная проверка не показала наличие дублей), который можно использовать для дальнейшей обработки ... 48000 строк и 2.3 Мб размером, 16008 объектов ...

- таблица спутников и частот предоставляет сведения, что - в мире доступно 122 радиолюбительских спутника с гарантией работоспособности 50% и из них 82 с явным указанием позывного маяка ... Чтобы выяснить, какие спутники можно наблюдать в моем регионе / Урал - используя Excel отсортировать спутники с маяком и скопировать их номера / в столбец, один номер на строчку / в файл _02-tle-v2-list.dat и запустить вторую часть скрипта _02-tle-v2-selwr.cmd ... Excel позволяет копировать текст и по строкам и по столбцам, так, что - это не должно вызвать особых трудностей ...

- При такой серьезной подготовке - на генерацию собственного TLE файла орбитальных данных 100 спутников - уходит всего несколько секунд ... Источник записей _all.dat обычно можно использовать в течении недели, пока не придется изготовить следующий обновленный файл ...
- Промежуточные этапы генерации отдельных TLE файлов спутников и их сбор в единый файл - исключены из скриптовой обработки за ненадобностью ...
- Полученный файл я назвал my-ural-10042-437mhz-beacon.txt по региону, сортировке надежности приема по таблице от 100% до 42%, по частоте передачи 430 - 437 МГц, и с учетом наличия позывного маяка ...
- Ничто не мешает мне сделать список номеров всех 122-х спутников и за несколько десятков секунд получить еще один собственный TLE файл ... Пусть это будет, например : my-ural-10042-437mhz-all.txt ... Это повысит шансы на удачный прием и сократит время ожидания между проходами следующих спутников, что сделает спутниковое радио / наблюдение еще более напряженным и интересным ...

Создавая первый скрипт я ориентировался на спутники с высоким углом прохода, не учитывая их радио / пригодность - и, это может быть хорошо для спутниковых наблюдателей, но однозначно плохо для радио / мониторинга активности и приема данных со спутников ... Если переименовать _all.dat в _all.txt (или, в любое имя формата текст) - то, подключив - можно использовать его и для расчета визуально наблюдаемых проходов спутников, так как - если припомнить, то для первичных расчетов я использовал файл с дублями, который создавал некоторые проблемы ... Файл _all.dat лишен этих неприятностей ...

Непосредственно у меня - есть задача протестировать новую антенну 435 MHz, собственно для чего мне и понадобились таблица активных спутников, возможность сортировки по частоте и новый скрипт / генератор TLE ... Надеюсь, то что нужно мне - возможно / поможет и многим любителям спутникового приема с использованием RTL-SDR ...

Скачать скрипт Sat TLE, v2, 2019.

Скачать, RAR архив, 4 кб :
script-sat-tle-v2-w0-2019.rar
script-sat-tle-v2-wo0-2019.rar

Примечание : при тестировании в практических условиях были обнаружены и исправлены следующие недостатки в работе скрипта :
- ноль в первой строке признан нецелесообразным, однако оставлены обе версии генератора :
_01-tle-v2-dat-w0.cmd = версия с нулем в первой строке (with 0) ...
_01-tle-v2-dat-wo0.cmd = версия без ноля в первой строке (without 0) ...
- обнаружено, что в список спутников для требуемых TLE - могут попасть дубли, особенно в многострочные списки ... Всему виной - обычная / человеческая невнимательность ... В скрипт / генератор _02-tle-v2-selwr.cmd введена проверка на дубли, а сам скрипт также стал ориентирован на две версии по 0 : _02-tle-v2-selwr-w0.cmd и _02-tle-v2-selwr-wo0.cmd ...

15:15 14.05.2019

Поделиться ссылкой :

Быстрый поиск по сайту :


Главная страница сайта.

Меню сайта - главные разделы.

= = = Меню раздела = = =


© techstop-ekb.ru / Екатеринбург / 2019