Контент-платформа Pandia:     2 872 000 материалов , 128 197 пользователей.     Регистрация


Система визуализации данных вертикального зондирования океана в составе корпоративной океанографической ГИС ТОИ ДВО РАН

 просмотров

Министерство образования и науки РФ

Дальневосточный государственный университет

Институт математики и компьютерных наук

Кафедра информатики

Система визуализации данных вертикального зондирования океана в составе корпоративной океанографической ГИС ТОИ ДВО РАН

Дипломная работа
студента 256 группы
Федорова С. А.

Научный руководитель:
доцент кафедры информатики,
к. т. н. Фищенко В. К.

Владивосток, 2005

Содержание

Содержание. 2

1 Введение. 4

1.1 Глоссарий. 4

1.2 Описание предметной области. 4

1.2.1 Гидрометеорологические наблюдения. 4

1.2.2 Океанографическая ГИС ТОИ.. 5

1.2.3 Интерпретация гидрометеорологических данных. 6

1.3 Методы объективного анализа. 8

1.4 Неформальная постановка задачи. 9

1.5 Обзор существующих методов решения. 10

1.5.1 Ocean Data View.. 11

1.5.2 Прикладные математические пакеты.. 12

1.5.3 Коммерческие прикладные пакеты.. 12

1.5.4 Промышленные ГИС.. 13

2 Требования к окружению.. 14

2.1 Требования к аппаратному обеспечению.. 14

2.1.1 Требования к серверам.. 14

2.1.2 Требования к рабочим станциям.. 14

2.2 Требования к программному обеспечению.. 15

2.2.1 Требования к серверам.. 15

2.2.2 Требования к рабочим станциям.. 15

2.3 Требования к пользователям.. 15

2.3.1 Администратор и администратор-разработчик. 16

2.3.2 Конечный пользователь. 16

3 Архитектура системы.. 17

4 Спецификация данных. 19

4.1 Структуры базы данных. 19

4.1.1 Сущность «Данные станции» (station_data) 19

4.1.2 Сущность «Параметры станции» (station_param) 20

5 Функциональные требования. 21

5.1 Модуль Viewer (интерфейс пользователя) 21

5.1.1 Требования к карте акватории. 21

5.1.2 Требования к фильтру станций по времени. 22

5.1.3 Требования к изображению диаграммы.. 22

5.2 Модуль Manager 22

6 Требования к интерфейсу. 24

7 Прочие требования. 25

7.1 Требования к надежности. 25

7.2 Требования к производительности. 25

8 Проект. 27

8.1 Средства реализации. 27

8.2 Модули и алгоритмы.. 27

8.2.1 Модуль Client 28

8.2.1.1 Интерфейс IChart 29

8.2.1.2 Интерфейс ILayer 29

8.2.1.3 Создание диаграммы.. 30

8.2.2 Модуль MServer 30

8.2.3 Модуль Depot 31

8.2.3.1 Интерфейс IDepotFilter 32

8.2.3.2 Интерфейсы IStations/IMeasures. 32

8.2.4 Enum-интерфейсы.. 32

8.3 Структуры данных. 33

8.3.1 Структура «Станция» (TStation) 33

8.3.2 Структура «Значение станции» (TMeasure) 33

8.3.3 Структура «Фильтр по пространству» (TAreaFilterInto) 34

8.3.4 Структура «Фильтр по времени» (TTimeFilterInfo) 34

8.4 Проект интерфейса. 35

9 Реализация и тестирование. 38

Заключение. 39

Список литературы.. 40

2 Введение

2.1 Глоссарий

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

COM, Component Object Model — открытая архитектура межплатформенной разработки клиент-серверных приложений.

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

Гидрологические элементы — различные физические/химические характеристики водной среды, измеримые или вычислимые на основе данных измерений (такие, как температура, соленость, давление, плотность и пр.).

Объективный анализ гидрологических элементов — вычислительная процедура пространственно-временной интерполяции (экстраполяции) данных наблюдений гидрологических элементов в нерегулярной сетке точек в узлы регулярной сетки с целью построения специализированных карт распределения гидрологических элементов.

2.2 Описание предметной области

Более 70 % поверхности Земного шара покрыто водами океанов и морей. Преобладание воды на поверхности Земли определяет многие важнейшие особенности планеты: поглощение лучистой энергии Солнца, состав атмосферы, климат, формы жизни.

Совокупность соединенных между собой океанов и морей — Мировой океан — представляет собой единый географический объект со специфическими физическими, химическими и биологическими процессами, протекающими в его толще. Мировому океану свойствен особый характер обмена энергией с атмосферой и особый характер обмена веществ в его водах. Изучение Мирового океана является не только важным, но и необходимым [19], так как почти все стороны жизни человечества, его прошлое, настоящее и будущее связаны с ним.

2.2.1 Гидрометеорологические наблюдения

Для изучения процессов, проистекающих в океане, необходимо выполнять регулярные наблюдения различных гидрометеорологических элементов. Такие наблюдения производятся на специально созданной для этой цели сети станций. Ими выполняются необходимые метеорологические измерения: температуры и влажности воздуха, атмосферного давления, скорости и направления ветра, осадков, облачности и др.

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

Наблюдения ведутся не только с берега и в прибрежной полосе. Но также и с судов, специальных автоматических зондов, самолетов и спутников. В развитых странах (в том числе и в России) регулярно организуются научные экспедиции в различные районы мирового океана, главной целью которых является проведение ряда таких гидрометеорологических измерений. Для изучения изменчивости во времени характеристик океана и атмосферы над ним производятся наблюдения в нескольких фиксированных точках океана — океанских станциях. В этих точках непрерывно стоят суда, сменяя друг друга.

2.2.2 Океанографическая ГИС ТОИ

В Тихоокеанском океанологическом институте ДВО РАН (в дальнейшем ТОИ) ведется комплексное изучение акватории северо-западного побережья Тихого океана. Для поддержания этих научных исследований институтом совместно с другими организациями были сформированы с середины 70-х годов прошлого века десятки таких экспедиций. В результате их работы была создана собственная обширная база гидрометеорологических данных (более 1.6 млн. станций).

