Показано с 1 по 10 из 10
  1. #1
    SBS-3
    Регистрация
    11.11.2011
    Сообщений
    4,692
    В Блоге
    20
    Downloads
    39
    Uploads
    133

    Пересчет диаграммы RB в формат OUT SBSPlottera

    по наводке коллеги Netcop22 решили сделать программу перевода диаграммы Radarbox в формат близкий к SBSPlotter-у, файлы .out

    Диаграмма в Radarbox хранится в файле d012.dat

    каждая строчка в нем это градус 0 до 360, а значение в строчке это дальность в nm от точки Home

    для sbspolttera формат строки:
    {trk=000 - d= 0.0} где trk - градус а d - дистанция опять же в nm, но это комментарии, а реальные координаты расположены ниже и выглядят примерно так:
    48.539+135.073

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

    поскольку осмотр интернета на предмет формулы не дал результатов,

    то есть идея использовать для определения координат формулу, вытащенную из adsbscope, применяемую для интерполяции координат ВС

    поскольку там используется скорость ВС V, угол направления полета U и время полета t

    Дальность по физике будет D=V*t, что подтверждается размерностью м/с*с=метры

    Т.е. вместо V*t будем сразу подставлять в формулу D, равную дальности от точки Home по каждому градусу

    Далее для U от 0 до 360, выбираем соответствующий D и вычисляем координаты по формуле

    если идея верная, то вечером попробую сделать программу

    еще будет нужен пересчет nm в км, по моему в формуле используется метрическая система
    Ракета выпускается без предупреждения. 73!

  2. Ksuxa ATC

  3. #2
    МегаПрофи
    Регистрация
    07.04.2011
    Город
    Москва
    Аэропорт
    UUDD
    Сообщений
    703
    В Блоге
    7
    Downloads
    26
    Uploads
    9
    Если взять готовую формулу из работающей программы - все должно получиться.

    К тому же, проверить корректность работы программы будет легко, полученную sbsplotter-диаграмму поместить в директорию Outlines и перестартовать Radarbox. Если эта диаграмма и родная Polar Diagram совпадут - значит победа

    Один нюанс связанный с файлом D012. Radarbox не обновляет файл D012 в процессе сессии , но измененную диаграмму (если изменения были) отображает и хранит в памяти. Запись на диск, т.е. обновление файла D012, происходит при закрытии программы Radarbox.

  4. #3
    SBS-3
    Регистрация
    11.11.2011
    Сообщений
    4,692
    В Блоге
    20
    Downloads
    39
    Uploads
    133
    Цитата Сообщение от Netcop22 Посмотреть сообщение
    Один нюанс связанный с файлом D012. Radarbox не обновляет файл D012 в процессе сессии , но измененную диаграмму (если изменения были) отображает и хранит в памяти. Запись на диск, т.е. обновление файла D012, происходит при закрытии программы Radarbox.
    вот этот момент надо будет довести до пользователей потом
    Ракета выпускается без предупреждения. 73!

  5. #4
    SBS-3
    Регистрация
    11.11.2011
    Сообщений
    4,692
    В Блоге
    20
    Downloads
    39
    Uploads
    133
    сделал прогу, надо тестировать
    потому что не совсем понятно как там координаты преобразуются

    scr1.gif

    Скачать здесь: http://forum.adsbradar.ru/downloads.php?do=file&id=25
    Ракета выпускается без предупреждения. 73!

  6. #5
    МегаПрофи
    Регистрация
    07.04.2011
    Город
    Москва
    Аэропорт
    UUDD
    Сообщений
    703
    В Блоге
    7
    Downloads
    26
    Uploads
    9
    Андрей, Вы Титан.... Протестирую чуть позже сегодня, но и по скриншоту видно, что все получилось.

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

    Это несоответствие, может быть, связано с тем, что при расчете координат Radarbox и ADSBScope могут использовать различные эллипсоиды (WGS 84, Красовского и т.п).

  7. Ksuxa ATC

  8. #6
    SBS-3
    Регистрация
    11.11.2011
    Сообщений
    4,692
    В Блоге
    20
    Downloads
    39
    Uploads
    133
    небольшое несоответсвие может быть связано с тем что координаты я использовал домашние, а Radarbox использовал UHHH
    Ракета выпускается без предупреждения. 73!

  9. #7
    МегаПрофи
    Регистрация
    07.04.2011
    Город
    Москва
    Аэропорт
    UUDD
    Сообщений
    703
    В Блоге
    7
    Downloads
    26
    Uploads
    9
    Ну что, протестировал. Как и предполагал, успех почти полный , cпасибо, Андрей:

    my_test.gif

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

    Обратите внимание, что диаграммы практически полностью накладываются на азимутах 0 и 180 градусов, и несоответствия максимальны на азимутах 90 и 270 градусов.

    Собственно по интерфейсу. Вопросов нет - достаточно интуитивный, единственное, что, на мой взгляд, стоит поменять - порядок ввода домашних координат (сначала Lat, а потом Long, чтобы было как в закладке Номе Station Data Radarbox, я спутал в первый раз).

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

    Коллеги, пользователи Radarbox, присоединяйтесь к тестированию.

  10. #8
    SBS-3
    Регистрация
    11.11.2011
    Сообщений
    4,692
    В Блоге
    20
    Downloads
    39
    Uploads
    133
    за исходник был взят этот исходный этот исходный код


    преобразовано в следующе:

    const
    rad = pi/180;

    procedure TForm1.getcoord(angle:Integer;d:Integer);
    var
    dB, dL, lat, long : real;
    sign:string;
    begin
    dB := d * cos( angle*rad ); // NM
    dL := d * sin( angle*rad ); // NM
    dB := dB / 60 * rad; // rad
    dL := dL / 60 * rad; // rad

    dL := dL / cos(homelat*rad);

    lat := (homelat*rad + dB)/rad;
    long:= (homelong*rad + dL)/rad;
    if long>=0 then sign:='+' else sign:='';
    Memo.Lines.Add(FloatToStr(lat)+sign+FloatToStr(lon g));
    end;

    ---------- Post added at 12:22 ---------- Previous post was at 12:18 ----------

    я не знаю почему пишется Memo.Lines.Add(FloatToStr(lat)+sign+FloatToStr(lon g));
    хотя long должно писаться вместе (непонятки форума)

    ---------- Post added at 12:27 ---------- Previous post was at 12:22 ----------

    Цитата Сообщение от Netcop22 Посмотреть сообщение
    Выходной файл out я в директории Data на своей Win7 не обнаружил (и строка с его названием и путем к нему как-то быстро исчезла), поэтому просто скопипастил данные из окна программы.
    я сижу на xp, возможны проблемы
    lat long поправлю

    но то что не совпадает, буквально по фазе, чувствую что надо градусы на один назад сдвинуть (или вперед)
    Ракета выпускается без предупреждения. 73!

  11. #9
    SBS-3
    Регистрация
    11.11.2011
    Сообщений
    4,692
    В Блоге
    20
    Downloads
    39
    Uploads
    133
    screen.gif

    немножко подработал интерфейс пока ждем ответа:
    Добавил копирование в буфер, выстроил по порядку ввод данных
    Ракета выпускается без предупреждения. 73!

  12. Пользователь сказал cпасибо:
    Netcop22 (27.09.2011)
  13. #10
    SBS-3
    Регистрация
    11.11.2011
    Сообщений
    4,692
    В Блоге
    20
    Downloads
    39
    Uploads
    133
    Версия 1.4
    Сохраняются все данные формы
    Имеется возможность выбора включения Home информации в выходной файл

    http://forum.adsbradar.ru/downloads.php?do=file&id=25
    Ракета выпускается без предупреждения. 73!

  14. Ksuxa ATC

 

 

Что искали прежде чем попасть на этот форум:

adsbscope dm61

ADSBRADAR.ru

Метки этой темы

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •  
Powered by vBulletin®
Русский перевод: zCarot
(с) ADSBRADAR.ru 2011-2012
Текущее время: 12:46. Часовой пояс GMT +4.
Skin by CompleteVB
Яндекс.Метрика
Search Engine Optimization by vBSEO