Астрономический форум ФПА "Ка-Дар"
Тематические рабочие группы => Общие вопросы => Вопросы астрометрии => Тема начата: andyp от 27 декабря 2005, 19:15:12
-
Я собираюсь попробовать создать программу OrbSearch для расчета и уточнения элементов орбит астероидов.
Основная задача данного приложения - расчет как можно более точных элементов орбиты
на основе большого числа наблюдений, точность должна быть не хуже, чем у OrbFit.
Кроме того, данное приложение должно быть проще по использованию по сравнению
с OrbFit и свободно от ошибок, содержащихся в OrbFit.
Предполагается, что OrbSearch будет написан на C++ с использованием наработок,
которые были созданы в процессе работы над LinOccult.
Результаты работы OrbSearch должны быть тесно интегрированы с LinOccult.
OrbSearch будет создан на платформе UNIX (Linux) с возможностью портирования на другие платформы.
Лицензия GPL GNU Open Source.
Программа будет содержать два основных модуля расчета - определения достоверных
наблюдений из множества доступных и модуля уточнений элементов орбиты по этим наблюдениям.
Однако, соревноваться с OrbFit - задача на порядок сложнее, чем соревнование с
написанной на коленке WinOccult. Поэтому скорее всего, будет необходима разнообразная
помощь от максимально возможного числа людей. Если это реально, я начну разработку
более конкретного плана действий.
Андрей Плеханов
-
Буду рад подсказать или чем-то помочь :)
Стас
-
Вот есть задача разобрать как работают некоторые процедуры
перевода времени
UT1 -- TDT -- TAI -- UTC
в OrbFit.
-
Я думаю, что наблюдения должны фильтроваться по следующему принципу
1) Улучшаем орбиту по всем доступным наблюдениям.
2) Определяем максимальную невязку.
3) Если эта невязка больше некоторого порога, то исключаем это наблюдение (не все наблюдения, которые больше порога, а только одно наблюдение).
4) Снова, улучшаем орбиту и переходим к п.2.
В общем, это достаточно стандартная процедура фильтрации наблюдений.
-
Я думаю, что наблюдения должны фильтроваться по следующему принципу
1) Улучшаем орбиту по всем доступным наблюдениям.
2) Определяем максимальную невязку.
3) Если эта невязка больше некоторого порога, то исключаем это наблюдение (не все наблюдения, которые больше порога, а только одно наблюдение).
4) Снова, улучшаем орбиту и переходим к п.2.
В общем, это достаточно стандартная процедура фильтрации наблюдений.
Да, это стандартный метод.
Но он не всегда подходит.
Тут проблема в том, что прежде чем улучшать орбиту, надо ее вычислить.
А для вычисления надо выбрать три наблюдения (какие ?) из множества доступных.
У меня немного другая идея - попробовать определить несколько орбит
по различным комбинациям трех наблюдений и из всех доступных нам наблюдений выбрать те,
которые попали на большее число этих орбит.
-
Вот есть задача разобрать как работают некоторые процедуры
перевода времени
UT1 -- TDT -- TAI -- UTC
в OrbFit.
А надо определить именно как в этом программном продукте это реализуется или вообще решить эту задачу переходов? Если просто второе, то я могу подойти к Жарову - он ведет курс Сфеерической астрономии 1-му курсу астр. отд. физ-фака МГУ, и сейчас выпустил новый учебник. Он точно ответит на этот вопрос ;)
-
Надо сделать как правильно.
Проблема в том, что до 1972 года время наблюдений
определялось в UT1, а после в UTC.
Надо эти времена переводить в ET(TDT).
Как это делается для UTC я знаю, а для UT1 нет.
Я даже не знаю в чем отличие UT1 и UTC.
-
Надо сделать как правильно.
Проблема в том, что до 1972 года время наблюдений
определялось в UT1, а после в UTC.
Надо эти времена переводить в ET(TDT).
Как это делается для UTC я знаю, а для UT1 нет.
Я даже не знаю в чем отличие UT1 и UTC.
Хорошо. Я этот вопрос задам в ГАИШе ;)
-
Я даже не знаю в чем отличие UT1 и UTC.
Только сегодня случайно наткнулся на вопрос Андрея.
Прикрепляю отсканированную страницу из Астрономического Ежегодника на 1984 год. Там приводится определение UT1 и UTC.
Значения разности UT1-UTC имеются на сайте The International Earth Rotation and Reference Systems Service (IERS): http://www.iers.org/ . Например, на страничке http://www.iers.org/MainDisp.csl?pid=36-9 собраны ссылки на таблицы, содержащие значения этих разностей. Возможно, где-нибудь в недрах этого сайта имеется и формула, аппроксимирующая изменение разности UT1-UTC со временем. :)
-
Эх, жалко тему забросили... А программа-то была бы весьма полезна... :-\
-
Кто там дела обстоят с данным проектом?
Программу ещё не сделали?
А то у меня есть интерес к данному вопросу, в части алгоритмов.
-
Основной каркас программы создан.
Реализован модуль вычисления предварительной
орбиты по трем точкам.
Результат совпадает с OrbFit.
-
Выложил первую версию программы - OrbSearch 1.0.0 Beta.
Исходники можно найти на моей страничке:
http://andyplekhanov.narod.ru
и на
http://sourceforge.net/projects/orbsearch
Начальная орбита вычисляется с помощью метода Гаусса по трем наблюдениям,
а затем уточняется с помощью нахождения минимума функции отклонения Simplex методом.
В отличии от известных программ упор делается на статистическую обработку и вычисление
неопределености обриты путем вычисления нескольких вариантов.
В программе используются библиотеки из LinOccult и GNU scientific library.
Вот несколько сравнений результатов с OrbFit:
Астероид 49:
OrbSearch (best fitted):
Epoch (y m d) 2008/05/25.25 (54611.25)
Semi-major axis (a) 3.09061843 AU
Eccentricity (e) 0.23131746
Inclination (i) 3.18124886 deg
Long. of ascending node 286.13984314 deg
Argument of perihelion 110.03371310 deg
Mean anomaly (M) 240.29977619 deg
OrbFit:
Semimajor axis = 3.09061933737767E+00 AU
Eccentricity = 0.231307001433158
Inclination = 3.1814838945372 deg
Long. of node = 286.1301224096144 deg
Arg. of pericenter = 110.0438989194008 deg
Mean anomaly = 240.3045776164618 deg
Epoch of elements : MJD 54611.28400000 TDT (May 25, 2008, 6.816000
h)
Астероид 165:
OrbSearch (best fitted):
Epoch (y m d) 2008/05/20.00 (54606.00)
Semi-major axis (a) 3.12572643 AU
Eccentricity (e) 0.08338424
Inclination (i) 11.23946034 deg
Long. of ascending node 302.65132928 deg
Argument of perihelion 350.83658219 deg
Mean anomaly (M) 308.39276761 deg
OrbFit:
Semimajor axis = 3.12571555818036E+00 AU
Eccentricity = 0.083388649509875
Inclination = 11.2393034099170 deg
Long. of node = 302.6507359851024 deg
Arg. of pericenter = 350.8433943595194 deg
Mean anomaly = 308.4035998068666 deg
Epoch of elements : MJD 54606.09000000 TDT (May 20, 2008, 2.160000
h)
-
OrbSearch портирована и под Windows. Подробности ТУТ (http://www.astronomy.ru/forum/index.php/topic,11747.msg719069.html#msg719069). Тестирование приветствуется. :)
-
Для расчёта орбит конкретных астероидов нужны файлы с данными их наблюдений. Но...
The .obs files, in the format specified by the Minor Planets Center, are currently available from the MPC Extended Computer Service at http://cfa-www.harvard.edu/iau/services/WebCSAccess.html. However, note that at present this is a service reserved to paying customers.
Буржуины проклятые... :'( Закрывают доступ к научной информации, а потом деньгу сшибают... Это что ж -- чтобы получить эти данные, надо теперь региться к ним за деньги?!
-
Буржуины проклятые... :'( Закрывают доступ к научной информации, а потом деньгу сшибают... Это что ж -- чтобы получить эти данные, надо теперь региться к ним за деньги?!
Нет, вроде бы можно получить данные наблюдений и бесплатно...
Вот я попробовал сейчас зайти на http://hamilton.dm.unipi.it/cgi-bin/astdys/astibo?quicksearch:0;main . Ввёл первый пришедший в голову номер астероида: 431. Нажал "submit query". Нашёл строчку "Get the observational details:" и нажал на гиперсылку "ASCII file". В результате открылся файл http://hamilton.dm.unipi.it/astdys/mpcobs/numbered/0/431.rwo , содержащий результаты наблюдений данного астероида с 07.10.1902 г. по 29.02.2008 г.
-
Буржуины проклятые... :'( Закрывают доступ к научной информации, а потом деньгу сшибают... Это что ж -- чтобы получить эти данные, надо теперь региться к ним за деньги?!
Нет, вроде бы можно получить данные наблюдений и бесплатно...
Вот я попробовал сейчас зайти на http://hamilton.dm.unipi.it/cgi-bin/astdys/astibo?quicksearch:0;main . Ввёл первый пришедший в голову номер астероида: 431. Нажал "submit query". Нашёл строчку "Get the observational details:" и нажал на гиперсылку "ASCII file". В результате открылся файл http://hamilton.dm.unipi.it/astdys/mpcobs/numbered/0/431.rwo , содержащий результаты наблюдений данного астероида с 07.10.1902 г. по 29.02.2008 г.
Виталий, я высылал тебе в личку этот сайт ;)
-
Буржуины проклятые... :'( Закрывают доступ к научной информации, а потом деньгу сшибают... Это что ж -- чтобы получить эти данные, надо теперь региться к ним за деньги?!
Нет, вроде бы можно получить данные наблюдений и бесплатно...
Вот я попробовал сейчас зайти на http://hamilton.dm.unipi.it/cgi-bin/astdys/astibo?quicksearch:0;main . Ввёл первый пришедший в голову номер астероида: 431. Нажал "submit query". Нашёл строчку "Get the observational details:" и нажал на гиперсылку "ASCII file". В результате открылся файл http://hamilton.dm.unipi.it/astdys/mpcobs/numbered/0/431.rwo , содержащий результаты наблюдений данного астероида с 07.10.1902 г. по 29.02.2008 г.
Спасибо за ссылку! только почему-то там не все астероиды есть – например, там нет 2007VA85.
-
О, спасибо, мужики! Сайт этот смотрел, да не разобрал, что там есть всё, что надо.
Файлы придётся немного переработать, ну да ничего -- терпимо. ;)
Вот выход для 1220T-2 с http://hamilton.dm.unipi.it/cgi-bin/astdys/astibo?quicksearch:0;main :
version = 1
errmod = ' '
RMSast = 6.01924E-01
RMSmag = 6.21149E-01
END_OF_HEADER
! Object Obser ============= Date ============= ================== Right Ascension ================= ================= Declination ===================== ==== Magnitude ==== Obs Residual SEL
! Design K T N YYYY MM DD.dddddddddd Accuracy HH MM SS.sss Accuracy RMS F Bias Resid sDD MM SS.ss Accuracy RMS F Bias Resid Val B RMS Resid Cod Chi A M
52167 O A 1973 09 19.18611 1.000E-05 00 20 50.440 1.500E-01 1.000 F 0.000 -1.730 +02 41 32.10 1.000E-01 1.000 F 0.000 -3.114 675 3.48 0 0
52167 O A 1973 09 19.23785 1.000E-05 00 20 48.250 1.500E-01 1.000 F 0.000 -0.903 +02 41 17.40 1.000E-01 1.000 F 0.000 -3.748 675 3.80 0 0
52167 O A 1973 09 20.22847 1.000E-05 00 20 06.240 1.500E-01 1.000 F 0.000 -0.227 +02 36 46.80 1.000E-01 1.000 F 0.000 -2.516 675 2.56 1 0
52167 O A 1973 09 24.34688 1.000E-05 00 17 07.470 1.500E-01 1.000 F 0.000 0.212 +02 17 29.70 1.000E-01 1.000 F 0.000 -1.715 675 1.74 1 0
52167 O A 1973 09 24.41597 1.000E-05 00 17 04.330 1.500E-01 1.000 F 0.000 0.300 +02 17 09.60 1.000E-01 1.000 F 0.000 -2.073 675 2.11 1 0
52167 O A 1973 09 25.24375 1.000E-05 00 16 28.100 1.500E-01 1.000 F 0.000 -1.233 +02 13 11.80 1.000E-01 1.000 F 0.000 -3.071 675 3.25 0 0
52167 O A 1973 09 25.30729 1.000E-05 00 16 25.180 1.500E-01 1.000 F 0.000 -1.480 +02 12 56.40 1.000E-01 1.000 F 0.000 -0.275 675 1.56 1 0
52167 O A 1973 09 29.25330 1.000E-05 00 13 31.200 1.500E-01 1.000 F 0.000 1.657 +01 53 59.00 1.000E-01 1.000 F 0.000 -0.956 18.4 0.70 0.10 675 1.94 1 1
52167 O A 1973 09 29.31806 1.000E-05 00 13 28.160 1.500E-01 1.000 F 0.000 0.570 +01 53 40.40 1.000E-01 1.000 F 0.000 -0.884 675 1.06 1 0
52167 O A 1973 09 30.21007 1.000E-05 00 12 49.060 1.500E-01 1.000 F 0.000 1.030 +01 49 23.40 1.000E-01 1.000 F 0.000 -0.741 675 1.29 1 0
52167 O A 1973 09 30.27431 1.000E-05 00 12 46.100 1.500E-01 1.000 F 0.000 0.551 +01 49 06.80 1.000E-01 1.000 F 0.000 1.140 675 1.30 1 0
52167 O A 1973 10 04.28958 1.000E-05 00 09 51.260 1.500E-01 1.000 F 0.000 0.557 +01 29 58.70 1.000E-01 1.000 F 0.000 -0.064 675 0.58 1 0
52167 O A 1973 10 04.35208 1.000E-05 00 09 48.400 1.500E-01 1.000 F 0.000 -0.514 +01 29 41.30 1.000E-01 1.000 F 0.000 0.184 675 0.56 1 0
52167 O A 1973 10 05.31684 1.000E-05 00 09 07.430 1.500E-01 1.000 F 0.000 2.219 +01 25 09.00 1.000E-01 1.000 F 0.000 -0.913 675 2.45 1 0
52167 O A 1973 10 05.37917 1.000E-05 00 09 04.650 1.500E-01 1.000 F 0.000 1.767 +01 24 51.60 1.000E-01 1.000 F 0.000 -0.854 675 2.00 1 0
52167 O A 1979 11 16.81921 1.000E-05 01 39 50.900 1.500E-01 1.000 F 0.000 -0.120 +10 39 26.10 1.000E-01 1.000 F 0.000 -1.102 18.0 0.70 -0.73 095 1.12 1 1
52167 O c 1996 09 08.38795 1.000E-05 23 47 38.760 1.500E-01 1.000 F 0.000 -0.758 -00 50 48.20 1.000E-01 1.000 F 0.000 -0.145 691 0.78 1 0
52167 O c 1996 09 08.40908 1.000E-05 23 47 37.850 1.500E-01 1.000 F 0.000 -0.746 -00 50 53.80 1.000E-01 1.000 F 0.000 -0.076 18.3 V 0.70 0.38 691 0.75 1 1
52167 O c 1996 09 08.44321 1.000E-05 23 47 36.380 1.500E-01 1.000 F 0.000 -0.792 -00 51 03.10 1.000E-01 1.000 F 0.000 -0.218 691 0.83 1 0
52167 O C 1996 09 18.42211 1.000E-05 23 40 24.490 1.500E-01 1.000 F 0.000 -0.153 -01 37 42.70 1.000E-01 1.000 F 0.000 0.203 18.1 V 0.70 0.48 566 0.26 1 1
52167 O C 1996 09 18.43191 1.000E-05 23 40 24.020 1.500E-01 1.000 F 0.000 -0.440 -01 37 45.90 1.000E-01 1.000 F 0.000 -0.183 18.5 V 0.70 0.88 566 0.48 1 1
52167 O C 1996 09 18.44227 1.000E-05 23 40 23.530 1.500E-01 1.000 F 0.000 -0.642 -01 37 48.10 1.000E-01 1.000 F 0.000 0.592 18.6 V 0.70 0.98 566 0.88 1 1
52167 O c 1996 09 19.31751 1.000E-05 23 39 44.870 1.500E-01 1.000 F 0.000 -1.092 -01 42 01.20 1.000E-01 1.000 F 0.000 -0.355 691 1.15 1 0
А это выход с сайта OrbFit (формат пригоден для OrbSearch):
T2S1220 A1973 09 19.18611 00 20 50.44 +02 41 32.1 675
T2S1220 A1973 09 19.23785 00 20 48.25 +02 41 17.4 675
T2S1220 A1973 09 20.22847 00 20 06.24 +02 36 46.8 675
T2S1220 A1973 09 24.34688 00 17 07.47 +02 17 29.7 675
T2S1220 A1973 09 24.41597 00 17 04.33 +02 17 09.6 675
T2S1220 A1973 09 25.24375 00 16 28.10 +02 13 11.8 675
T2S1220 A1973 09 25.30729 00 16 25.18 +02 12 56.4 675
T2S1220* A1973 09 29.25330 00 13 31.20 +01 53 59.0 18.4 675
T2S1220 A1973 09 29.31806 00 13 28.16 +01 53 40.4 675
T2S1220 A1973 09 30.21007 00 12 49.06 +01 49 23.4 675
T2S1220 A1973 09 30.27431 00 12 46.10 +01 49 06.8 675
T2S1220 A1973 10 04.28958 00 09 51.26 +01 29 58.7 675
T2S1220 A1973 10 04.35208 00 09 48.40 +01 29 41.3 675
T2S1220 A1973 10 05.31684 00 09 07.43 +01 25 09.0 675
T2S1220 A1973 10 05.37917 00 09 04.65 +01 24 51.6 675
Как видно, всё сходится. Теперь можно тестировать в своё удовольствие. :)