Благодаря деятельности ряда сотрудников ТОИ к настоящему времени все эти данные собраны в едином электронном хранилище. Для эффективной работы с этой базой Лабораторией комплексного анализа океанологической информации была создана специализированная корпоративная океанографическая ГИС, имеющая WEB-интерфейс, и обеспечивающая доступ к базе по локальной сети института и посредством глобальной сети Internet.

К сожалению, ГИС ТОИ находится еще только в стадии разработки. А уже имеющиеся механизмы не могут обеспечить полноценную работу с представленными хранилищем данными. В системе отсутствуют модули для обработки информации с целью построения различных обобщенных графиков и диаграмм (визуализация). Сейчас для этого используются внешние программные продукты (такие как Ocean Data View, системы типа MathCAD, и т. п.). Однако, как будет показано ниже, такая практика является крайне неудобной и существенно снижает эффективность работы с хранилищем.

Рис. 1 Океанографическая ГИС ТОИ

2.2.3 Интерпретация гидрометеорологических данных

Интерпретация данных гидрометеорологических исследований — термин, подразумевающий построение полей метеорологических элементов. Как было показано в 1.2.1, наблюдение океана осуществляется только в некоторых его точках в некоторые моменты времени (и с некоторой установленной точностью). Поэтому в процессе интерпретации необходимо восстановить по данным многих станций пространственное распределение различных характеристик водной среды и их временной ход. Этот процесс называется объективным анализом.

Рис. 2 Схема обработки гидрометеорологической информации

На Рис. 2 показаны основные этапы обработки и интерпретации гидрометеорологической информации. Как видно, основным в этом процессе является этап объективного анализа. В простейшей своей форме объективный анализ состоит в интерполяции значений каждого интересующего исследователя элемента со станций в точки некоторой регулярной сетки (обычно это квадратная сетка на карте той или иной проекции, или широтно-долготная сетка).

Данные наблюдений за рассматриваемыми гидрометеорологическими элементами являются основной информацией для объективного анализа поля этого элемента. Но наряду с этой основной информацией может использоваться и различного рода дополнительная информация. Например, данные наблюдений за другими элементами, так или иначе связанными с анализируемыми.

В процессе анализа в гидрологии используют следующие виды графиков и диаграмм:

·  вертикальные профили (см. Рис. 3) — показывают статическое распределение элемента по глубине в некоторый момент времени (либо усредненное);

·  вертикальные двумерные сечения вдоль заданного направления (см. Рис. 4) — позволяют проследить динамику гидрометеорологического элемента на заданном маршруте;

·  вертикальные двумерные сечения в указанном районе на заданном временном интервале — показывают динамику гидрологического элемента в заданном районе во времени;

·  горизонтальные сечения — показывают усредненное статическое распределение элемента на некоторой глубине в определенной области;

·  различные двумерные диаграммы — указывают совокупную зависимость между различными гидрологическими элементами в некоторой области.

Рис. 3 Вертикальные профили

Рис. 4 Вертикальное сечение

2.3 Методы объективного анализа

Существует множество методов объективного анализа. Все их принято делить на следующие классы:

·  динамические;

·  статистические;

·  формальные.

Динамические методы базируются на известных соотношениях гидродинамики и механики. Их реализации, по сути, представляют собой численное решение различных систем дифференциальных уравнений. Эти методы в основном дают хорошие результаты. Однако их алгоритмы, как правило, малоэффективны на больших объемах входных данных. Поэтому далее в этой работе они не рассматриваются.

Статистические методы основаны на теории случайных функций и случайных величин. Их характерной особенностью является использование знаний о статистической структуре рассматриваемых элементов, например корреляционной функции, моментов различных порядков. Наиболее известным в этом классе является метод оптимальной интерполяции.

Формальные методы рассматривают данные гидрометеорологических элементов как значения некоторой многомерной функции, игнорируя знания об их физической природе. К этому классу относят некоторые спектральные методы, методы полиномиальной аппроксимации, весовой интерполяции и некоторые другие.

2.4 Неформальная постановка задачи

Разрабатываемая программная система должна интегрироваться в ГИС Тихоокеанского океанологического института ДВО РАН. Соответственно, она должна быть доступна посредством WEB, обеспечивать одновременную работу большого числа пользователей.

Система должна формировать и отображать по запросу пользователя все основные виды диаграмм, получаемых на основе гидрологических данных (см. 1.2.3).

Указанные виды графиков и диаграмм строить на основе сформированной сотрудниками ТОИ единой базы данных океанологической информации. При этом система должна позволять пользователю выбирать непосредственные источники информации и указывать интересующие его океанологические параметры (температура, соленость и пр.).

Система должна допускать использование в анализе производных параметров (вычисляются, на основе иных параметров), задаваемых пользователем.

Необходимо обеспечить возможность специфицирования нескольких видов временных интервалов, в соответствии с которыми производится выборка данных для анализа:

·  цельный интервал (указаны даты «с» и «по»);

·  сезонный интервал (дополнительно указаны даты сезона, в пределах которого в разные года производились интересующие измерения);

·  суточные (дополнительно указано время суток интересующих измерений).

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

Рис. 5 Основные варианты использования

2.5 Обзор существующих методов решения

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

·  Специализированные океанологические прикладные пакеты (например, Ocean Data View [6]).

·  Прикладные математические пакеты (такие как MathCad [5], Maple [4]).

·  Коммерческие прикладные пакеты для визуализации различных данных (яркий представитель — продукция фирмы Golden Software [9], в частности Surfer, Grapher, MapViewer и др.).

·  Промышленные ГИС (например, продукция фирмы ESRI [2]).

Результаты проведенного анализа можно увидеть в Табл. 1.

Табл. 1 Сравнительный анализ существующих продуктов схожего назначения

Критерий

Ocean Data View

Прикладные математические пакеты

Коммерческие прикладные пакеты

Промышленные ГИС

1

Круг решаемых задач

Анализ и визуализация гидрологических данных

Многие численные задачи, задачи компьютерной алгебры и пр.

Прикладные задачи, построение тематических диаграмм

Большой круг задач, связанных с информацией пространственного характера

2

Океанологическая направленность

Есть

Нет

Нет

Как правило, нет

3

Документированность используемых методов, их научная обоснованность

Четкая документация не найдена

Методы известны и хорошо документированы

