Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по ГИС.doc
Скачиваний:
2
Добавлен:
01.04.2025
Размер:
2.66 Mб
Скачать

Особенности моделирования в гис

При моделировании в ГИС можно выделить следующие програм­мно-технологические блоки:

  • операции преобразования форматов и представлений данных;

  • проекционные преобразования;

  • геометрический анализ;

  • оверлейные операции;

  • функционально-моделирующие операции.

Операции преобразования форматов и представлений данных

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

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

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

Операции преобразования данных из растрового представления в векторное (векторизация) - одни из наиболее важных при обработке про­странственно-временных данных в ГИС.

В технологическом плане преобразование от растра к вектору для ГИС означает переход от полевого представления данных к объектному.

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

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

Векторные представления по сравнению с растровыми обладают ря­дом преимуществ:

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

при хранении на компьютере векторные файлы занимают меньший (в 100 - 1000 раз) объем памяти, чем растровые оригиналы;

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

Векторные изображения обычно создаются и редактируются с по­мощью специальных программ - графических редакторов. Такой редак­тор входит в состав всех инструментальных ГИС-систем. Тем не менее существует большое число специализированных программ - вектори­заторов.

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

Программы-векторизаторы в основном ориентированы на автома­тизацию процесса векторизации растрового изображения. Ручной ре­жим в них вводится для коррекции векторизованного изображения, попученного в автоматическом режиме. Вот некоторые из таких программ-векторизаторов: AUDREO (па), AUTOVECT(pп), AutoVEC (pпa), CADOverlay (p), ColorFast (a), DIGI Map (pпa), EasyTrase (pп), I / EOVEC (pп), I / VEC (a), MapEDIT (рп), РОСКВIТ (a), Spotlight (pп), TRACK(pпa), Vectory(pa), WinGlS (p), Вектометр (рпа), ИНТЕЛВЕК (pпa), ЦКМ-век-торизатор (рпа).

Буквы в скобках обозначают: р - ручной; п - полуавтоматический; а — автоматический режимы векторизации.

Программы-векторизаторы отличаются друг от друга следующими параметрами:

видом управляющей операционной системы;

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

требуемым качеством векторизации растра;

наборами фильтров ( тематическими);

возможностью и методами редактирования исходного растрового изображения;

видом графической оболочки, посредством которой оператор осу­ ществляет управление векторизатором.

Векторизация позволяет преобразовать растровые изображения, хра­нящиеся в растровых файлах, в векторные рисунки и сохранять их в векторных файлах.

Задачей преобразования является не только получение векторного образа, практически идентичного исходному растровому, но и сохране­ние в распознанном векторном объекте геометрических связей растро­вых аналогов при максимальной информативности векторного образа.

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

Векторизация может быть грубой (быстрой), например применяет­ся алгоритм для векторизации растровых аналогов линий с углом накло­на, кратным 45°.

Для векторизации ареальных объектов растрового изображения при­меняют известный фильтр типа outline, который векторизует границы в виде контура.

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

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

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

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

В основу векторного преобразования положен набор процедур, со­здающих векторный аналог растрового изображения и применяющих свой алгоритм векторизации.

В процессах автоматизированного преобразования растрового изоб­ражения в векторное применяют ряд специальных терминов:

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

векторная форма представления изображений - совокупность векторных объектов и векторных файлов;

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

векторный рисунок - совокупность векторных объектов;

векторный файл - файл, содержащий информацию о векторном рисунке;

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

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

рабочая область - прямоугольный фрагмент растрового изобра­ жения, который обрабатывается программой, задается пользователем. Основное назначение рабочей области — выделение фрагмента изобра­ жения, в котором происходит векторизация;

'растровое изображение (монохромное) - изображение, представ­ляющее собой двухмерный массив точек, каждая из которых имеет чер­ный или белый цвет;

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

табличная область - задаваемая пользователем прямоугольная область растрового изображения, используется для модификации про­ цесса распознавания тех частей растрового изображения, которые со­ держат таблицы;

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

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

текущий алгоритм фильтрации;

фильтр - алгоритм, используемый в процедуре фильтрации;

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

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

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

Режим ортогональности позволяет строить линии вертикально и го­ризонтально, с помощью специальных опций проводить их перпенди­кулярно или параллельно другим.

Растровые изображения обрабатывают, добавляя или стирая части бинаризованного изображения на экране компьютера.

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

Некоторые программы-векторизаторы позволяют производить рас­познавание наборов растровых файлов в пакетном режиме.

Как правило, программы-векторизаторы обрабатывают бинарные изображения, представленные двухмерным массивом точек, каждая из которых имеет черный или белый цвет. Эти точки называются растро­выми точками^ Бинарные растровые изображения создаются с помощью конвертеров или специальных программ обработки изображений. При­мером такой программы может служить широко известный редактор PhotoFinish.

Когда растровое изображение выводится на монитор компьютера, каждый пиксель экрана соответствует определенному количеству рас­тровых точек изображения. Цвет пикселя будет черным или белым в за-

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

При векторизации можно управлять режимом показа растрового изображения, используя команды управления экраном. Например, ус­тановка режима просмотра "один в один" означает, что программа отобразит каждую точку растрового изображения одним пикселем экрана.

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

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

Анализ растра почти всегда позволяет определять, какая его часть изображает линию или дугу» контур или ареал. Это достигается на осно­ве использования векторных аналогов.

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

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

Распознавание векторных объектов на растровых ( векторизация) представляет собой автоматическую процедуру поиска растровых ана­логов заданного набора векторных примитивов с последующим преоб­разованием их в векторные объекты.

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

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

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

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

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

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

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

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

К этой же группе операций относят сжатие или развертку растро­вых данных, основанных на алгоритмах кодирования и компрессии, раз­биения на слои, фрагментации или дефрагментации слоев.

Примером системы, осуществляющей преобразование в растровый формат, может служить продукт фирмы ESRI ArcPress. Это програм­мный растеризатор, преобразующий векторную, растровую или смешан­ную векторно-растровую графику в формат растрового устройства вы-

вода, растр заданного разрешения и размера. Он обеспечивает быструю распечатку карт и изображений на растровых устройствах вывода, та-ких, как струйные и электростатические плоттеры.

В качестве входных данных он может использовать как графичес­кие метафайлы в стандартах ESRI, так и файлы других систем в форма­тах CGM, PostScript (Level 1, Level 2). На выходе ArcPress могут быть получены растровые форматы для направления на устройство вывода и для экспорта в другие форматы, использующиеся для обмена (TIFF, PBM, PCX BW, BMP, BIT).

ArcPress выполняет программную растеризацию непосредственно на рабочей станции, используя ее ресурсы памяти. Это позволяет обой­тись без добавления памяти в плоттер стандартной конфигурации (осо­бенно при выводе на большие форматы), одновременно распечатывать один файл и растеризовать другие, исключить ограничения на размер файла для устройства вывода.