Наша специализация - подземные воды
Проектные и консалтинговые услуги с сфере водопользования
Программное обеспечение для гидрогеологии и природопользования

Производство программного обеспечения в компании "Геолинк Консалтинг": новые разработки и ближайшие планы

Вторая конференция партнеров и пользователей "Геолинк Консалтинг" Д.В.Крапухин, "Геолинк Консалтинг"

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

I. Геоинформационные программные разработки для гидрогеологов, геологов и геоэкологов

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

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

Компания "Геолинк", понимая важность таких технологий, с самого начала своего существования старалась по возможности использовать их при разработке специализированного программного обеспечения. Результатом целенаправленных усилий компании в этом направлении явилось создание инструментальной ГИС общего назначения Geolink 2.0, представленной пользователям на первой научно-практической конференции партнеров и пользователей компании два года назад. С тех пор данная система развивалась в первую очередь за счет создания разнообразных новых приложений, работающих в среде Geolink 2.0. Условно эти приложения можно отнести к следующим разделам.

Импорт/Экспорт

Данный блок очень важен, так как именно через него геоинформационная система обменивается данными со сторонними приложениями. По опыту использования ГИС было замечено, что подавляющая часть данных попадает в систему именно путем импорта. Этот блок сформировался давно; в последнее время к нему добавился лишь импорт/экспорт из формата DXF, а также возможность трансформации координат GPS (системы координат WGS84), в том числе в появившемся недавно отдельном приложении трансформации координат. Это приложение появилось не так давно, и сразу стало активно использоваться, так как позволяет легко корректировать импортированные географические данные, качество которых часто бывает неудовлетворительным. Стоит отметить, что, понимая важность контроля качества вводимой в базу информации и обеспечения ее адекватной передачи, компания уделила большое внимание повышению надежности этого блока. Как показывает практика, существующего набора форматов достаточно для пользователей компании. В ближайшей перспективе рассматривается лишь возможность добавить к поддерживаемым форматам формат ArcView shapefile.

Атрибутивные данные

Таблицы атрибутивных данных объектов - одно из двух мест (второе - внешние по отношению к географической базе базы данных), в которых находится фактографическая информация о всех географических объектах, без которой ведение географической базы обычно не имеет практического смысла. Поэтому этот блок также очень важен, и используется часто. В последнее время сюда добавилась возможность импорта атрибутивной информации (из текстовых файлов) непосредственно в объекты географической базы, возможность построения списка объектов по их атрибутивным данным, формирование параметрической легенды (легенды, используемой при построении тематических карт). Кроме того, для ускорения работы пользователей, добавлен отдельный тракт импорта атрибутивной информации непосредственно из форматов MDB и XLS (в дополнение к текстовому формату). В самое ближайшее время должны появиться такие удобные (и типичные для табличных баз данных) функции, как поиск поля по значению (локатор в столбце), стандартные операции (замена, сумма, и т.п.), формирование специальных столбцов (реализация функций), таких, как "Периметр", "Площадь", и т.п.

Параметрическая легенда

В последней версии системы был значительно расширен блок параметрической легенды. Этот блок позволяет управлять легендой карты в зависимости от атрибутивных данных показываемых на карте объектов. Любые параметры отрисовки объектов слоев любых типов (кроме, естественно, растровых) можно теперь менять в соответствии с атрибутивными данными этих объектов. Это средство незаменимо при создании тематических карт.

Оформление карты

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

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

Список объектов

В системе Geolink 2.0 большое значение имеет формирование списка географических объектов. Это один из главных способов подготовки исходных данных для многих приложений, таких, как программы моделирования, средства подготовки тематических карт, мониторинг геологической среды, оконтуривание объектов, формирование территорий и т.п. Эта часть приложения в последнее время сильно изменилась. Появилась возможность импорта и экспорта списков объектов, формирования списка объектов и некоторые другие (в т.ч. экспорт списка в DAT-файл).

Работа с картограммами

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

Отдельные приложения

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