Документация отсутствует

Методы известны и хорошо документированы

4

Возможность модернизации (масштабируемость)

Отсутствует

Собственный язык для математических алгоритмов, API

Отсутствует

Возможно

5

Стоимость, доступность

Бесплатно

Платные

Демо-версия, лицензия стоит более $500

Как платные, так и бесплатные версии

6

Доступность исходного кода

Нет

Нет

Нет

Существуют OpenSource проекты

7

Возможность интеграции в ГИС ТОИ

Нет

Нет

Нет

Возможно

2.5.1 Ocean Data View

Программный продукт Ocean Data View (ODV, см [6]) предназначен для интерактивного изучения, анализа и визуализации океанологических данных. Он создан и развивается Институтом Альфреда Вагнера, Германия (Alfred Wegener Institute for Polar and Marine Research [1]).

ODV поддерживает любые Windows и многие UNIX платформы. Он распространяется под собственной лицензией (см. [7]), допускающей его свободное бесплатное использование в научных целях.

Безусловным достоинством продукта является его океанологическая направленность. Им поддерживаются многие общепринятые форматы входных данных файлов с параметрами. На их основе он способен производить различные диаграммы во многих известных проекциях с привязкой к различным цветовым палитрам.

К сожалению, ODV не может быть интегрирован в существующую ГИС. Документация по его DLL-библиотеке недоступна, а исходный код продукта, согласно лицензии, не распространяется. Не было найдено даже описание используемых продуктом алгоритмов анализа и визуализации.

2.5.2 Прикладные математические пакеты

Подобные системы очень популярны среди ученых разных профилей и часто используются для анализа и визуализации информации. Современные математические CAD-системы позволяют выполнять практически любые преобразования данных и способны решать множество задач. Большинство их них содержит обширные хорошо документированные библиотеки общих и специализированных алгоритмов.

Мною были рассмотрены коммерческие пакеты MathCAD и Maple. Существенным недостатком этих систем является достаточно низкая производительность при комплексных обработках больших массивов данных. К тому же для эффективной работы с ними необходимо знание специфичного для системы синтаксиса команд и операторов собственного встроенного языка.

2.5.3 Коммерческие прикладные пакеты

Систем этого класса очень много. Мною были рассмотрены продукты Golden Software, в особенности Surfer [9] и Grapher [3].

Полноценная версия этих пакетов не распространяется (есть демо-версия). Лицензия стоит порядка $500 для каждого компонента, а исходный код и документация к API бинарных библиотек недоступна.

Особенностью система этого класса является ярко выраженная прикладная направленность. В частности Surfer предназначен для составления различных тематических поверхностей на основе пространственных данных. Продукт позволяет производить разнородные исследования информации, решать некоторые транспортные задачи и пр. Результаты могут быть представлены в виде плоских и объемных диаграмм, схем векторных полей и пр. Тем не менее, данная система не может рассматриваться как полноценная ГИС.

Программный пакет Grapher интегрируется с Surfer и позволяет строить и анализировать функциональные зависимости и прочие кривые, в том числе и полученные на основе исследований, произведенных с Surfer.

2.5.4 Промышленные ГИС

Промышленные ГИС (как коммерческие, так и бесплатные) не решают в полном объеме поставленных задач. Поэтому применение этих технологий было бы связано с разработкой дополнительных библиотек и модулей, поддерживающих специфические форматы данных и выполняющих свои особые преобразования информации с целью построения адекватных диаграмм (визуализации). Помимо этого понадобились бы значительные усилия и время на организацию их корректного взаимодействия с ГИС ТОИ.

3 Требования к окружению

В соответствии с разработанным проектом программный комплекс будет реализован в виде набора взаимосвязанных COM/DCOM компонентов, которые физически могут быть размещены на нескольких компьютерах. Поэтому требования к аппаратному и программному обеспечению непосредственной вычислительной машины могут сильно варьироваться в соответствии с возложенными на нее функциями в системе. Далее приведены обобщенные требования к типичным подсистемам:

3.1 Требования к аппаратному обеспечению

3.1.1 Требования к серверам

Серверные компоненты могут размещаться на одном компьютере или на нескольких компьютерах, объединенных в высокопроизводительную вычислительную сеть (скорость канала передачи данных не менее 100 Мб/с). Им необходимо обеспечить непосредственный доступ к серверу базы данных.

Для эффективной работы системы (обеспечения возможности выполнения некоторых ресурсоемких алгоритмов) желательно размещение ряда компонентов-обработчиков на обособленных серверах:

·  не менее 1 Гб оперативной памяти;

·  процессор, эквивалентный Intel Pentium IV с тактовой частотой не менее 3 ГГц (возможно применение машин с многопроцессорной архитектурой);

·  100 Мб на жестком диске (и более, в зависимости от требований размещенных на сервере компонентов и операционной системы).

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

·  256 Мб оперативной памяти;

·  процессор, эквивалентный Intel Pentium III с тактовой частотой 1000 МГц;

·  100 Мб свободного места на жестком диске.

Отдельно следует рассматривать требования, предъявляемые сервером базы данных. В частности требования по объему оперативной памяти и доступному дисковому пространству.

3.1.2 Требования к рабочим станциям

Любая рабочая станция получает доступ к рассматриваемому программному комплексу посредством ГИС ТОИ. Поэтому для работы необходимо выполнение минимальных требований, накладываемых этой системой.

Дополнительные требования к работе с рассматриваемым комплексом определяются необходимым программным обеспечением. Минимальная конфигурация:

·  10 Мб свободного места на жестком диске;

·  процессор, эквивалентный Intel Celeron 300;

·  128 Мб оперативной памяти.

3.2 Требования к программному обеспечению

3.2.1 Требования к серверам

Предполагается применение серверных ОС класса Windows NT версии не менее 5 (например, Windows 2000 Server или Windows 2003). Дополнительно требуется адекватная настройка COM/DCOM служб и корректная установка соответствующих компонентов. Также может потребоваться установка и конфигурация служб и драйверов ADO для подсистем, работающих с базой данных.

3.2.2 Требования к рабочим станциям

