3 - 2005

MapDrive на пороге: БАЗОВОЕ решение

Александр Ставицкий

Зачем он был нужен?

О совместимости с «коллегами»

Обязательная программа

Призы и бонусы

Что же за этим последует?

Перед тем как попрощаться

Читатели, интересующиеся комплексными ГИС-технологиями от CSoft (www.csoft.ru), не понаслышке знают об инструментальной ГИС CS MapDrive. Первая публикация, посвященная выходу промышленной версии, появилась год назад. Судя по активности посетителей сайта www.mapdrive.ru, продукт вызвал немалый интерес, но все еще явно уступает в распространенности традиционным бестселлерам на рынке инструментальных ГИС. Мы считаем, что CS MapDrive достойна большего внимания, тем более что недавно появилась новая версия CS MapDrive 1.3.5 со значительно расширенным функционалом.

Зачем он был нужен?

А действительно… Инструментальные ГИС часто отождествляют с ГИС вообще — аналогично тому что ксероксом называют любой копировальный аппарат. Их много — и стандартных, от солидных, «брендовых» производителей, и «рукотворных», от огромного множества групп российских разработчиков, пошедших «другим путем» либо из любопытства, либо от незнания конъюнктуры, либо по каким-то своим потаенным причинам. Казалось бы — зачем еще одна?

А ответ весьма прост. Мы не поставляем готовые «коробки», а строим комплексное ГИС-решение. Строится оно не по признаку верности «флагу» того или иного разработчика, предложившего нам выгодное дилерство, а исходя из оптимальности решения в целом для клиента. Критерии же оптимальности давно определил сам рынок.

Первый и главный: масштабируемость. Большая ГИС все чаще стартует с небольших проектов: клиенту надо убедиться, что он сделал правильно, доверившись нам; у него иногда нет достаточных средств на «большой прыжок», у него почти всегда отсутствует тот объем данных, который появится вскоре после успешного внедрения самой ГИС-технологии. Все эти обстоятельства часто заставляют начинать с пилотных проектов. А ориентация на традиционный, файловый способ хранения информации — это верный способ в самом ближайшем будущем разочаровать клиента или резким замедлением доступа к данным при увеличении их объема, или непомерными ценами, или проблемами внедрения с использованием сложных инструментов, оптимизирующих доступ к большим файловым хранилищам.

Значит, все нужно положить в одну СУБД, в которой держать и пространственные, и описательные данные, разрешать средствами этой системы все коллизии доступа и справляться с огромными потоками данных. Сделав этот выбор, не придется выбирать СУБД: только Oracle имеет собственный механизм хранения пространственных данных и разграничивает доступ к ним своими штатными средствами. Собственно, этот вывод сделали почти все производители инструментальных ГИС, только каждый подошел к решению по-своему.

Компания ESRI со своими флагманскими продуктами ArcView и ArcInfo, с моей точки зрения, двинулась в Oracle несколько преждевременно. То есть слава Oracle как лучшей СУБД, надежной и быстрой, уже катилась по свету, а специальный механизм хранения пространственных данных Spatial Cartridge, сделавший Oracle заманчивой ГИС-мечтой, еще отсутствовал. И ESRI пришлось разрабатывать собственный механизм хранения пространственных данных в Oracle, так называемый SDE, через который данные и поступают в хранилище. Механизм этот действительно работает, но исключает использование таких важных преимуществ, как исполнение сложных ресурсоемких пространственных запросов на стороне сервера, применение единого подхода при разграничении доступа к любым данным (об администраторах Oracle и так ходят легенды, а тут придется искать двух разных администраторов…). При этом свобода выбора будущего развития системы практически отсутствует, ведь при использовании SDE пользователь заранее ограничен только рамками сообщества ESRI.

Другие важные игроки ГИС-рынка взяли паузу… и не зря. Вскоре после появления механизма Spatial Cartridge о его поддержке заявили Intergraph, Autodesk и MapInfo. Но заявили по-разному.

Intergraph просто создал с чистого листа»новый продукт GeoMedia, ориентированный только на использование СУБД и вообще начисто лишенный собственного файлового формата.

