Глава 10. Работа с ЦМР
На работу данной команды влияет значение константы LocalDEMDistance, которая задает зону коррекции в шагах сетки (по умолчанию 2). Например, если шаг сетки равен 5 метрам, а LocalDEMDistance=2, тогда корректироваться будут все узлы сетки, которые лежат на расстоянии меньше 10 метров от собранного пикета (или полилинии).
Сгладить
После создания сетки ЦМР каждому ее узлу ставится в соответствие значение корреляции, которое характеризует качество узла. С помощью этой команды высоту узлов с низким значением корреляции можно перевычислить, как среднее значение высоты соседних узлов.
Сгладить с порогом
Вариант предыдущей команды. Перед выполнением сглаживания вычисляется порог, равный среднему значению перепада высот между соседними узлами сетки. После этого для каждой точки, в которой перепад высот превышает порог, применяется сглаживание аналогичное предыдущей команде.
Удалить выбросы
Удаляет недостоверные точки (деревья и тому подобное) и оставляет те, которые предположительно лежат на земле.
Совместить с полигоном
Команда корректирует все точки ЦМР, лежащие внутри полигона. Например, если корреляция построила ЦМР по верхушкам деревьев в лесном массиве, то можно обвести массив полигоном и откорректировать узлы сетки данной командой.
Коррекция выполняется дифференциально, так что форма ЦМР (относительные высоты узлов) внутри полигона сохраняется. Этим команда отличается от команды Выровнять внутри полигона, которая “сажает” все точки ЦМР на среднюю высоту полигона, делая участок плоским.
Поиск истинной земли…
Предназначена для отбрасывания точек, принадлежащих искусственным объектам. Команда запрашивает в диалоге параметры Захват и DeltaZ, которые вводятся через пробел (в метрах).
Параметр Захват определяет размер “окна”, которым сканируется ЦМР и должен быть не меньше, чем размер максимально большого искусственного объекта (здания), содержащегося в модели рельефа. Шаг перемещения окна равен шагу сетки ЦМР.
При сканировании окном, в его пределах отыскивается точка с минимальной высотой. На следующем этапе найденные точки проверяются и отсеиваются те из них, которые имеют перепад высот с соседними минимальными точками больше чем DeltaZ. Таким образом, параметр DeltaZ задает максимально допустимый перепад высот рельефа на отрезке, равном шагу сетки ЦМР. Если перепад высот оказывается больше, то считается, что точка принадлежит искусственному объекту и ее нужно выбросить.
Поверхностный фильтр…
Фильтрует резкие перепады высот: ошибочные выбросы корреляции, а также деревья и небольшие по площади крыши. Работает методом выделения поверхностей (не обязательно горизонтальных). Команда запрашивает в диалоге параметры размера окна Захват, разброса высот DZ и корреляции K%, которые вводятся через пробел.
Для заданного размера окна строится плоскость, в которую наилучшим образом вписываются по высоте все точки. При этом точки, имеющие коэффициент корреляции ниже заданного (обычно 20%), отсеиваются еще до построения. Затем анализируется угол наклона полученной плоскости к горизонту. Если он превышает 45 градусов, то все точки окна отбрасываются. Если уклон меньше 45 градусов, то отсеиваются только те точки, которые по высоте отстоят от плоскости более чем на DZ. Все отброшенные точки сетки заменяются разрывами. Далее окно смешается на один шаг сетки и все повторяется (сканирование сетки выполняется слева направо и сверху вниз).
Поверхностный фильтр является самым надежным из всех. Точек после него остается меньше, чем после других, но все эти точки практически гарантированно лежат на реальных поверхностях - в том числе и на крышах большой площади. Точки на крышах частично удаляет следующий фильтр.
246
Фильтр зданий
Команда запрашивает в диалоге параметры размера окна Захват и разброса высот DZ.
В пределах заданного окна точки разбиваются на группы близкой высоты (высотные слои), отстоящие друг от друга не менее чем на DZ (обычно 2 м). Все слои кроме самого нижнего удаляются.
Обычно Фильтр зданий применяется сразу после команды Поверхностный фильтр…, которая четко структурирует ЦМР “по этажам”. Те точки крыш, которые “выжили” после этих двух фильтров, можно убрать вручную, наведя курсор на точку и нажав Del. Сетка ЦМР должна быть при этом помечена. Это можно делать как в режиме моносбора, так и в стерео. В стерео нужно вручную устанавливать марку на уровень крыши, а в моно это происходит автоматически (в режиме высоты Интерполяция).
Вычитание сеток
Если у вас есть две сетки, узлы которых совпадают в плане, но имеют разные высоты, то данная команда позволяет вычислить разницу высот в каждом узле сетки. Пометьте одну из сеток и выполните команду. Программа автоматически найдет вторую сетку и заменит высоту узлов в помеченной сетке вычисленными значениями разницы высот.
Совместить сетки
Устраняет разницу высот на границе двух соседних сеток. Команда не работает с перекрывающимися сетками, корректируются только точки по границе сеток. Высоты у общих пограничных точек (с одинаковыми координатами X и Y) усредняются и записываются в обе сетки.
Преобразовать в уклоны
Данная функция заменяет значение высоты в каждой точке сетки на значение ее уклона, выраженное в процентах. Построив горизонтали из такой преобразованной сетки, мы получим изолинии, соединяющие точки с равным значением уклона. Карты уклонов применяют для оценки качества пахотных земель.
Для вставки пикетов в узлах сетки ЦМР можно использовать знакомый уже нам инструмент
Добавить узлы, размещенный на боковой панели Правка. Пометьте сетку и активируйте инструмент. Затем выберите опцию Все точки в диалоге Добавление пикетов и нажмите ОК.
Программа распознает в помеченном объекте Сетку ЦМР и предложит ввести процент фильтрации в соответствующем диалоге. Ввод числа 100 означает, что пикеты будут созданы во всех узлах сетки.
Если ввести меньшее значение, например, 5 или 10%, то пикеты будут созданы на соответствующем количестве узлов, имеющих лучшую корреляцию - таким образом можно отфильтровать ошибки в автоматически созданной ЦМР. Далее из полученных (наилучших) узлов можно создать нерегулярный TIN, из которого, в свою очередь, построить горизонтали.
Построение горизонталей
Чтобы построить горизонтали, следует пометить сетку ЦМР или TIN и выполнить команду ЦМР > Горизонтали из ЦМР/TIN…. Перед построением программа запросит в диалоге сечение горизонталей в метрах.
Программа разместит построенные горизонтали на первом по порядку слое. Сразу после построения, не снимая пометки, их следует перевести на нужный слой.
После построения вы можете воспользоваться всеми доступными инструментами программы, чтобы довести горизонтали до окончательного вида. Напомним некоторые возможности:
•Ручное редактирование узлов с возможностью включения режима Автосглаживание на главной панели инструментов.
247
Глава 10. Работа с ЦМР
•Автоматическое сглаживание помеченных горизонталей с помощью Правка > Сгладить.
•Упрощение формы с помощью Карта > Генерализация… или, напротив, добавление точек командой
Правка > Добавить точки….
•Поиск кратных горизонталей с помощью диалога Правка > Найти… с последующим перенесением на слой утолщенных горизонталей.
•Расстановка бергштрихов соответствующим инструментом панели Сбор.
•Вынос подписей высот горизонталей.
Все эти инструменты были рассмотрены в предыдущих главах.
Ниже на Рис.10.1 вы можете видеть пример построения горизонталей из сетки ЦМР и TIN, созданных на основе одного и того же исходного набора пикетов.
Рисунок 10.1. Фрагменты ЦМР и TIN
В дополнение к сказанному, давайте рассмотрим еще несколько полезных команд из меню ЦМР, предназначенных для работы с рельефом:
Интерполировать горизонтали…
Команда предназначена для построения промежуточных горизонталей из уже существующих в карте, например, основных из утолщенных. Пометьте горизонтали, выполните команду и задайте сечение в диалоге. Программа проинтерполирует горизонтали, используя неявно построенную TIN.
Сверить с пикетами…
Используется для сверки горизонталей с пикетами. Пометьте горизонтали, выполните команду и задайте допуск в диалоге. Программа пометит все “подозрительные” пикеты, которые для дальнейшего анализа лучше занести в группу.
Команда Сверить с пикетами… ищет именно пикеты, то есть объекты на слое типа Пикет.
Сверить с горизонталями…
Также используется для сверки пикетов с горизонталями (но может использоваться и для сверки произвольных объектов). Пометьте объекты, выполните команду и укажите допуск. Будут замаркированы точки, отличающиеся от поверхности представленной горизонталями.
248
Совместить с горизонталями
Команда находит пересечение помеченных объектов с горизонталями и заменяет высоту всех точек на высоту, вычисленную по горизонталям. Обычно используется для совмещения с горизонталями рек, ручьев и других водных объектов. Подобного результата можно достичь, применив линейное переприсвоение высот, о котором чуть ниже.
Монотонность по высоте
Обеспечивает монотонность убывания или возрастания высоты точек по ходу объекта, устраняя небольшие разбросы по высоте. Используется для коррекции контуров водных объектов, например рек.
Переприсвоение высот
Отдельно остановимся на команде глобального переприсвоения высот. Данная команда позволяет проинтерполировать все объекты карты на основе объектов, имеющих правильные высоты.
Например, у вас имеется некая векторная карта, оцифрованная без учета высот. При этом во всех объектах, обозначающих горизонтали, у вас имеется параметр, содержащий их высоту. Такая ситуация часто возникает после импорта карты из двумерных форматов, например, из файлов ArcGIS SHP. В этом случае следует:
1.Пометить все горизонтали и скопировать их высоту в фиксированный параметр “Z”. Теперь ваши горизонтали имеют правильные высоты. Если есть еще какие-либо объекты, которым можно присвоить правильную высоту, повторите для них это же действие (например, это могут быть точечные объекты отметок высот).
2.Пометьте все объекты, имеющие правильные высоты (в нашем случае это горизонтали).
3.Выполните команду ЦМР > Переприсвоить высоты. Программа расчитает высоты остальных объектов карты исходя из высот помеченных объектов.
Будьте аккуратны с командой перерисвоения высот. Команда выполняется сразу после вызова, без лишних вопросов и предупреждений. Если в качестве исходных пометить не те объекты, результат будет далек от ожидаемого.
Данный режим включается соответствующей галочкой в группе Общее на закладке Правка диалога настроек программы. По умолчанию он отключен.
Пользуясь этим режимом, вы можете присвоить высоты береговой линии водоема, имея в распоряжении несколько пикетов, обозначающих урез воды. Пикеты должны находиться на полилинии. Далее следует пометить эти пикеты и выполнить команду переприсвоения. Программа найдет проходящую через пикеты полилинию и переприсвоит высоты ее точкам (узлам) с учетом высот помеченных пикетов.
Лучше понять принцип работы поможет демонстрационый ролик2 с сайта разработчиков.
Digitals может похвастаться возможностью, которая встречается далеко не во всех программах подобного класса. Речь идет о возможности просмотра карты в трехмерном виде.
Разумеется, трехмерный просмотр имеет смысл только если карта собирается с учетом высотной составляющей. Если вы просто оцифровываете бумажную карту и не предпринимаете никаких действий для правильного заполнения фиксированного параметра “Z” (то есть не используете интерполяцию или переприсвоение высот), то, вероятнее всего, ваша карта будет “плоской” и просмотр ее в 3D не будет имеет никакого смысла.
Если вы используете для составления карты стереосбор, то дополнительных усилий прилагать скорее всего не придется. Оператор во время сбора обязательно “садит” марку (курсор) по высоте и все объекты приобретают правильные координаты Z. Вместе с тем, в процессе редактирования карты
2 http://geosystema.net/samples/LinearHeights.exe
249
Глава 10. Работа с ЦМР
возможно внесение некоторых ошибок. В этом случае возможность отображения карты в трехмерном виде становится удобным средством визуального контроля правильности сбора.
Чтобы переключить рабочее окно карты в трехмерный вид, воспользуйтесь командой меню Вид > Трехмерный. Для выхода из режима выполните эту команду повторно.
Рассмотрим особенности отображения карты в трехмерном режиме:
•Знаки типа Одиночный символ отображаются в виде точек.
•Подписи объектов карты не отображаются.
•На отображение линейных знаков влияет текущий режим просмотра карты (Черновой, Обычный,
Полный).
•Объекты на слоях типа Сетка ЦМР также отображаются с учетом текущего режима просмотра: в виде точек, в виде сетки или в виде закрашенной поверхности. Кроме этого, при отображении сетки ЦМР можно задействовать режим Высотная раскраска.
Пример отображения сетки приведен на Рис.10.2. Иллюстрации позаимствованы с сайта поддержки программы Digitals.
Рисунок 10.2. Отображение сетки ЦМР в 3D
•На объект типа Сетка ЦМР можно наложить текстуру, то есть фотографическое изображение поверхности. Для этого следует пометить объект сетки, выполнить команду контекстного меню Загрузить текстуру для ЦМР… и указать в диалоге файл ориентированного растра (или ортофотоплан).
•Объекты типа Триангуляционная сеть (TIN) отображаются в виде сетки треугольников. В зависимости от режима просмотра треуольники могут отображаться закрашенными.
•Для изменения масштаба отображения и перемещения карты в рабочем окне можно пользоваться клавишами + (плюс) - (минус), соответствующими кнопками на панели инструментов или колесиком мыши. “Ухватившись” мышью в свободной части рабочего окна, карту можно вращать. Кроме того, из контекстного меню можно включить режим автоматического вращения карты.
•Параметры виртуальной камеры, из которой осуществляется просмотр, также можно настроить из контекстного меню рабочего окна карты.
250