На рабочей станции должна быть установлена операционная система класса MS Windows. Желательно использовать MS Windows 2000 или более новую. При использовании ОС Windows 95/98 или Windows ME может потребоваться дополнительная установка/обновление драйверов и служб COM.

Для доступа к системе необходимо использование браузера, поддерживающего ActiveX. (MS Internet Explorer версии 5 или выше).

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

3.3 Требования к пользователям

В разрабатываемой системе можно выделить 3 категории пользователей (роли): администратор, администратор-разработчик, конечный пользователь. Основной является роль «конечный пользователь», так как она предполагает постоянную работу с системой. Остальные 2 роли необходимы на период первичной установки и оптимальной конфигурации системы. Поддержание программного комплекса в работоспособном состоянии может производиться администратором серверов и не требует каких-либо специальных навыков или знаний.

3.3.1 Администратор и администратор-разработчик

Роль администратор призвана обеспечить установку и начальную конфигурацию системы. Администратор должен оптимальным образом развернуть компоненты на доступных ему серверах и настроить все необходимые интерфейсные службы (COM/DCOM, ADO, сервер БД). Соответственно, он должен детально разбираться в соответствующих технологиях и иметь опыт по установке и настройки серверов на базе MS Windows.

Для оптимальной конфигурации системы «администратору» желательно иметь общее представление о структуре комплекса и назначении каждого из компонентов.

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

3.3.2 Конечный пользователь

Роль «конечный пользователь» соответствует всем потенциальным пользователям системы, использующим ГИС ТОИ. Соответственно, они должны иметь авторизованный доступ к этой системе с установленными ее администратором полномочиями. При этом предположительно, они уже будут знакомы с интерфейсом существующей ГИС.

Для рациональной работы с программным комплексом важно понимание специфики различных методов визуализации данных и их характеристик. Предполагается знание основ проведения океанологических измерений и владение терминологией системы.

4 Архитектура системы

В системе можно выделить 4 структурные части (подсистемы, см. Рис. 6):

·  клиентский модуль (компонент Viewer);

·  вычислительные сервера (компоненты-обработчики), с установленными модулями Depot;

·  управляющий сервер (MServer);

·  сервер базы данных.

Рис. 6 Основные подсистемы

Клиентский модуль, оформленный в виде DLL-библиотеки, располагается на рабочей станции пользователя. Он содержит несколько ActiveX-компонентов для работы с системой. Фактически, данные компоненты реализуют пользовательский интерфейс. Клиентский модуль взаимодействует с управляющим сервером посредством внутреннего протокола, построенного на базе HTTP.

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

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

На вычислительные серверы может быть установлен модуль Depot. Он предназначен для удобства разработчиков внешних компонентов-обработчиков и предоставляет удобный и быстрый доступ к данным СУБД посредством набора специализированных COM-интерфейсов.

5 Спецификация данных

5.1 Структуры базы данных

СУБД ГИС ТОИ содержит несколько баз данных с информацией о вертикальных зондированиях океана. При этом каждая из них имеет свою специфическую структуру. Поэтому для унификации интерфейса взаимодействия с хранилищем были использованы виды (view), производящие необходимую в том или ином случае конверсию.

5.1.1 Сущность «Данные станции» (station_data)

Сущность используется для представления информации о станциях. В частности о количестве доступных горизонтов параметров, временной и географической привязке данных, глубине (см. Табл. 2). Дополнительно для обеспечения наиболее часто встречающихся запросов в этой сущности есть поля для хранения значений параметров на нулевом горизонте и на максимальной глубине (Кеш).

Табл. 2 Атрибуты сущности «Данные станции»

Название

Тип

Описание

station_id

Идентификатор

Уникальный идентификатор станции

station_lat

Вещественное число

Широта

station_lon

Вещественное число

Долгота

station_date

Дата и время

Дата проведения станции

station_datetime

Дата и время

Дата и время проведения станции

station_count_sal

Целое число

Количество параметров для солености

station_count_tem

Целое число

Количество параметров для температуры

station_depth

Вещественное число

Максимальная глубина, на которой проводились измерения

station_0_sal

Вещественное число

Соленость на 0-м горизонте

station_0_tem

Вещественное число

Температура на 0-м горизонте

station_maxdepth_sal

Вещественное число

Соленость на максимальной глубине

station_maxdepth_tem

Вещественное число

Температура на максимальной глубине

5.1.2 Сущность «Параметры станции» (station_param)

Сущность предназначена для представления значений некоторого параметра, измеренного в некоторой станции на разных глубинах (см. Табл. 3). В базе данных определено несколько таблиц с такой структурой: station_param01, station_param02 и т. п. В них хранятся данные для температуры, солености, концентрации различных химических соединений и т. д.

Табл. 3 Атрибуты сущности «Параметры станции»

Название

Тип

Описание

station_id

Идентификатор

Идентификатор станции, к которой относится измерение

station_depth

Вещественное число

Глубина, на которой произведено измерение

station_value

Вещественное число

Наблюденное значение параметра

6 Функциональные требования

6.1 Модуль Viewer (интерфейс пользователя)

Модуль должен:

·  показывать карту акватории (см. 5.1.1);

·  позволять пользователю выбирать на карте акватории подобласти следующих видов:

-  точка/окружность,

-  вектор,

-  направленная ломанная,

-  прямоугольник;

·  позволять пользователю изменять величину допуска, используемую для выбранной подобласти (здесь допуском — особый параметр);

·  позволять пользователю задавать режим фильтра станций по времени (см. 5.1.2);

·  показывать список доступных системе видов диаграмм и методов их построения;

·  позволять пользователю выбирать метод для построения диаграммы;

·  позволять пользователю указывать параметры метода для построения диаграммы;

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

·  отображать результаты построения диаграммы;

·  позволять пользователю одновременно работать с несколькими диаграммами (см. 5.1.3).

6.1.1 Требования к карте акватории

Модуль должен показывать карту акватории северо-западного района Тихого океана, точнее его часть от 115° до 180° восточной долготы и от 0° до 65° северной широты. При этом он должен:

·  показывать береговую линию;

·  изолиниями и цветом отмечать глубину;

·  показывать цветную шкалу глубин с указанием числовых значений;

·  показывать градуированную сетку координат с указанием значений;

·  по запросу пользователя схематично отображать сеть станций, соответствующую выбранному режиму фильтрации (см. 5.1.2);