Компанией разрабатывается также много новых приложений для ГИС Geolink 2.0. тут в первую очередь следует упомянуть программу построения и редактирования гидрогеологического разреза.

Моделирование

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

Статистика

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

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

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

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

Наконец, в компании подготовлена не только полная справочная система для программы Geolink 2.0, но и печатная программная документация, предоставляющая методику (в отличие от обычной справки) работы с программой и ее приложениями. Документация состоит из нескольких томов. Первый посвящен работе собственно с системой Geolink 2.0 (ее базовым комплектом), второй - работе с картограммами, третий - существующим приложениям. Сейчас готовится том, посвященный программам моделирования. Имеется также документация, посвященна мониторингу геологической среды РФ.

Программы для карманных компьютеров

При создании этого набора программ (мобильного комплекта AquaPalm) компания "Геолинк" ставила своей целью создание полнофункционального мобильного комплекта для гидрогеологов на базе карманного компьютера Palm. Гидрогеологу предоставлен компактный и гибкий набор инструментов и программное обеспечение для проведения необходимых работ в полевых условиях. Основой такого комплекта являются карманные компьютеры с операционной системой Palm® OS (так называемые Palm-совместимые устройства).

Кроме собственно карманного компьютера мобильный комплект AquaPalm включает в себя специализированное программное обеспечение, разработанное компанией "Геолинк". Приложения AquiTest (сбор и анализ данных опытно-фильтрационных работ) и Анкета (сбор первичных данных при обследовании скважин), приемник GPS и цифровой фотоаппарат, совместимые с карманным компьютером, специально разработанные модули для считывания и обработки информации, поступающей с различных датчиков. Состав комплекта AquaPalm может легко меняться в зависимости от потребностей работающего с ним специалиста.

II. Аутсорсинг

С момента своего основания одним из ключевых направлений деятельности компании "Геолинк" была и остается разработка программного обеспечения. За это время компанией был накоплен значительный опыт в этой области, сформирована профессиональная команда специалистов различного профиля и отработана промышленная технология создания программных продуктов - от постановки задачи и создания архитектуры системы до написания документации и поддержки пользователей. Всё это позволило компании успешно действовать на рынке аутсорсинга, то есть разработки программного обеспечения под "ключ" для сторонних заказчиков в различных прикладных областях. Подобная деятельность требует постоянного повышения уровня как собственно программирования, так и общего менеджмента, и , в свою очередь, стимулирует развитие компании. Здесь в качестве примера можно привести два крупных программных проекта, выполненных компнией "Геолинк" для американских компаний Applied Materials и ProxyTrader, Inc.

Проект Eview

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

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

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

Компанией "Геолинк" в настоящее время реализуется приложение на основе клиент-серверной 3-звенной технологии, которое полностью должно отвечать требованиям заказчика. Приложение имеет следующую структуру. На управляющем компьютере устанавливается сервер БД InterBase 6.1, к которому с одной стороны обращается сервер установки, а с другой - произвольное число клиентских приложений (консоль оператора). Таким образом, база данных полностью описывает состояние установки в каждый момент времени, а также передает управляющие команды от клиентов установке и сообщает о событиях, происходящих на установке всем клиентам. Такая структура позволила свести к минимуму объем программирования на компьютере, управляющем установкой, и быстро реализовать основную часть проекта. Доступ к серверу БД и его администрирование возможны с любых удаленных компьютеров по локальной сети (TCP/IP).

Код, написанный в "Геолинке" для управляющей машины, является сейчас частью общего программного проекта компании-заказчика, и написан на языках С и C++. Приложение-клиент реализовано на языке Java, что обеспечивает максимальную переносимость программного кода и удобный современный пользовательский интерфейс.

Проект ProxyTrader

Данный проект реализуется по заказу компании ProxyTrader, Inc. и должен стать основным инструментом работы этой компании с частными инвесторами.

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

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

Проект полностью разработан и реализован компанией Geolink и будет предоставлен компании-заказчику "под ключ". В настоящий момент бета-версия программы проходит тестирование с участием выбранной группы пользователей.