Программа формирования gif-файла изображения волновых форм из БД WSG ==================================================================== Программа предназначена для формирования изображения волновых форм выбранных каналов из БД WSG. Выходной формат файла - gif87a, 256 цветов. wave2gif v2.08 -------------- 18/02/2013 15:48 266240 wave2gif.exe 1. Изменены параметр командной строки (и INI-файла) TBEG=CURRENT-offset, где offset - смещение от текущего времени назад (секунды). 2. Исправлена ошибка "обрезания" (CLIPPING) волновых форм при большом размахе (приводила к "отсутсвию" волновых форм на картинке). 3. Исправлены ошибки загрузки списка фаз (PHASE=) из INI-файла и БД Логика использования PHASE, EventID и Tbeg/NSEC: - фазы отображаются ТОЛЬКО ТЕ, которые ПОПАЛИ в интервал NSEC со времени Tbeg; - если указан EventID и PHASE, то выводятся только фазы из списка для этого события; - если нет EventID, но есть PHASE, то выводятся фазы из списка для ВСЕХ событий; - если нет EventID и PHASE, то выводятся ВСЕ фазы. - чтобы отключить вывод фаз, нужно установить параметр PHASE=NO 4. Вывод расстояния до эпицентра в км (dist*111.0) производится для ПЕРВОЙ встретившейся в интервале фазы с НЕНУЛЕВЫМ значением dist. 5. Изменен формат подписи оси времени (min только 1 раз) 6. Введен параметр командной строки (и INI-файла) TBEG=LAST - режим вывода ПОСЛЕДНИХ данных из БД. Работает ТОЛЬКО по 1 каналу!!! 7. Введены параметры INI-файла секции [WAVEFORMS] N#=LAST | FIRST - режим вывода последней (LAST) или первой (FIRST) ПОЛОВИНЫ списка каналов для режима N#=ALL [WAVEFORMS] N#=num | ALL | LAST | FIRST 8. Изменен экран помощи... wave2gif v2.07 -------------- 29/06/2012 18:25 266240 wave2gif.exe 1. Изменен тип поля FOFF в таблице FILELIST (с LONG(32bit) на BIGINT(64bit)) для "адресации" файлов > 2Гб 2. Изменены все функции чтения данных для учета п.1 3. Изменены параметры командной строки. Добавлены параметры: USER=user_name | - авторизация пользователя при PASSWORD=user_password | подключении к БД DATA | DIR=data_dir - задание "корневого" каталога данных /TIMEGRID - показ "сетки времени" /NOGRID - отключение показа горизонтальной сетки 4. Исправлена ошибка подписи времени начала-конца в заголовке, добавлена подпись минут в шкалу времени (при наличии своб.места после меток времени добавляется min) 5. Добавлена возможность показа "сетки времени", отключения горизонтальной сетки 6. Исправлена ошибка определения начального времени в "сегментном" режиме 7. Введен режим "обрезки" волновых форм в "сегментном" режиме (3 максимальных уровня сигнала) 8. Изменен экран помощи: Wave2gif - make GIF-image of waveforms from WSG DiskLoop ======================================================== Ver 2.07 USAGE: wave2gif tbeg="h:m:s dd.mm.yyyy"|eventid=|orid= [file=] [ini=<.ini file name>] [size|screen=] [nsec=[:]] [ODBC=dsn] [USER=user_name] [PASSWORD=user_password] [DATA | DIR=data_dir] [/css[=file_wfdisk]] [/TIMEGRID] [/SHOWEVENT] [/SHOWMINMAX] [/NOLABEL] [/NOGRID] [/NOPREVIEW] where tbeg="CURRENT" - begin from current system time eventid|orid="LAST" - show phase picking for last event ODBC=data_source_name - preset ODBC= from INI-file to data_source_name USER=user_name - preset USER= from INI-file to user_name PASSWORD=user_psw - preset PASSWORD from INI-file to user_psw DATA | DIR=data_dir - preset [DATA] DIR= from INI-file to data_dir nsec=nSec[:dSec] - show waveforms in "segment" format (nSec=dSec*N), /css[=file_wfdisk] - save waveforms to CSS v3.0 format (def=WAVE.WFD), absent [=file_wfdisk] - default or from INI-file /SHOWEVENT - display event parameters (lat, lon, o_time) /SHOWMINMAX - display waveforms amplitude (min/max in count) /TIMEGRID - display time grid /NOLABEL - don't display ANY label (top and bottom) /NOGRID - don't display grid absent eventid|orid - show all phase picking absent file= - default filename OUT.GIF absent ini= - default WAVE.INI in current directory absent nsec= - display 1800 (or defined in INI-file) second absent /NOPREVIEW - run default associated *.GIF program wave2gif v2.06 -------------- 25/08/2010 12:16 266240 wave2gif.exe 1. Исправлена ошибка в SQL-запросе поиска времени первой фазы последнего события при частичном совпадении идентификаторов eventid и orid (выбиралось самое раннее событие) wave2gif v2.05 -------------- 08/06/2010 14:02 266240 wave2gif.exe 1. Изменены параметры командной строки. Добавлены параметры: /SHOWMINMAX - показать мин/макс. уровень сигнала 2. Изменено направление отрисовки графиков - сверху вниз, слева направо 3. Добавлен режим "посегментного" отображения волновых форм - ТОЛЬКО ДЛЯ ОДНОЙ станции!!! Задается в командной строке или в файле настройки в форме NSEC=nSec:dSec, где nSec - общее кол-во секунд dSec - кол-во секунд в сегменте 4. Введена возможность "отступа назад" - задание отрицательного кол-ва секунд 5. Отключен режим задания кол-ва секунд для каждой станции (параметр NSEC= в секции [STA#]) 6. Изменен экран помощи: Wave2gif - make GIF-image of waveforms from WSG DiskLoop ======================================================== Ver 2.05 USAGE: wave2gif tbeg="h:m:s dd.mm.yyyy"|eventid=|orid= [file=] [ini=<.ini file name>] [size|screen=] [nsec=[:]] [ODBC=dsn] [/css[=file_wfdisk]] [/SHOWEVENT] [/SHOWMINMAX] [/NOLABEL] [/NOPREVIEW] where tbeg="CURRENT" - begin from current system time eventid|orid="LAST" - show phase picking for last event ODBC=data_source_name - preset ODBC from INI-file to data_source_name nsec=nSec[:dSec] - show waveforms in "segment" format (nSec=dSec*N), /css[=file_wfdisk] - save waveforms to CSS v3.0 format, absent [=file_wfdisk] - name from INI-file /SHOWEVENT - display event parameters (lat, lon, o_time) /SHOWMINMAX - display waveforms amplitude (min/max in count) /NOLABEL - don't display ANY label (top and bottom) absent eventid|orid - show all phase picking absent file= - default filename OUT.GIF absent ini= - default WAVE.INI in current directory absent nsec= - display 1800 (or defined in INI-file) second absent /NOPREVIEW - run default associated *.GIF program wave2gif v2.04 -------------- 26/05/2010 14:59 262144 wave2gif.exe 1. Добавлен параметр SCALE= задает амплитудную шкалу min/max в count-ах. Может быть AUTO(по-умолчанию), FIXED (-15000;15000) или min;max В секции [STA#] задает амплитудную шкалу для КАЖДОЙ станции Значение в секции [WAVEFORMS] используется при отсутствии ключа в секции [STA#] Максимальный приоритет - настройки, задаваемые в секции [STA#] ;SCALE=-1000.0;1000.0 ;SCALE=FIXED SCALE=AUTO 2. Исправлена ошибка в формировании изображения при отсутсвии меток (ключ /NOLABEL - общий размер изображения "усекался" на размер заголовка). wave2gif v2.03 -------------- 09/03/2010 13:14 262144 wave2gif.exe 1. Изменены параметры командной строки. Добавлены параметры: /css[=file_wfdisk] - сохраниение отображаемых волновых форм в группу файлов в CSS v3.0 формате, при отсутствии имени wfdisk-файла это значение берется из INI-файла /SHOWEVENT - отображать параметры события (по-умолчанию отключено) (координаты lat, lon, время в очаге o_time) /NOLABEL - НЕ отображать заголовки (время и параметры события вверху и метки внизу) USAGE: wave2gif tbeg="h:m:s dd.mm.yyyy"|eventid=|orid= [file=] [ini=<.ini file name>] [size|screen=] [nsec=] [ODBC=dsn] [/css[=file_wfdisk]] [/NOPREVIEW] [/SHOWEVENT] [/NOLABEL] where tbeg="CURRENT" - begin from current system time eventid|orid="LAST" - show phase picking for last event ODBC=data_source_name - preset ODBC from INI-file to data_source_name /css[=file_wfdisk] - save waveforms to CSS v3.0 format, absent [=file_wfdisk] - name from INI-file /SHOWEVENT - display event parameters (lat, lon, o_time) /NOLABEL - don't display ANY label (top and bottom) absent eventid|orid - show all phase picking absent file= - default filename OUT.GIF absent ini= - default WAVE.INI in current directory absent nsec= - display 1800 (or defined in INI-file) second absent /NOPREVIEW - run default associated *.GIF program 2. Добавлен шаг сетки (минуты, с шагом 1,5,10,60) в нижней части графика wave2gif v2.02 -------------- 04/03/2010 17:53 262144 wave2gif.exe 1. Добавлена сетка (минуты, с шагом 1,5,10) в нижней части графика 2. Изменен формат подписи события в заголовке (eventid заменен на время в очаге) 3. Для параметра LAST (последнего события) производится автоматическое вычисление начала (ближайшая фаза минус 1/5 длины графика) с выравниванием на 00 сек 4. Позиция подписи фильтра смещена в правую нижнюю часть трассы 5. Добавлен вывод расстояния до эпицентра (для ближайшей фазы) в км (dist*111.0) wave2gif v2.01 -------------- 03/17/09 09:55p 233,472 wave2gif.exe 1. Добавлены шрифты для отображения надписей для различных разрешений. 2. Установлен минимальный размер одной трассы для режима вывода ВСЕХ станций (=30 пикс), если меньше, размер увеличвается 3. Добавлена подпись координат и eventid события в заголовке. 4. Добавлена "очистка" сигнала при фильтрации (выброс в начале данных) 5. Для всего списка станций/каналов (N#=ALL) и (eventid|orid="LAST") последнего события установлены каналы ТОЛЬКО "Z" wave2gif v2.00 -------------- 02/11/09 14:01p 225,280 wave2gif.exe 1. Изменены параметры командной строки. Добавлены параметры: - eventid=|orid= - задает идентификатор события (eventid в нотации WSG или orid в нотации CSS). Если используется значение LAST, ищет ПОСЛЕДНЕЕ событие в БД; - nsec - ПЕРЕГРУЖАЕТ значение NSEC в файле настройки; - size|scren - задает размер создаваемого графического файла в пикселях Hor x Ver; - ODBC - ПЕРЕГРУЖАЕТ значение ODBC в секции [DATABASE]. USAGE: wave2gif tbeg="h:m:s dd.mm.yyyy"|eventid=|orid= [file=] [ini=<.ini file name>] [size|screen=] [nsec=] [/NOPREVIEW] where tbeg="CURRENT" - begin from current system time eventid|orid="LAST" - show phase picking for last event absent eventid|orid - show all phase picking absent [file=] - default filename OUT.GIF absent [ini=] - default WAVE.INI in current directory absent [nsec=] - display 1800 (or defined in INI-file) second absent [/NOPREVIEW] - run default associated *.GIF program 2. Изменены вывод отладочных сообщений и коды возврата при анализе командной строки и инициализации: return -1 - ошибка командной строки; return -2 - Missing number of second (<=0) in INI; return -3 - Database open error; return -4 - Not found ID= in database; return -5 - Missing number of trace (<=0) in INI. 3. Изменен формат файла настройки (приведен к стандарту). 4. Добавлены секция [DATABASE], параметр ODBC=, в секции [WAVEFORMS] добавлены глобальный параметр filter=, список фаз PHASES=, введено значение N#=ALL (все имеющиеся каналы для этого времени или события), глобальный параметр NSEC= может быть ПЕРЕГРУЖЕН в локальных секциях станций... 5. Изменен формат станционных секций (стандарт) - имя секции [STA№], параметры STA=, CH=, filter= (ПЕРЕГРУЖАЕТ глобальный), NSEC= (ПЕРЕГРУЖАЕТ глобальный) [DATA] DIR=\\ssd-serv\data\data ;ODBCDSN=WSG-sql [DATABASE] ODBC=WSG-sql [WAVEFORMS] COLORBG=255,255,255 COLORWF=0,0,128 COLORTXT=255,0,0 FILE=waveform.gif filter=0.7,1.4 PHASES=P,PkP,S ;N#=3 N#=ALL NSEC=1800 [STA0] STA=PET CH=BHZ00 filter=0.7,1.4 NSEC=1800 wave2gif v1.07 -------------- 03/12/04 07:30p 208,896 wave2gif.exe Добавлена возможность задавать в качестве начального времени вывода волновых форм текущее время - параметр tbeg="current". Введено отображение параметров фильтров по каждой трассе. Исправлена информация об использовании программы, выдаваемой при отсутсвии аргументов: USAGE: wave2gif tbeg="h:m:s dd.mm.yyyy" [file=] [eventid=] [INI=<.ini file name>] [/NOPREVIEW] where tbeg="current" - begin from current system time absent [file=] - default filename OUT.GIF absent [eventid=] - show all phase picking absent [/NOPREVIEW] - run default associated *.GIF program absent [INI=] - default INI file WAVE.INI in current directory wave2gif v1.06 -------------- 07/21/03 12:35p 204,800 wave2gif.exe В программе исправлены ошибки вывода отладочных сообщений и кодов возврата при анализе командной строки: return -1 - ошибка командной строки; return -2 - Missing number of trace (=<0); return -3 - Missing number of second (=<0); return -4 - Database open error; Добавлена обработка параметров фильтров, задаваемых к файле настройки для каждого канала. Фильтр задается верхней и нажней частотами среза. Используется полосовой (BP) IIR-фильтр 3-го порядка. Порядок фильтра не может быть меньше 2 и больше 10, большие значения усекаются. Фильтр описывается для каждого канала следующей строкой в файле настройки: filter#=0.7,1.4 где # - номер канала (например, filter1=0.7,1.4 для канала 1), 0.7 - нижняя частота полосы среза фильтра в Гц, 1.4 - верхняя частота полосы среза фильтра в Гц. Отсутствие этой строки или ее комментирование (любой символ в первой позиции) означает отсутствие фильтрации для этого канала. wave2gif v1.05 05/13/03 12:29p 192,512 wave2gif.exe Добавлен параметр командной строки INI=<.ini file name>, который задает имя и путь на файл настроки. При его отсутствии параметры считываются из файла wave.ini, как описано ниже. wave2gif v1.04 05/08/03 12:10p 192,512 wave2gif.exe Программа предназначена для формирования изображения волновых форм выбранных каналов из БД WSG для создания картинки для информационных сообщения с последующим помещением их на WWW. Выходной формат файла - gif87a, размер 700х500 пикселов/256 цветов. Результирующий размер файла зависит от количества отображаемых каналов иколеблется от 9 Кб до 20 Кб. В результирующий файл помещаются отметки ВСЕХ фаз, попавших в заданный интервал. Программа считывает конфигурацию подключения к БД, каталогу данных, список каналов, продолжительность отображаемого сегмента и настройку цвета в файле wave.ini, который ДОЛЖЕН располагаться в том же каталоге, что и программа. В командной строке задается время начала сегмента и имя выходного файла: USAGE: wave2gif tbeg="h:m:s dd.mm.yyyy" file= eventid= [INI=<.ini file name>] [/NOPREVIEW] Если имя файла не задано, то по умолчанию формируется файл out.gif. Параметр eventid позволяет отображать на картинке только фазы, относящиеся к событию с индексом, задаваемым этим параметром. При отсутствии eventid будут отображены все фазы в указанном временном интервале. Опция /nopreview отключает запуск программы просмотра файла с картинкой. Пример фрагмента файла настройки wave.ini приведен ниже: [DATA] DIR=\\serv\data ODBCDSN=WSG [WAVEFORMS] COLORBG=255,255,255 COLORWF=0,0,128 COLORTXT=255,0,0 NSEC#=1800 N#=6 STA0=KIV CH0=BHZ00 STA1=TLY CH1=BHZ00 ... STA5=ARU CH5=BHZXX