·  позволять пользователю изменять масштаб карты.

6.1.2 Требования к фильтру станций по времени

Модуль должен позволять пользователю выбирать режим фильтра станций и задавать его параметры. Должны быть допустимые следующие режимы фильтра:

·  станции из указанного цельного временного интервала (даты «с» и «по»);

·  станции, соответствующие сезонному интервалу (дни и месяцы года «с» и «по»);

·  станции, соответствующие суточному интервалу (часы и минуты «с» и «по»);

·  любая комбинация из приведенных выше типов, в том числе и пустая (фильтр каждого типа может присутствовать в комбинации не более одного раза).

6.1.3 Требования к изображению диаграммы

При отображении результатов диаграммы модуль должен:

·  показывать соответствующую изображению сетку с указанием числовых значений;

·  показывать цветную легенду/шкалу с указанием (если возможно) числовых значений;

·  позволять пользователю изменять палитру легенды/шкалы изображения;

·  позволять пользователю добавлять к изображению диаграммы новые слои c адекватной диаграмме логической структурой (типы осей сетки и их значения должны совпадать);

·  позволять пользователю управлять видимостью слоев диаграммы, в том числе видимостью сетки;

·  позволять пользователю сохранять изображения диаграмм в файлы в формате PNG [8].

6.2 Модуль Manager

Модуль должен:

·  поддерживать список доступных системе обработчиков;

·  поддерживать список доступных системе методов построения диаграмм и их описания (параметры);

·  обновлять список доступных системе обработчиков автоматически и при запуске/перезапуске;

·  обрабатывать запросы клиентских модулей по построению диаграмм, направлять их соответствующим обработчикам;

·  выдавать созданные обработчиками диаграммы соответствующим клиентам в воспринимаемом ими формате;

·  взаимодействовать с обработчиками посредством DCOM-интерфейсов.

7 Требования к интерфейсу

Программный комплекс должен быть интегрирован в океанографическую ГИС ТОИ. Система должна быть доступна через локальную сеть института и интернет посредством WEB.

8 Прочие требования

8.1 Требования к надежности

Надежность системы в большей степени определяется надежностью сервера БД и аппаратным обеспечением управляющих серверов. Также следует отдельно рассматривать требования к надежности океанографической ГИС ТОИ. В любом случае сбой в разрабатываемом программном комплексе или какой-либо его части не должен приводить к сбою в ГИС.

Сбой в системе не должен приводить к потере данных сервера БД, или к его отказу в обслуживании других клиентов. Для обеспечения этого администратору желательно ограничить полномочия модулей при работе с БД только правами на чтение соответствующих объектов. Обеспечение программной изоляции процессов СУБД и системы (при их установки на одной рабочей станции) предполагается производить средствами операционной системы.

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

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

8.2 Требования к производительности

Требования к производительности накладываются исходя из имеющейся статистики работы, собранной в ходе эксплуатации океанографической ГИС ТОИ. Так как разрабатываемый программный комплекс будет являться ее частью, он как минимум должен быть в состоянии производить объем работы, соответствующий текущей загрузке системы.

Ожидается, что с системой будут одновременно работать не более 5 – 10 пользователей. При этом число одновременно строящихся на одном сервере диаграмм не будет превышать 3 – 5. Тем не менее, система должна допускать возможность существенного увеличения числа пользователей (до 20 – 30 клиентов) при условии незначительного повышения загрузки вычислительных серверов (5 – 7 рабочих процессов на одном сервере).

При работе в локальной сети института загрузка системы на рабочей станции клиента должна осуществляться не более чем за 2 секунды (при соединении с сервером в 100 Мбит/с). Время отклика интерфейса в этом случае должно составлять 0,7 секунды в среднем, и не более 1 секунды.

Выдача диаграмм при работе в локальной сети института должна производиться в среднем за 2 секунды (не более 5 секунд) при обработке 10 000 станций. Производительность каждого из созданных обработчиков вне зависимости от параметров должна уменьшаться с ростом количества станций не быстрее .

9 Проект

9.1 Средства реализации

Программный комплекс реализован в виде нескольких COM-компонентов. Интерфейс оформлен в виде ActiveX-компонента. Выбор в пользу применения этих технологий обусловлен опытом разработчиков океанографической ГИС (некоторые иные ее модули ранее уже были реализованы на базе ActiveX), а также необходимостью интеграции с этой системой.

Выбор в пользу этих технологий оказал существенное влияние на подбор языка и среды реализации. В частности, код системы был написан на C++ (интегрированная среда разработки MS Visual Studio 2003). Важно отметить, что этот язык программирования является «родным» для технологии COM, а указанная среда разработки содержит ряд библиотек, существенно облегчающих создание эффективных COM и ActiveX-компонентов (ATL, MFC) и их отладку. В разработке использовалась библиотека шаблонов ATL.

В качестве сервера базы данных океанографической ГИС ТОИ используется MS SQL Server 2000. Для непосредственного доступа к хранилищу используется технология ADO.

9.2 Модули и алгоритмы

Система состоит из 3-х модулей: Client, MServer и Depot (см. Рис. 7). Взаимодействие между MServer и Depot производится посредством COM/DCOM. Модуль Client сообщается с остальной системой посредством внутреннего протокола на базе HTTP.

Как видно на Рис. 7, модуль MServer объединяет в себе подсистемы управляющего и вычислительного сервера. Это упрощает реализацию и первичную установку системы (требует развернуть и сконфигурировать всего 2 модуля на сервере, а не 3). К тому же компонент STDProcessor реализует особые виды диаграмм, которые обязательно должны присутствовать в работающей системе (например, построение карты, используемой для специфицирования пространственной области в других диаграммах).

Рис. 7 Модули системы и взаимодействие между ними

9.2.1 Модуль Client

Модуль предназначен для реализации пользовательского интерфейса. Он устанавливается на клиентской рабочей станции и общается с серверами системы посредством специального протокола.

Рис. 8 Классы модуля Client

Основные классы модуля (см. Рис. 8):

·  CViewerImpl — представляет реализацию ActiveX-компонента Viewer. Это главный компонент интерфейса. Он управляет взаимодействием с сервером системы, поддерживает внутренние динамические структуры интерфейса (в частности список доступных методов в виде CMethodsObject).