Autodesk и MapInfo пошли по пути расширения файлового подхода, существовавшего соответственно в Autodesk Map и MapInfo.

Организационно это привело к подписанию тремя перечисленными компаниями соглашения OpenGIS о едином стандарте хранения пространственных данных на основе Oracle Spatial Cartridge — возникла реальная угроза многолетнему лидерству ESRI…

На практике ситуация выглядит следующим образом: любое из упомянутых программных приложений может устанавливать прямое соединение с Oracle Spatial и создавать/редактировать пространственные данные. Но есть нюансы… Только при использовании подхода Intergraph вы можете просто забыть о кнопке Save — ведь вся ваша работа происходит непосредственно в СУБД, а ее результаты немедленно становятся доступны всем остальным пользователям, «кормящимся» из того же хранилища на основе Oracle.

А вот Autodesk и MapInfo незаметно конвертируют данные в… те же внутренние файловые форматы и фактически работают с данными локально, сохраняя их в СУБД либо по завершении сессии, либо специальной командой. Это не смертельно, но неприятно: нужно отслеживать и возможность одновременного редактирования одного и того же объекта в перекрывающихся областях, и выбор правильного его варианта.

По понятным причинам отдав предпочтение подходу от Intergraph, нам пришлось кое-что изменить, подогнать инструмент по руке — в результате на ядре от Intergraph и был разработан CS MapDrive.

В начало В начало

О совместимости с «коллегами»

Из всего вышесказанного понятно, что Intergraph GeoMedia может весьма удобно использоваться совместно с CS MapDrive в рамках одного внедренческого проекта. Технология доступа к данным, хранящимся в Oracle, остается той же самой, поэтому поклонники GeoMedia могут просто использовать преимущества CS MapDrive (о них — далее), не отступая от отработанной технологии.

Пользователи MapInfo и Autodesk Map так же легко могут расширить арсенал своих возможностей, закупив дополнительные рабочие места CS MapDrive. Но при этом не следует забывать, что OpenGIS — соглашение об «общем знаменателе», коим, естественно, является Oracle Spatial Cartridge. В нем, как в пещерах Али-Бабы, надежно хранятся сокровища ГИС-проекта — пространственные и описательные данные. А про «Сезам, откройся» знает только таинственный администратор...

Но вот какая штука: войдя в огромные пещеры, неплохо бы знать (для экономии времени), что где лежит, чтобы не блуждать по бесконечным коридорам. Ведь снаружи, перед входом, ждут, нетерпеливо притопывая, пользователи. Реестр содержимого пещер от Oracle Spatial Cartridge — это так называемые метаданные. Используя их, посвященный пользователь сразу знает, где лежит, например, класс пространственных объектов, описывающих трубы системы водоснабжения, из каких пространственных примитивов он состоит и т.д. Унификация метаданных участников OpenGIS Consortium — дело недалекого (надеюсь!) будущего. Пока что метаданные идентичны по структуре у Intergraph GeoMedia и CS MapDrive, а MapInfo и Autodesk Map творят их каждый по-своему. Это может показаться проблемой для начинающего пользователя общих хранилищ Oracle, но, как доказал недавний опыт, все успешно решается раз и навсегда на этапе проектирования системы, а далее принцип «общего знаменателя» вновь доказывает свою полезность.

Если кто-то из участников ГИС-проекта все же хранит данные в файловых форматах, то и это не проблема. Ко всем известным форматам (SHP, MIF/MID, DXF, DGN) CS MapDrive осуществляет доступ напрямую. При этом в рамках одного проекта могут легко сосуществовать различные источники данных — и файловые, и содержащиеся в едином хранилище. Например, некий удаленный пользователь давно и традиционно ведет на ArView информационный слой рекламных щитов. Объем информации невелик, многопользовательского доступа на редактирование этого слоя не требуется — он осуществляет мониторинг этого слоя самостоятельно. В таком случае пользователи CS MapDrive просто имеют доступ на чтение к соответствующему SHP-файлу. Если же в будущем потребуется обеспечить реальный многопользовательский доступ, то информация из файлового источника легко конвертируется в хранилище на основе СУБД Oracle штатными средствами инструментальной ГИС CS MapDrive.

