Опыт использования ГИС Zulu в составе информационной системы предприятия
Юрий Подгурский, инженер-программист
ОАО «Усть-Каменогорские тепловые сети»,
г. Усть-Каменогорск, Казахстан
[email protected]
Достаточно продолжительное время подыскивался продукт, позволяющий удовлетворить наши требования. После ознакомления с возможностями ГИС Zulu на сайте и просмотра демонстрационной версии остановились на данном продукте.
Основные задачи, которые планировалось решить, следующие:
- Графическое представление инженерных сетей. Попутно по мере ввода в базы данных проводится полная ревизия сетей.
- Полная связь графической базы данных с имеющимися базами, а именно:
- Картотека физических лиц
- Картотека юридических лиц
- Картотека улиц
- Картотека адресов потребителей
- Картотека тепловых узлов управления
- Информационная база режимов, поступающая от источника теплоснабжения
Эти базы данных уже существовали на момент принятия решения.
- Использование топологических возможностей и сетевых функций для ускорения и оптимизации расчетов потребления.
- Диспетчерский контроль состояния инженерных сетей
- Учет ремонтов объектов инженерных сетей
- Теплогидравлические расчеты
Естественно, каждый пункт содержит в себе много подзадач.
Все имеющееся программное обеспечение на предприятии выполнено в среде Visual FoxPro в технологии файл-сервер. Базы данных - таблицы Visual FoxPro. Разрабатывалось все программное обеспечение около 5 лет на корпоративной основе с единым ядром справочников и картотек для любых задач. Поэтому основное требование к графическому продукту было иметь возможность встроить его в общую систему.
Рис.1 Форма для работы инженерными сетями, режим просмотра.
В целом это удалось, хотя определенные трудности и неудобства имелись и имеются. Сразу рассматривался только вариант использования ActiveX. Сначала я проводил тестирование Zulu в среде Delphi и VB. Не понравилась достаточно медленная обработка данных Visual FoxPro через ODBC. Одновременно тестировал непосредственно средствами FoxPro.
Работа объектов ГИС Zulu оказалась вполне устойчивой в среде Visual FoxPro 6 + Service Pack 5, поэтому в конце концов пришли к решению разрабатывать приложение в среде Visual FoxPro 6.
Рис.2 Форма для работы инженерными сетями, ускоренный выбор района города и масштаба.
За время работы над задачей (год с небольшим) фирмой Политерм был выполнен ряд исправлений и дополнений к объектам и функциям (в том числе и по моей просьбе), в результате чего удалось решить многое из постановки.
В целом вся система показала хорошие возможности для разработки графических приложений и мы удовлетворены сотрудничеством. Но наряду с этим мы столкнулись с определенными трудностями, которые вызваны как объективными, так и субъективными причинами.
Рис.3 План Усть-Каменогорска
Т.к. семантические базы данных ГИС Zulu в наших приложениях не используются, то наибольшие проблемы при разработке вызывает контроль над связью наших и графических БД. Все операции проводятся через реестры слоев, которые являются копиями (таблицы VFP) графических БД слоев один к одному, и содержат как минимум ID объекта слоя, ссылку на картотеку или справочник БД VFP и ключ из соответствующей таблицы БД.
Рис.4. Редактор типовых схем в режиме «строительство».
На базе функций ГИС Zulu я сделал несколько вариантов редактора сетей для разных целей, в которые включил необходимые нам средства контроля за целостностью данных и, наоборот, исключил некоторые возможности базового редактора, таких как смена типа, которая допустима в строго ограниченных программой рамках, смена режима, которая фиксируется в динамических таблицах. Эти возможности предоставляются через отдельные программные средства ограниченному кругу лиц.
Нужно отметить, что средства системы позволяют делать достаточно гибкий инструментарий для рисования и обработки данных, хотя хотелось-бы расширить кое-какие возможности.
Рис.5 Редактор привязок и дополнительных элементов.
В колонке справа приведены примеры форм. Это так, чуть-чуть. Вообще в проекте уже около сотни форм, разные возможности, вплоть например до поиска должников Ивановых по улице Иртышской , сбор нагрузок на любом узле.
Пишите, если что-то заинтересует. Может кто-то еще делает подобные проекты, пришлите E-mail'ы.
Последнее обновление — 29.06.2015 13:13:10