·  CChartImpl — является реализацией ActiveX-компонента Chart, используемый для управления диаграммой. Компонент содержит несколько слоев CLayerCtrl, представляющих непосредственное изображение диаграммы.

·  CLayerCtrl — внутренний компонент диаграммы, реализующий слой. В настоящее время компонентом поддерживаются 2 вида слоев: маркеры (CDataMarker) и растровые (CDataImage). Взаимодействие с ними производится через абстракцию CData. Дополнительно слоя реализует интерфейс ILayer.

9.2.1.1 Интерфейс IChart

Этот интерфейс реализует компонент Chart (класс CChartImpl). Через него с диаграммами работают все объекты модуля (в том числе и компонент Viewer).

Метод

Описание метода

SetWidthHeight

Изменить размер диаграммы

SetExtent

Установить данные осей координат (значения в левом верхнем и правом нижнем углах).

Translate

Преобразовать координаты точек с изображения (пикселов) в реальные координаты с учетом значений в осях координат

CountLayers

Количество слоев диаграммы

GetLayer

Получить доступ к слою через интерфейс ILayer

CreateLayer

Добавить новый слой в диаграмму

Draw

Нарисовать диаграмму со всеми ее слоями и атрибутикой

SetInverted

Изменить направления осей OX или OY

Load

Загрузить диаграмму

GetSubregion

Получить координаты в пикселях указанной области диаграммы

SetPaletteIdx

Установить номер палитры отображения

SetLayerMonoColor

Установить цвет монохромного отображения

Табл. 4 Методы интерфейса IChart

9.2.1.2 Интерфейс ILayer

Интерфейс предназначен для непосредственного управления слоями диаграммы. Он содержит 3 функции: Lock, Unlock и Load. Функции Lock и Unlock запрещают соответствующему слою загрузку при изменении каких-либо своих параметров. Они используются при создании и добавлении слоя в диаграмму. Функция Load инициирует загрузку данных слоя с сервера.

9.2.1.3 Создание диаграммы

Процесс создания новой диаграммы показан на Рис. 9. Как видно, при создании диаграммы всегда создается в ней один слой. Ему передаются данные пространственного и временного фильтров, информация о размере диаграммы, данные осей координат и т. п. Эта информация используется при загрузке данных диаграммы с сервера.

Рис. 9 Создание новой диаграммы

9.2.2 Модуль MServer

Модуль содержит компоненты управляющего сервера и обработчика, реализующего построение слоев карты: береговой линии, сети станций, глубин и др. Основным классы модуля (см. Рис. 10):

·  CManagerImpl — реализация компонента Manager, представляющего управляющий сервер. Координирует работу обработчиков Processor.

·  CStdProcessorImpl — реализация компонента StdProcessor, являющегося обработчиков стандартных системных слоев (сеть станций, глубины и прочее).

·  CAreaObject — класс-обертка для данных фильтра станций по области.

·  CMethodsObject — класс, поддерживающий динамический список описаний методов обработчиков.

·  CImage — интерфейсный класс, используется для создания изображений соответствующих слоев.

Рис. 10 Классы модуля MServer

9.2.3 Модуль Depot

Модуль содержит компоненты, предназначенные для обеспечения работы Processor-обработчиков с СУБД. Он задает общие схемы данных (станция 8.3.1, данные станции 8.3.2), и общую модель взаимодействия с хранилищем. В частности, интерфейсы модуля допускают различные виды фильтрации.

Рис. 11 представляет внутреннюю структуру модуля. Основные классы модуля:

·  CDepotImpl — реализует компонент Depot, экспортирует интерфейс IDepot. (Интерфейсы IStations и IMeasures реализуются через агрегацию CADODepotImpl). Класс предназначен для контроля работы компонентов хранилища и для обеспечения множественного доступа к базе данных.

·  CADODepotImpl — реализует компонент ADODepot, экспортирующий интерфейсы IStations и IMeasures. Обеспечивает взаимодействие с СУБД посредством технологии ADO.

·  CADOEnumStationsCtrl и CADOEnumMeasuresCtrl — компоненты, реализующие соответствующие интерфейсы Enum-интерфейсы, для транслирования данных на запрашивающий обработчик.

Рис. 11 Классы модуля Depot

9.2.3.1 Интерфейс IDepotFilter

Интерфейс предназначен для изменения текущего режима фильтрации Depot-компонентов. Он содержит функции SetTimeFilter и SetAreaFilter для установки, соответственно, фильтра по времени и фильтра по пространству.

Структура фильтров понятна из описания семантики структур 8.3.3 и 8.3.4.

9.2.3.2 Интерфейсы IStations/IMeasures

Интерфейсы экспортируется компонентами модуля для обеспечения фильтрованного доступа к данным станций. Они состоят из функций интерфейса IDepotFilter и функции GetEnum, возвращающей IEnumStations/IEnumMeasures — интерфейс объекта, обеспечивающего выборку данных из БД в виде TStation/TMeasure.

9.2.4 Enum-интерфейсы

В системе есть несколько Enum-интерфейсов: IEnumStations, IEnumMeasures, IEnumLayerDataMarker, IEnumLayerDataImage. Все они предназначены для порционной выдачи данных некоторого формата (последовательностей). Описание их методов представлено на Табл. 5.

Метод

Описание метода

Next

Получить следующую порцию данных в последовательности

Skip

Пропустить следующую порцию данных в последовательности

Reset

Вернуть указатель текущего положения в последовательности на начало

Clone

Создать аналогичный объект с текущим состоянием последовательности

Табл. 5 Методы Enum-интерфейса

9.3 Структуры данных

9.3.1 Структура «Станция» (TStation)

Структура используется для передачи атрибутов станции. Ее описание показано на Табл. 6.

Поле

Тип

Описание

fID

unsigned long

Уникальный в рамках рассматриваемой БД идентификатор станции

fLatitude

double

Широта

fLongitude

double

Долгота

fDateTime

TDateTime

Время, соответствующее измерению

Табл. 6 Атрибуты TStation

9.3.2 Структура «Значение станции» (TMeasure)

Структура предназначена для передачи значений станции. Ее описание приведено на Табл. 7.

