ArcGIS Image Server: зачем и для чего

Денис Савицкий, DATA+

 

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

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

Не удивительно, что и в сфере геоинформационных технологий (ГИС) акценты все более смещаются в сторону совместного, в том числе удаленного, доступа к ресурсам. Компания ESRI постоянно стремилась предоставить своим клиентам решения не только для создания отдельного рабочего места, но и для их интеграции в более общую системную структуру. Тут достаточно, например, упомянуть тот факт, что даже на отдельном рабочем месте с установленными на нем настольными продуктами линейки ArcGIS desktop для управления данными используется разновидность персональной базы данных (БД) – технологии, изначально предполагавшей совместный доступ к данным, причем из разных программных сред. Подобные возможности межплатформенного взаимодействия имеются и в серверных продуктах семейства ArcGIS. Логичным продолжением ведущихся компанией разработок стал сравнительно недавно появившийся, но давно ожидаемый, серверный компонент – ArcGIS Image Server.

Важно отметить, что начиная с ArcGIS версии 9.3, этот компонент полностью интегрирован c общим серверным решением ArcGIS Server и предоставляется в качестве дополнительного модуля (расширения), названного ArcGIS Server Image. Помимо него, имеется еще несколько расширений для ArcGIS Server: 3D, Data Interoperability, Geostatistical, Network, Schematics, Spatial, предоставляющих основные возможности соответствующих модулей, ранее разработанных под настольные продукты ArcGIS, а также расширение Job Tracking.

Давайте разберемся, чем была вызвана необходимость создания подобного компонента. Действительно, на первый взгляд в продуктах ArcGIS Desktop достаточно возможностей по использованию растровых данных в своих проектах и электронных картах. Достаточно обширен список доступных для чтения растровых форматов, имеются инструменты для работы с растрами в дополнительном модуле Spatial Analyst, возможно хранение растров в базе геоданных (БГД): как в персональной, так и многопользовательской под управлением ArcSDE. Разнообразные средства для работы с растровыми данными имелись и в прежних серверных решениях, теперь объединенных в среду ArcGIS Server.

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

Решение от компании ESRI – это ArcGIS Image Server, продукт, ориентированный на решение подобных задач. Но, в действительности, его функциональность намного шире. Давайте остановимся на этом вопрос подробнее.

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


Рис. 1.
Диалог выбора Image Server и опубликованных на нем сервисов.

 

Для передачи результатов программе-клиенту используется технология «публикации растровых сервисов». Суть ее в следующем: растровые данные объединяются в группы по определенному признаку и виду данных. Таким признаком может быть, например, принадлежность к определенной территории, либо тематика растра. При соединении Image Server отсылает клиенту список опубликованных сервисов, из которого можно выбрать интересующие вас. И все. Более от пользователя ничего не требуется. Система сама будет подгружать с сервера необходимый растр согласно отображаемой в ГИС карте, системе координат и видимому экстенту. При несовпадении системы координат растра и загруженного в ГИС проекта перепроецирование растровых данных будет выполнено на лету (рис. 2, 3).


Рис. 2.
ArcMap и созданная в ДАТА+ мозаика изображений на территорию Кавказа, хранящаяся на Image Server.


Рис. 3.
Карта России M 1:1 000 000, созданная в ДАТА+, совмещена с данными из сервиса Image Server.

 

Image Server способен работать с любыми геопривязанными растровыми данными. То есть совершенно не важно, «истинные» ли это данные ДДЗ (космоснимки), данные аэросъемки, либо же производный продукт на базе ГИС. Какие в этом преимущества? На ум сразу приходит архив отсканированных бумажных карт и планов, которые очень быстро накапливаются в любой организации, работающей с пространственными данными. При продуманной организации их хранения можно опубликовать несколько сервисов: по типу растровых карт (геологические, туристические, экологические), по их точности, по масштабному ряду или году издания и т.п. Проделав такую работу, организация получает в руки мощный поисковый инструмент, в числе прочего позволяющий проводить оперативный анализ данных, приходящих от сторонней организации. Ведь в этом случае достаточно открыть новую карту в ГИС и с помощью Image Server добавлять к ней нужные источники данных. Система сама выберет из архива документ, например, растровую карту, в наибольшей мере подходящую под местность, масштаб просмотра или иные заданные параметры. Исполнитель не обязан знать, где и в каком виде лежит та или иная растровая карта. Если же в организации есть ArcGIS Server, на который выкладываются создаваемые векторные карты и планы, то эффективность работы может возрасти многократно.

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

Но Image Server – это намного больше, чем просто клиент-серверная технология для доступа к растровым файлом. Он позволяет создать «опубликованный сервис». Что понимается под этим термином? Во-первых, разработчики постарались максимально учесть тот факт, что чаще всего добавляемые растровые данные перекрывают друг другу. Вспомним ту же аэросъемку для задач фотограмметрии: продольное перекрытие у снимков 60%, то есть каждая из точек на местности отобразилась как минимум на трех разных снимках, а в случае стандартного межмаршрутного перекрытия снимков может быть и шесть! При публикации службы создается пометка о том, какие виды просмотра такой мозаики доступны пользователю:

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

Кроме того, пользователь может выбрать особенности доставки ему растровых данных: способ компрессии, прозрачность, цвет подложки в местах, где отсутствуют данные.

Во-вторых, и это, пожалуй, самое главное, на стороне сервера возможно выполнять довольно сложные операции над растровыми данными. Список операций достаточно широк: здесь и растровая алгебра, и преобразования гистограммы, и коррекция яркости снимков с космических аппаратов за неровности рельефа, и смешение каналов, и отмывка рельефа, и простейшая классификация по диапазонам значений яркостей. Растровые данные рассматриваются как поток, над которым выполняется та или иная операция, поэтому в Image Server возможно составлять цепочки или, вернее, – стек таких операций. С таким инструментарием достаточно просто, к примеру, на основе архива снимков Landsat опубликовать на всю организацию несколько сервисов: исходное семиканальное изображение, RGB-изображение с цветами, близкими к натуральным, панхроматические изображения. Такое решение вдвойне удобно, так как нет необходимости в «размножении» данных для каждого сервиса – все эти растры будут создаваться «налету» под каждого клиента, а сами растры физически могут находиться даже на другом файл-сервере, где происходит их периодическое пополнение.

Также необходимо упомянуть, что в качестве программы-клиента помимо приложения ArcMap (все настольные продукты ArcGIS Desktop) могут выступать и программы от других производителей: на данный момент это MapInfo, Bently Microstation, GeoMedia, AutoCad (рис. 4).


Рис. 4.
Получение данных с Image Server в MapInfo.

 

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