Альберт Тимашев приглашает вас принять участие в Программе Разработчиков Фаэтон!
Если вы -- разработчик астрологических или астрономических программ,
вы можете стать участником Программы Разработчиков Фаэтон.
Для этого, во-первых, вы должны скачать демо версию Фаэтон 1.3.
Затем, вы должны обеспечить поддержку Базы Данных Фаэтон (файлы с расширениями ODL и IDL)
в вашей программе. Далее, вы должны сообщить Альберту Тимашеву
о том, что ваша программа теперь может работать с Базой Данных Фаэтон и
предоставить ему бесплатно демонстрационную,
shareware или полную версию своей программы с поддержкой Базы Данных Фаэтон.
В случае, если вы предоставляете полную версию своей программы,
вы получаете бесплатный CD-ROM с ПОЛHОЙ Базой Данных Фаэтон и
бесплатное право использовать фразу "продукт совместим с Базой Данных Фаэтон™"
и логотип Базы Данных Фаэтон
в своем продукте и документации к нему.
В любом случае, вы можете договориться с Альбертом Тимашевым
об условиях включения ПОЛHОЙ Базы Данных Фаэтон непосредственно в дистрибутив
вашей программы. Полная База Данных Фаэтон может поставляться только на трех
CD-ROM'ах или на DVD-R/RW, поскольку ее объем превосходит 1.5Gb.
Полная База Данных Фаэтон включает в себя орбитальные параметры ВСЕХ
нумерованных астероидов с 1500 по 2200 гг.н.э. Файлы Базы Данных Фаэтон
могут быть урезаны или расширены как по временному промежутку, так и по набору
астероидов в соответствие с вашими требованиями.
Hиже вы найдете всю информацию о структуре файлов
Базы Данных Фаэтон, необходимую для разработки поддержки
Базы Данных Фаэтон™. Исходний текст написан на
языке Pascal/Delphi
и может быть с легкостью конвертирован в любой другой язык программирования.
Если у вас возникнут вопросы, не стесняйтесь их задавать Альберту Тимашеву.
Обратите внимание, что начиная с версии 1.3 вместо
периода орбитального обращения в годах в строке номер 6*n-1 файлов IDL
указывается диаметр астероида в километрах, если он известен.
Если диаметр неизвестен, эта строка оставляется пустой.
Const
ODL_marker = 'OrbitLibrary0'; { маркер файла Orbit Data Library }
ODL_Extension = 'odl'; { расширение файла Orbit Data Library }
IDL_Extension = 'idl'; { расширение файла Information Data Library }
MaxOrbitsInLib = $FFFE DIV SizeOf(LongInt);
Type
{ -=- структура Orbit Data Library -=- }
{ первая часть заголовка }
ODL_header1 =
Record
FileMarker : Array [1..Length(ODL_marker)] of Char;
{ всегда равно константе ODL_marker }
StepInDays : Single; { шаг между записями в днях }
FirstRecTime : Double; { юлианская дата/время первой записи }
LastRecTime : Double; { юлианская дата/время последней записи }
NOrbits : LongInt; { количество астероидов в этом файле }
End ;
{ вторая часть заголовка:
реальный размер равен ODL_header1.NOrbits*SizeOf(LongInt) байт
реальный диапазон индекса 1..ODL_header1.NOrbits }
ODL_header2 = Array [1..MaxOrbitsInLib] of LongInt;
{ номера астероидов по каталогу }
{ параметры орбиты на эпоху J2000.0 }
ODT_record =
Record
M_param, { средняя аномалия в градусах }
w_param, { аргумент перигелия в градусах }
o_param, { долгота узла в градусах }
i_param, { наклон орбиты в градусах }
e_param, { эксцентриситет }
n_param, { скорость движения по орбите в градусах в день }
a_param { большая полуось орбиты в астрономических единицах }
: Single;
End ;
{ структура ODL файла:
ODL_header1
ODL_header2 - реальный размер равен
ODL_header1.NOrbits*SizeOf(LongInt) байт
ODT_record для всех орбит на момент
ODL_header1.FirstRecTime (юлианская дата/время)
- реальный размер равен
ODL_header1.NOrbits*SizeOf(ODT_record) байт
ODT_record для всех орбит на момент
ODL_header1.FirstRecTime+ODL_header1.Step
- реальный размер равен
ODL_header1.NOrbits*SizeOf(ODT_record) байт
ODT_record для всех орбит на момент
ODL_header1.FirstRecTime+2*ODL_header1.Step
- реальный размер равен
ODL_header1.NOrbits*SizeOf(ODT_record) байт
..........................................................
ODT_record для всех орбит на момент
ODL_header1.LastRecTime (юлианская дата/время)
- реальный размер равен
ODL_header1.NOrbits*SizeOf(ODT_record) байт
}
{ -=- структура Information Data Library -=- }
{ структура IDL файла (простой текст MS-DOS):
строка номер 6*n-5: [<номер астероида по каталогу>]
строка номер 6*n-4: <английское название>
строка номер 6*n-3: <русское название>
строка номер 6*n-2: <вид1> <вид2> - не актуально в рамках
Программы Разработчиков Фаэтон
строка номер 6*n-1: <диаметр в километрах, если известен>
строка номер 6*n: ...пустая строка...
где n=1,2,3,...
}