Поле

Тип

Описание

fStationID

unsigned long

Уникальный в рамках рассматриваемой БД идентификатор станции, которой принадлежит значение

fDepth

double

Глубина, соответствующая измерению

fValue

double

Измеренное значение

fDateTime

TDateTime

Время измерения

fStationLat

double

Широта станции, соответствующей измерению

fStationLon

double

Долгота станции, соответствующей измерению

Табл. 7 Атрибуты TMeasure

9.3.3 Структура «Фильтр по пространству» (TAreaFilterInto)

В системе используется 3 базовых вида фильтров по пространству: точка (Point), линия (Line), прямоугольник (Rect). Для каждого вида определен параметр «допуск», указывающий величину наибольшего смещения от указанной области. То есть если  — заданная область,  — величина допуска, то бинарная функция фильтра выглядит так (0 — точка отсеивается фильтром, 1 — принимается фильтром):

.

Здесь под точкой понимается пара координат соответствующей станции.

Поле

Тип

Описание

fType

{aftNone, aftPoint,
aftLine, aftRect}

Тип области

fPoint1

Пара double

Координаты первой точки (не используется для пустого фильтра)

fPoint2

Пара double

Координаты второй точки (не используется для пустого фильтра и фильтра по точке)

fDelta

Double

Величина допуска

Табл. 8 Структура TAreaFilterInfo

9.3.4 Структура «Фильтр по времени» (TTimeFilterInfo)

Фильтр по времени можно рассматривать в виде произведения 3-х фильтрующих функций: (Fi возвращает 1, если точка принимается фильтром, и 0, если нет). FT1 определяет, попала ли точка в диапазон между соответствующими датами. FT2 и FT3 действуют по аналогии с FT1, но FT2 игнорирует данные о годе точки, а FT3 игнорирует данные о всей дате точки (использует только время). Степени a, b, c определяют активность соответствующего фильтра (1 — активен, 0 — нет).

Структура TTimeFilterInfo (см. Табл. 9) используется для передачи параметров фильтра по времени. Для деактивации фильтров используется пустая дата (соответствует полночи 1 января 1900 года).

Поле

Тип

Описание

fPeriodFrom

Структура FILETIME

Начало общего периода

fPeriodTo

Структура FILETIME

Конец общего периода

fSeasonFrom

Структура FILETIME

День и месяц начала сезона

fSeasonTo

Структура FILETIME

День и месяц окончания сезона

fDayFrom

Структура FILETIME

Время начала для суточного фильтра

fDayTo

Структура FILETIME

Время окончания для суточного фильтра

Табл. 9 Структура TTimeFilterInfo

9.4 Проект интерфейса

Интерфейс системы выполнен в виде нескольких ActiveX-компонентов. Главным из них является компонент Chart, управляющий изображение диаграммы. В нем выделяется несколько областей, изображение в которых представляет визуальное наполнение диаграммы (область легенды, область палитры, рабочая область).

Главная диаграмма системы, автоматически загружаемая в окно браузера, показывает сеть станций (см. Рис. 12). Посредством этой диаграммы пользователь задает интересующею его область, некоторые другие параметры.

Для отображения диаграмм используется отдельное окно (см. Рис. 13). Оно содержит меню, необходимые для управления изображением, слоями и пр. Окно также может работать в режиме «Stay-on-top».

Рис. 12 Карта, сеть станций

Рис. 13 Окно диаграммы

Система содержит несколько диалогов, используемых для модификации различных атрибутов диаграмм. Например, окно «Параметры», представленное на Рис. 14. Оно позволяет пользователю управлять фильтрами выборок (фильтр по времени), просматривать и изменять специфические параметры метода, с использованием которого создается слой.

Рис. 14 Параметры слоя диаграммы

10 Реализация и тестирование

В настоящее время система вся базовая функциональность полностью реализована. Идет внедрение системы в Тихоокеанском океанологическом институте.

Общий объем исходного кода системы составляет более 260 Кб, или около 12 000 строк на языке программирования C++. В системе 1 EXE и 2 DLL модуля.

Полноценное тестирование системы не проводилось. Некоторые обособленные блоки и наиболее сложные алгоритмы системы тестировались в процессе разработки методом черного ящика. Предполагается в процессе внедрения провести частичное тестирование всех функций с использованием локального сервера методом черного ящика.

Заключение

Таким образом, в процессе работы над дипломной работой мною были:

·  рассмотрены некоторые вопросы сбора и обработки гидрометеорологических данных, найдены и изучены соответствующие литературные и Internet-источники;

·  проанализированы проблемы интерпретации гидрологических данных, рассмотрены некоторые популярные методы объективного анализа;

·  рассмотрены существующие программные продукты, позволяющие производить обработку гидрометеорологических данных с целью построение различных диаграмм;

·  проанализированы интерфейс и существующие средства океанографической ГИС ТОИ;

·  выработаны требования к системе визуализации данных вертикального зондирования, на их основе разработана архитектура и проект системы;

·  система реализована, идет ее внедрение в ТОИ.

Список литературы

  1. AWI, Alfred Wegener Institute home page, http://www. awi-bremerhaven. de

  2. ESRI products overview, http://www. /products. html

  3. Grapher 5, Golden Software product review,
http://www. /products/grapher/grapher. shtml

  4. Maple 9.5, maplesoft product review,
http://www. /products/maple/index. aspx

  5. Mathcad 12, mathsoft product review,
http://www. /products/mathcad12/

  6. Ocean Data View, ODV home page,