А кто-то из поставщиков данных использует СУБД как хранилище, но по каким-то причинам подход OpenGIS его не устраивает… Тоже не беда. Хранилища на основе SQL Server и даже MS Access, используемые Intergraph, по понятным причинам поддерживаются напрямую и могут использоваться как на чтение, так и на запись. Данные же, хранящиеся в SDE специальными средствами ESRI, могут конвертироваться в Oracle Spatial Cartridge через тот же SHP-файл.

И наконец (хоть это и трудно обещать всем клиентам) в процессе работы над одним подмосковным проектом мы «научили» CS MapDrive читать нестандартные файловые данные: это вполне решаемо, если заранее известен формат хранения.

В начало В начало

Обязательная программа

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

Разумеется, в CS MapDrive есть и черчение по объектным привязкам (к концу объекта, к середине, к ближайшей вершине), и прямой ввод координат или параметров операции редактирования с клавиатуры, и операции добавления/удаления/перемещения вершин, и группировка объектов в коллекции, и многое другое.

Предмет нашей особой гордости — это продуманный интерфейс, который мы продолжаем совершенствовать, прислушиваясь к мнению пользователей. Ведь когда речь идет о каждо­дневной обработке сотен, а то и тысяч объектов, каждый лишний клик мыши приводит к дополнительным затратам.

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

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

В начало В начало

Призы и бонусы

Как уже говорилось, идею разработки CS MapDrive обусловило желание дать пользователям больше, чем предоставляют известные и вышеперечисленные инструментальные ГИС. Пришла пора сказать, о чем именно шла речь.

Предмет особой гордости — использование справочников данных. Конечно, в основном с описательными данными лучше не работать в инструментальной ГИС — для этого придуманы системы публикации данных с их тонкими клиентами.

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

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

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

Еще одной уникальной особенностью CS MapDrive является то, что справочники доступны не только в сводном окне данных, но и в индивидуальном окне свойств выбранного объекта: мы опять экономим клики!

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

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

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

«Зачем все это?» — недоуменно спр о сите вы. А попробуйте по запросу мэра быстро отобрать все инженерные коммуникации, относящиеся только к Центральному району… А представьте себе, что в качестве объекта, определяющего границы пространственного фильтра, может использоваться такой автоматически создаваемый объект, как буферные зоны вокруг другого класса… Нравится? Вот и наши пользователи оценили!

В начало В начало

Что же за этим последует?

К лету текущего года запланирован выход CS MapDrive 2.0, в котором, наряду с описанным многообразием, совершенно точно появятся совсем новые возможности.

Во-первых, это долгожданный модуль обработки растра, хорошо знакомый по триумфальной серии Raster Arts. То есть возможности калибровки растра по ортогональной и произвольной сетке, интеллектуальная трассировка — то, к чему так привыкли пользователи Spotlight Pro, — теперь будет доступно и из среды CS MapDrive.

Во-вторых, встроенный генератор печатных отчетных форм CrystalReports — признанный мировой лидер в этой области.

В-третьих, API-интерфейс, который даст возможность создавать свои команды и сценарии с использованием стандартных языков программирования.

Сроки выхода новой версии еще уточняются, но раз вы читаете эту статью, то вам доступна специальная программа, по которой все, кто приобрел в 2005 году CS MapDrive 1.3.5, получают возможность бесплатного обмена на версию 2.0!

В начало В начало

Перед тем как попрощаться

Инструментальная ГИС CS MapDrive 1.3.5, возможности которой описаны в этой статье, по нашему мнению, очень полезна широкому кругу разработчиков и пользователей ГИС-систем. Но все же наиболее эффективно ее использование в качестве компонента комплексного решения.

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

Поэтому внедрение ГИС — это все же никоим образом не набор готовых программ. Это системное решение проблем клиента, выявленных в результате внимательного обследования.

А CSoft — именно та консалтинговая компания, которая готова к внедрению таких комплексных проектов совместно с местными партнерами и персоналом заказчика.

В начало В начало

«САПР и графика» 3'2005