Архивы: по дате | по разделам | по авторам

Рисуем карту

Архив
автор : ЮРИЙ КОРОЛЕВ    02.11.1999

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

Вадим Иванченко


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

Поэтому основныевозможности, предоставляемыесовременными программными средстивами ГИС, можно показать на примере ARC/INFO.

На первый вопрос - чем, собственно, так замечательна эта система? - ответить кратко очень просто: своими уникальными функциональными возможностями. Они просто несопоставимы ни с какой другой ГИС общего назначения. А эти функциональные возможности, естественно, базируются на очень развитой и удачной модели представления пространственных данных. В своей основе модель данных ARC/INFO - послойная векторно-топологическая (вабсолютном большинстве других ГИС используется послойное представление данных). Этот подход более универсален, чем иногда противопоставляемый ему классический объектный принцип. Однако сегодня ГИС активно развиваются в направлении использования наряду с послойным принципом и объектного подхода, их интеграции. Модель данных ГИС не исчерпывается только поддержкой векторных данных. Имеется также и возможность работать с растровой информацией, часть функций по работе с которой реализована в базовом модуле, а часть - в дополнительном модуле расширения GRID. При этом использование растра может быть различным: как пассивной растровой подложки для вывода или для создания с помощью ручного рисования векторных объектов. При этом есть возможность привязки растра к векторной карте, перевод его в реальные координаты, включающий, если необходимо, и геометрическое его трансформирование.



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

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

Еще более важно то, что в модели данных имеются принципиально новые геометрические типы объектов.

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

Б - Вторичные (наложенные) линейные объекты - секции и маршруты. Секции - это просто участки дуги (то есть линии, определенной от узла до узла), которые не обязаны начинаться и заканчиваться в узле. То есть секция - это или целая линия (дуга), или любая ее часть. Их можно задавать или в линейных единицах вдоль линии (от начала до 10 км), или в процентах длины линии (участок от 10% длины до 70% длины). Секции имеют свои таблицы атрибутов и тоже могут образовывать множественные системы на одной и той же системе дуг (первичных линейных объектов).

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

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

В - Отдельным типом объектов со своими таблицами атрибутов являются в ARC/INFO узлы. Это позволяет, наряду с маршрутами и секциями, построить самую эффективную по сравнению с другими ГИС систему представления совокупностей линейных объектов и одновременно обеспечить как высокую гибкость, так и эффективность ее анализа как графа. К узлам удобно привязывать атрибуты, характеризующие переходы между линейными объектами и их связи. Например, состояние запорной арматуры в трубопроводах, положение переключателей в электрической сети, возможность или невозможность выполнения того или иного поворота для автотранспорта на перекрестке.

На использовании секций и маршрутов базируется такое интересное свойство ARC/INFO, как динамическая сегментация. Если мы создали системы секций и маршрутов на линейных объектах, то мы фактически ввели на них линейную меру, построили линейную систему координат вдоль линий. Теперь можно легко привязывать как точечные, так и линейные объекты к участкам линий, задавая их положение не координатами X и Y слагающих их точек, а используя метки вроде дорожных километровых столбов или пикетажа вдоль геофизического профиля. Как изменение значений атрибутов этих объектов, так и их введение, удаление, перемещение могут быть выполнены очень быстро и просто, без необходимости перестраивать топологию. Поэтому этот способ удобен для описания быстро меняющейся ситуации на сетях линейных объектов. Временные дорожные знаки на улицах, ремонт покрытия на участке дороги, дорожно-транспортное происшествие, автомобильная пробка - вот области применения принципов динамической сегментации в области транспортного и дорожного хозяйства. В области инженерных коммуникаций их, пожалуй, еще больше.

Все эти дополнительные типы объектов, будучи сформированы в ARC/INFO, могут использоваться и в ArcView. При этом для объектов динамической сегментации доступно не только изменение атрибутов, но и редактирование, создание новых объектов. Лишь бы была задана линейная система координат - система маршрутов, которая зачастую гораздо более статична, чем быстро меняющаяся ситуация на линейных объектах.