(http://www. awi-bremerhaven. de/GEO/ODV/index. html)

  7. OCEAN DATA VIEW LICENSE AGREEMENT, AWI,
(http://www3.awi-bremerhaven. de/GEO/ODV/register/accept_license. php
)

  8. PNG (Portable Network Graphics) Home Site,
(http://www. libpng. org/pub/png/)

  9. Surfer 8, Golden Software products overview,
http://www. /products/surfer/surfer. shtml

  10. Белкин И. М. Морфолого-статический анализ стратификации океана. — Л.: Гидрометеоиздат, 1991.

  11. Беляев В. И., Обработка и теоретический анализ океанологических наблюдений. — Киев: «Наукова думка», 1973.

  12. Гандин Л. С., Машина предсказывает погоду — Л.: Гидрометеоиздат, 1965.

  13. Гандин Л. С., Объективный анализ метеорологических полей — Л.: Гидрометеоиздат, 1963.

  14. Гандин Л. С., Статистические методы интерпретации метеорологических данных, — Л.: Гидрометеоиздат, 1976.

  15. Гандин Л. С., Численные методы краткосрочного прогноза погоды: Учеб. — Л: Гидрометеоиздат, 1968.

  16. Мамаев О. И., Термохалинный анализ вод Мирового океана — Л.: Гидрометеоиздат, 1987.

  17. Нелепо Б. А., Интегрированные системы для гидрофизических исследований — Л.: Гидрометеоиздат, 1990.

  18. Нелепо Б. А., Тимченко И. Е., Системные принципы анализа наблюдений в океане — Киев: Наукова думка, 1976.

  19. Суховей В. Ф., Исследование мирового океана — Л.: Гидрометеоиздат, 1978.

Мы в соцсетях:


Подпишитесь на рассылку:
Посмотрите по Вашей теме:

Океаны планеты Земля
что скрывают океанские глубины ?

Проекты по теме:

Основные порталы, построенные редакторами

Домашний очаг

ДомДачаСадоводствоДетиАктивность ребенкаИгрыКрасотаЖенщины(Беременность)СемьяХобби
Здоровье: • АнатомияБолезниВредные привычкиДиагностикаНародная медицинаПервая помощьПитаниеФармацевтика
История: СССРИстория РоссииРоссийская Империя
Окружающий мир: Животный мирДомашние животныеНасекомыеРастенияПриродаКатаклизмыКосмосКлиматСтихийные бедствия

Справочная информация

ДокументыЗаконыИзвещенияУтверждения документовДоговораЗапросы предложенийТехнические заданияПланы развитияДокументоведениеАналитикаМероприятияКонкурсыИтогиАдминистрации городовПриказыКонтрактыВыполнение работПротоколы рассмотрения заявокАукционыПроектыПротоколыБюджетные организации
МуниципалитетыРайоныОбразованияПрограммы
Отчеты: • по упоминаниямДокументная базаЦенные бумаги
Положения: • Финансовые документы
Постановления: • Рубрикатор по темамФинансыгорода Российской Федерациирегионыпо точным датам
Регламенты
Термины: • Научная терминологияФинансоваяЭкономическая
Время: • Даты2015 год2016 год
Документы в финансовой сферев инвестиционнойФинансовые документы - программы

Техника

АвиацияАвтоВычислительная техникаОборудование(Электрооборудование)РадиоТехнологии(Аудио-видео)(Компьютеры)

Общество

БезопасностьГражданские права и свободыИскусство(Музыка)Культура(Этика)Мировые именаПолитика(Геополитика)(Идеологические конфликты)ВластьЗаговоры и переворотыГражданская позицияМиграцияРелигии и верования(Конфессии)ХристианствоМифологияРазвлеченияМасс МедиаСпорт (Боевые искусства)ТранспортТуризм
Войны и конфликты: АрмияВоенная техникаЗвания и награды

Образование и наука

Наука: Контрольные работыНаучно-технический прогрессПедагогикаРабочие программыФакультетыМетодические рекомендацииШколаПрофессиональное образованиеМотивация учащихся
Предметы: БиологияГеографияГеологияИсторияЛитератураЛитературные жанрыЛитературные героиМатематикаМедицинаМузыкаПравоЖилищное правоЗемельное правоУголовное правоКодексыПсихология (Логика) • Русский языкСоциологияФизикаФилологияФилософияХимияЮриспруденция

Мир

Регионы: АзияАмерикаАфрикаЕвропаПрибалтикаЕвропейская политикаОкеанияГорода мира
Россия: • МоскваКавказ
Регионы РоссииПрограммы регионовЭкономика

Бизнес и финансы

Бизнес: • БанкиБогатство и благосостояниеКоррупция(Преступность)МаркетингМенеджментИнвестицииЦенные бумаги: • УправлениеОткрытые акционерные обществаПроектыДокументыЦенные бумаги - контрольЦенные бумаги - оценкиОблигацииДолгиВалютаНедвижимость(Аренда)ПрофессииРаботаТорговляУслугиФинансыСтрахованиеБюджетФинансовые услугиКредитыКомпанииГосударственные предприятияЭкономикаМакроэкономикаМикроэкономикаНалогиАудит
Промышленность: • МеталлургияНефтьСельское хозяйствоЭнергетика
СтроительствоАрхитектураИнтерьерПолы и перекрытияПроцесс строительстваСтроительные материалыТеплоизоляцияЭкстерьерОрганизация и управление производством

Каталог авторов (частные аккаунты)

Авто

АвтосервисАвтозапчастиТовары для автоАвтотехцентрыАвтоаксессуарыавтозапчасти для иномарокКузовной ремонтАвторемонт и техобслуживаниеРемонт ходовой части автомобиляАвтохимиямаслатехцентрыРемонт бензиновых двигателейремонт автоэлектрикиремонт АКППШиномонтаж

Бизнес

Автоматизация бизнес-процессовИнтернет-магазиныСтроительствоТелефонная связьОптовые компании

Досуг

ДосугРазвлеченияТворчествоОбщественное питаниеРестораныБарыКафеКофейниНочные клубыЛитература

Технологии

Автоматизация производственных процессовИнтернетИнтернет-провайдерыСвязьИнформационные технологииIT-компанииWEB-студииПродвижение web-сайтовПродажа программного обеспеченияКоммутационное оборудованиеIP-телефония

Инфраструктура

ГородВластьАдминистрации районовСудыКоммунальные услугиПодростковые клубыОбщественные организацииГородские информационные сайты

Наука

ПедагогикаОбразованиеШколыОбучениеУчителя

Товары

Торговые компанииТоргово-сервисные компанииМобильные телефоныАксессуары к мобильным телефонамНавигационное оборудование

Услуги

Бытовые услугиТелекоммуникационные компанииДоставка готовых блюдОрганизация и проведение праздниковРемонт мобильных устройствАтелье швейныеХимчистки одеждыСервисные центрыФотоуслугиПраздничные агентства