Очень интересны дополнительные возможности, имеющиеся в ARC/INFO для работы с большими базами пространственных данных, включающими много однотипных покрытий - соседних листов карт. Такое разбиение всей области на отдельные покрытия, соответствующие отдельным листам карт одного тематического слоя, очевидно, удобно для администрирования базы данных и повышает реальное быстродействие системы. Но возникают и довольно большие неудобства, если обращаться к данным с использованием собственных уникальных имен каждого покрытия. Для решения этой задачи имеются две возможности. Одна - это использование функций подсистемы LIBRARIAN - библиотекаря карт. Организовав библиотеку карт, мы получаем многочисленные удобства в работе. Построенная библиотека может использоваться для удобства доступа к большим базам пространственных данных и из среды ArcView. Вторая возможность - использование модуля расширения ArcStorm, позволяющего так организовать базу данных карт, что можно вообще забыть о существовании границ листов (покрытий), пока в этом нет потребности, и работать как бы в непрерывном географическом пространстве. Вдобавок он позволяет организовать многопользовательское редактирование единой базы пространственных данных. При этом редактирование поддерживается на уровне транзакций, и блокировки устанавливаются не на листы карты (покрытия) целиком, а только на редактируемый объект и связанные с ним определенными топологическими отношениями объекты. База данных, созданная с помощью модуля ArcStorm, также доступна для пользователей ArcView, правда, разумеется, без возможностей редактирования графики. Кроме того, многим пользователям доступны базы данных, управляемые сервером пространственных данных SDE.

Нельзя не упомянуть и о таких возможностях современных ГИС, как современный удобный графический интерфейс пользователя, который может быть легко настроен на специфические потребности конкретного применения и средства для программиста разработчика, которые включают как встроенный макроязык AML, так и современную открытую среду разработки ODE (Open Development Environment), позволяющую писать приложения с использованием всех возможностей ГИС в таких средах, как Visual Basic, Visual C++, Tcl/Tk и т. д.



Для многих пользователей ArcView, в первую очередь для тех, кто работает изолированно со своими персональными данными, используя в основном базовые средства ГИС-технологий, такие как информационно-поисковая система для пространственных данных, построение тематических карт, простой диаграммный анализ данных, подготовка твердых копий не очень сложно оформленных карт - и сейчас, и в будущем, вероятно, хватит возможностей, предоставляемых этой простой, но мощной ГИС конечного пользователя. Кому-то потребуется использовать в дополнение к ней ARC/INFO на определенном этапе развития его пространственной базы данных, когда или объемы данных вырастут настолько, что для работы с ними потребуются более мощные средства и другие способы организации данных, или задачи администрирования большой и быстро меняющейся базы потребуют более эффективных средств. С необходимостью использования ARC/INFO может столкнуться пользователь, собирающий базу данных на очень большие территории при высоких требованиях к позиционной точности, при этом объем базы данных, то есть количество и графическая сложность объектов, может быть и небольшим. Такая же потребность возникает и у тех, кто занимается активным обновлением информации с изменением ее графического компонента. Разумеется, графика в формате шейп-файлов свободно может редактироваться в ArcView, но для многих приложений, особенно связанных с серьезным анализом данных, требуется их гарантированная топологическая корректность. Для этого вовсе необязательно готовить все данные в среде ARC/INFO, используя ее как инструмент цифрования. Это слишком дорогое удовольствие для большинства ситуаций. Но вот проводить все данные через среду мощной ГИС, как через ОТК для контроля и увязки, использовать ее в качестве рабочего местаадминистратора пространственной базы данных, - это часто разумно. Итак, одно из главных применений ARC/INFO - это поддержка крупных по объему данных проектов и проектов, где работает одновременно большое число пользователей, обновляющих информацию.



Вторая группа потребностей в использовании ARC/INFO возникает в связи с серьезным анализом данных и моделированием, особенно с привлечением нескольких моделей - растровой, векторной, TIN. Это может относиться уже не обязательно только к большим по объему данных и числу пользователей проектам. Интересно, что ARC/INFO способна обслуживать пользователей ArcView, распределенных по сети, в качестве "сервера задач". Путем использования специального механизма, обеспечивающего взаимодействие работающих приложений (IAC), можно использовать ArcView для организации выборки данных и формулирования задачи, которая затем передается для выполнения на ARC/INFO, возможно, работающей на другой машине. Результаты могут быть получены обратно для использования в ArcView. Такая схема требует обычно некоторого программирования, но она позволяет радикально повысить эффективность использования дорогостоящих мощных средств, сделав их доступными большему числу пользователей.

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

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

Б - То же, но данные хранятся на коллективном сервере, может быть, удаленном. Часто это сервер SDE.

В - То же, что и 2, но при сервере SDE для администрирования интенсивно меняющихся и сложно организованных данных используется и ARC/INFO.

Г - Локальная ГИС используется для работы с коллективными (локальными или удаленными) данными, управляемыми SDE. Распределение функций - в соответствии с требованиями к аналитическо-моделирующим функциям ГИС.

Д - То же, что и 4, но ARC/INFO работает в режиме коллективного использования как сервер задач для ArcView.



© ООО "Компьютерра-Онлайн", 1997-2022
При цитировании и использовании любых материалов ссылка на "Компьютерру" обязательна.