Упражнение 18 Трехмерное моделирование
18.1 Введение
Цель задания — знакомство с трехмерными моделями данных, трехмерной визуализацией и анализом в ГИС
Параметр | Значение |
---|---|
Теоретическая подготовка | Трехмерные модели данных, виртуальное моделирование, анализ цифровых моделей рельефа, построение зон видимости. |
Практическая подготовка | Знание основных компонент интерфейса ArcGIS Desktop (каталог, таблица содержания, карта). Настройка символики и подписей объектов. Создание базы геоданных и классов пространственных объектов. Инструменты геообработки ArcToolbox. Создание компоновки карты: название легенда, масштаб, градусная сетка. |
Исходные данные | База данных ГИС “Сатино”, аэрофотоснимок сверхвысокого разрешения. |
Результат | Трехмерная модель Сатинского учебного полигона, зоны видимости и линии небосвода для двух обзорных точек |
Ключевые слова | Трехмерный анализ и моделирование, цифровые модели рельефа (ЦМР), драпировка снимка |
18.1.1 Контрольный лист
- Добавить на карту ЦМР и отобразить ее методом горизонталей с послойной окраской.
- Подготовить вспомогательные объекты для учета препятствий.
- Преобразовать растровые данные в триангуляционные.
- Визуализировать данные в трехмерной среде (приложение ArcScene).
- Выполнить анализ зоны видимости наблюдательного пункта при разных положениях его высоты.
18.1.2 Аннотация
Трехмерные модели играют важную роль в географических исследованиях. Изучение рельефа и его морфометрических характеристик; моделирование полей распределения физических и химических показателей в океане, атмосфере и почвах; моделирование городской среды и транспортных коммуникаций; моделирование поверхностей небесных тел; имитация чрезвычайных ситуаций и военных действий — это лишь краткий список тех задач, которые решаются с помощью анализа и визуализации 3D-моделей.
Задание посвящено знакомству с трехмерным ГИС-моделированием. Географическая задача, которую вам предстоит решить — это определение зоны видимости в точке с учетом рельефа и физических препятствий, таких как дома и лесные массивы. Анализ зон видимости позволяет определить охват территории доступный для визуального наблюдения.
Зона видимости ограничивается трехмерной линией небосвода (skyline). Чем круче угол направления между точкой наблюдателя и линией небосвода, тем меньше будет открытость небосвода по данному направлению. Общая открытость небосвода характеризует долю видимой части небесной полусферы. Это важный топоклиматический параметр, накладывающий ограничение на объем поступающей прямой солнечной радиации. Как следствие, открытость небосвода учитывается при расчетах таяния снега, моделировании городского климата, оценке пригодности земель для сельского хозяйства.
В процессе занятия вы научитесь работать с растровыми и триангуляционными моделями рельефа, управлять отображением слоев в виртуальной 3D-среде и использовать снимки в качестве текстуры трехмерных моделей, определять зону видимости и визуализировать ее.
18.2 Организация рабочего пространства
Скопируйте данные упражнения в свой рабочий каталог Ex18 с помощью Проводника.
Откройте ArcMap и в нем — окно Catalog (Каталог).
Сохраните документ карты в свой каталог Ex18 под именем Ex18_ЦМР.mxd.
Создайте в домашнем каталоге новую базу геоданных Ex18.
Щелкните по Ex18.gdb правой кнопкой мыши и выберите пункт Make Default Geodatabase чтобы назначить ее базой геоданных по умолчанию.
18.3 Визуализация цифровой модели рельефа
Для того чтобы полноценно моделировать видимость в трехмерном пространстве, необходимо иметь в наличии цифровую модель рельефа, а также и объекты, расположенные на поверхности.
-
Раскройте в домашнем каталоге базу геоданных Satino.gdb и перенесите на карту следующие слои из группы General:
- WaterPolygon (площадная гидрография);
- WaterLine (линейная гидрография);
- Contours (горизонтали);
- DEM (цифровая модель рельефа);
Разместите слои именно в том порядке, в котором они указаны выше.
-
Дважды щелкните на слое Горизонтали. Перейдите на вкладку Display и установите значение прозрачности равным 80% (Рис. 1).
Перейдите на вкладку Symbology и поменяйте цвет горизонталей на черный. Нажмите ОК.
Смените символ слоя Гидрография (линии) на ярко-голубую линию толщиной 1.5 пиксела.
Смените цвет объектов слоя Гидрография (полигоны) на ярко-голубой.
Переименуйте слой DEM в таблице содержания в ЦМР.
Дважды щелкните на слое ЦМР, перейдите на вкладку Symbology и нажмите Classify…, чтобы сменить метод классификации.
-
В появившемся диалоге выберите режим Defined Interval (заданный вручную интервал) и установите величину интервала равной 4 метрам. Окно классификации примет вид, аналогичный Рис. 2.
Нажмите ОК чтобы закрыть диалог классификации высот.
-
Выберите цветовую шкалу, близкую по гамме к гипсометрической. Окно карты примет вид, аналогичный представленному на Рис. 3.
Снимок экрана №1. Цифровая модель рельефа долины реки Протвы
18.4 Подготовка вспомогательных цифровых моделей для учета препятствий
При расчете зоны видимости важно учитывать, что на поверхности расположены разные объекты, в том числе здания и растительность. Чтобы учесть объект в качестве препятствия, есть два пути: представить его в виде трехмерного тела, либо внедрить в качестве неровности в цифровую модель рельефа. Для растительности вам предлагается воспользоваться вторым вариантом. Алгоритм состоит из двух шагов:
преобразовать слой растительности в растр, каждый пиксел которого хранит значение высоты растительности;
прибавить полученный растр к растру ЦМР; там, где леса нет, высота ЦМР сохранится; на залесенных участках к ней прибавится высота растительного покрова.
Найдите слой VegTypes в базе данных Satino.gdb и добавьте его на карту.
Дважды щелкните на слое Растительность и перейдите на вкладку Symbology.
-
Выберите тип отображение Quantities > Graduated Colors. В качестве поля отображения укажите поле Высота. Выберите шкалу от светло-зеленого к темно-зеленому. Диалог примет вид, аналогичный представленному на Рис. 4:
-
Нажмите ОК. Окно карты примет следующий вид (Рис. 5):
Откройте ArcToolbox и запустите инструмент Conversion Tools > To Raster > Polygon to Raster.
Выберите в качестве входных данных Input Features слой Растительность.
В списке Field выберите поле Height — значение, хранящееся в нем, будет присвоено каждой ячейке растра.
-
Установите параметр Cell size равным 2,5 метра. Остальные параметры оставьте по умолчанию. Диалог инструмента примет вид, аналогичный представленному на Рис. 6:
Нажмите ОК, чтобы запустить выполнение инструмента.
Полученный слой переименуйте в Высота растительности.
Запустите инструмент Spatial Analyst Tools > Math > Plus, осуществляющий сложение растров.
Выберите в качестве первого растра ЦМР, в качестве второго — Высота растительности.
-
Назовите выходной класс DEM_Veg. Диалог примет следующий вид (Рис. 7).
Нажмите ОК.
После того, как полученный слой добавится на карту, назовите его ЦМР+.
-
Перенесите слой ЦМР+ под гидрографию. Обратите внимание на резкие перепады яркости изображения, обусловленные внедрением объектов растительности.
18.5 Преобразование растровых моделей в триангуляционные
До этого момента вы использовали растровые модели, которые удобны для вычислений. Их также можно использовать и в трехмерной среде. Однако, чтобы обеспечить максимальную производительность и качество визуализации, растровые модели желательно преобразовать в триангуляционные, поскольку именно на них основаны методы трехмерной визуализации.
Запустите инструмент геообработки 3D Analyst Tools > Conversion > From Raster > Raster to TIN.
В качестве Input Raster выберите ЦМР.
В поле Output TIN назовите выходной слой tin.
-
Параметр допуска по высоте Z Tolerance установите равным 0,25 метров.
Параметр Z Tolerance управляет чувствительностью триангуляционной модели к неровностям поверхности. Если величина неровности больше, чем указанный порог, она будет выражена в виде набора треугольников. В нашем случае сечение исходных горизонталей было 2 метра, а вспомогательных горизонталей — 1 м. Точность положения горизонталей — ¼ сечения. Следовательно, значение порога, равное 0,25 метра позволит сохранить все нюансы поверхности.
Максимальное количество точек Maximum Number Of Points увеличьте до 3 000 000 (три миллиона). Это значение подобрано для вас эмпирически.
-
Множитель по высоте Z factor оставьте равным 1. Окно инструмента примет вид, аналогичный представленному на Рис. 9.
Нажмите ОК, чтобы запустить преобразование.
Повторите процедуру преобразования для слоя ЦМР+. В диалоге инструмента назовите выходной слой tin+.
Полученный слой tin+ поместите в таблице содержания так, чтобы он был под слоями гидрографии. Все слои, кроме tin+ и гидрографии отключите.
Дважды щелкните на слое tin+ и перейдите на вкладку Symbology.
Выберите в списке слева метод отображения Edge Types — он отвечает за показ ребер триангуляции.
Щелкните внизу на кнопку Add All Values, чтобы добавить к отображению все типы ребер.
Исправьте цвет стандартного ребра Regular Edge на черный и нажмите ОК.
-
Приблизьтесь к лесному массиву в центральной части карты к северу от Протвы. Окно карты примет вид, аналогичный представленному на (Рис. 10).
Проанализируйте свойства триангуляционной модели. Является ли плотность треугольников и их размеры постоянными? Обратите внимание, как сгущается сетка на участках с большой кривизной поверхности.
Сохраните документ карты и сверните окно.
Снимок экрана №2. Триангуляционная модель рельефа долины реки Протвы с лесным массивом
18.6 Визуализация данных в трехмерной среде и знакомство с приложением ArcScene
Несмотря на то, что анализ зон видимости можно проводить и в традиционной двумерной среде, более наглядно результат выглядит в трехмерной сцене, особенно когда есть несколько местоположений наблюдателя с разными высотами.
Для работы в трехмерной среде в ArcGIS используется приложение ArcScene. Это инструмент визуализации, анализа и редактирования трехмерных данных.
Откройте приложение Пуск—Программы > ArcGIS > ArcScene.
Сохраните сразу же документ сцены в свой каталог Ex18 под названием Ex18_3D.sxd.
Раскройте домашнюю директорию в окне Каталога, щелкните правой кнопкой мыши на базе геоданных Ex18.gdb и выберите пункт Make Default Geodatabase, чтобы назначить ее базой геоданных по умолчанию, если это еще не сделано.
-
Откройте панель инструментов Tools и обратите внимание на то, что она несколько отличается от привычной вам панели инструментов в Аркмапе. Самый первый инструмент используется для вращения сцены.
-
Добавьте на карту слой PhotoPlan из базы геоданных Satino.
Обратите внимание на то, что снимок отображается плоским. Системе известна лишь информация о цвете каждого пиксела, но не о его высоте.
Откройте свойства слоя и перейдите на вкладку Base Heights (базовые высоты).
Установите параметр Elevation from surfaces в положение Floating on a custom surface.
Нажмите кнопку обзора каталогов и укажите модель tin+ в качестве источника высот.
На вкладке Symbology в группе Stretch установите параметр Type равным None. Этот параметр отвечает за растяжку гистограммы, которая в случае фотоснимка не нужна.
Перейдите на вкладку Display и установите параметр Resample during display using равным Cubic Convolution (кубическая свертка). В этом режиме изображение будет всегда сглаживаться независимо от масштаба сцены.
Перейдите на вкладку Rendering поставьте галочку Shade areal features relative to the scene’s light position. В этом режиме снимок на снимок будет накладываться тень в соответствии с параметрами освещения сцены.
-
На той же вкладке в группе настроек Optimize переместите ползунок Quality enhancement for raster images в крайнее правое положение для того чтобы снимок отображался в максимальном качестве. Диалог настройки слоя примет вид, аналогичный представленному на Рис. 12.
Нажмите ОК в настройках слоя. Вам придется подождать некоторое время, пока снимок драпируется на поверхность модели.
Добавьте на карту слои WaterLine и WaterPolygon из базы геоданных Satino и переместите их наверх таблицы содержания.
Откройте свойства слоя Гидрография (полигоны) двойным щелчком.
Перейдите на вкладку Symbology и смените цвет заливки на ярко-голубой, и уберите обводку (поставьте No Color).
Перейдите на вкладку Display и установите прозрачность слоя (Transparency) равной 30%.
Перейдите на вкладку Base Heights и установите параметр Elevation from surfaces в положение Floating on a custom surface. Нажмите кнопку обзора каталогов и укажите в качестве источника модель tin.
Нажмите ОК в свойствах слоя.
-
Настройте аналогичным образом слой Гидрография (линии), сменив цвет линии на голубой и включив опцию Floating on a custom surface.
Полученная сцена имеет один недостаток: необходимо увеличить масштаб по высоте, чтобы изображение стало более наглядным.
Дважды щелкните в таблице содержания на заголовке Scene Layers и установите параметр Vertical Exxageration равным 3. Нажмите ОК.
-
Окно приложения примет вид, аналогичный представленному на Рис. 13.
Что изменилось в сцене после установки параметра Vertical Exxageration? Как он влияет на отображение слоев?
18.7 Визуализация трехмерных объектов: геодезические пункты и здания
В сцену необходимо добавить здания, которые играют роль дополнительных препятствий и геодезические пункты, с которых производятся наблюдения. До этого момента вы пользовались функцией драпировки объектов на поверхность. Здания и геодезические пункты, напротив, хранятся в базе данных как трехмерные объекты.
Добавьте на карту слой Geopoints_3D из базы данных Satino.
Дважды щелкните на слое Геодезические пункты 3D в таблице содержания и на вкладке Symbology щелкните на кнопку с изображением символа.
В открывшемся диалоге нажмите кнопку Style References, чтобы подгрузить дополнительные символы.
-
Отметьте в списке набор символов 3D Industrial (Рис. 14) и нажмите ОК.
-
Найдите в таблице символ WatchTower 1, выберите его и установите размер 40 пикселов. Диалог настройки символа примет вид, аналогичный представленному на Рис. 15.
Нажмите ОК, чтобы завершить настройку символа для геодезического пункта.
Добавьте на карту слой Buildings_3D из базы данных Satino. Это трехмерные объекты типа Multipatch, у которых была заранее определена высота.
-
Приблизьтесь к участку поймы между деревнями Дедюевка и Рыжково. Окно приложения примет вид, аналогичный представленному на Рис. 16.
Снимок экрана №3. Визуализация исходных данных для анализа зон видимости: рельеф, снимок, геодезические пункты и трехмерные здания
18.8 Анализ зоны видимости наблюдательного пункта
Зона видимости строится для определенной точки в трехмерном пространстве. В качестве наблюдательных точек удобно использовать геодезические пункты. Сначала вы определите зону видимости с точки, расположенной на земле, а затем приподнимете ее на несколько метров, чтобы понять, как изменится зона видимости.
Откройте атрибутивную таблицу слоя Геодезические пункты 3D и выделите строку с геодезическим пунктом Старое русло. Строка должна выделиться ярко-голубым цветом.
Запустите инструмент геообработки 3D Analyst Tools > Visibility > Skyline, который строит линию небосвода.
В качестве слоя точек наблюдений Input Observer Point Features выберите Геодезические пункты 3D. Поскольку вы выделили объект в таблице этого слоя, линия небосвода будет рассчитана только для него, а не для всех объектов.
В поле Input Surface выберите поверхность tin+ с помощью обзора каталогов.
Из списка препятствий Input Features выберите слой Здания 3D. Диалог инструмента и окно приложения примут вид, аналогичный представленному на Рис. 17.
-
Нажмите ОК, чтобы запустить расчеты.
После того, как результат будет добавлен в таблицу содержания, смените его название на Линия небосвода (Старое русло) и смените символ на ярко-желтую линию.
Запустите инструмент 3D Analyst Tools > Visibility > Skyline Barrier, который строит трехмерную зону видимости на основе линии небосвода.
Выберите в качестве Input Observer Point Features слой Геодезические пункты 3D.
В качестве Input Features выберите слой Линия небосвода (Старое русло).
Установите галочку Closed, чтобы сформировать боковые стенки зоны видимости.
Остальные параметры оставьте по умолчанию.
Нажмите ОК, чтобы запустить расчеты.
После того, как результат добавится в таблицу содержания, переименуйте его в Зона видимости (Старое русло).
-
Смените цвет слоя зоны видимости на ярко-желтый и установите прозрачность слоя равной 50%. Окно приложения примет вид, аналогичный представленному на Рис. 18:
Снимок экрана №4. Результат расчета зоны видимости пункта Старое русло
Проанализируйте результат. Приблизьтесь поближе, чтобы рассмотреть полученные границы. Как ведет себя линия небосвода при встрече с препятствиями?
18.9 Изменение высоты наблюдения
Рассмотрим теперь, как изменится зона видимости, если переместиться в пункт, расположенный более высоко.
Выберите в таблице атрибутов слоя Геодезические пункты 3D строку Дедюевка. Строка должна выделиться ярко-голубым цветом.
Запустите инструмент Skyline еще раз для построения линии небосвода.
В параметр Input Observer Point Features подставьте слой Геодезические пункты 3D.
В поле Input Surface выберите поверхность tin+ с помощью обзора каталогов.
Из списка препятствий Input Features выберите слой Здания 3D. Остальные параметры оставьте по умолчанию и запустите инструмент.
Получившийся слой переименуйте в Линия небосвода (Дедюевка) и смените его символ на ярко-красную линию.
Запустите снова инструмент Skyline Barrier для построения зоны видимости.
Выберите в качестве Input Observer Point Features слой Геодезические пункты 3D.
В качестве Input Features выберите слой Линия небосвода (Дедюевка).
Установите галочку Closed, чтобы сформировать боковые стенки зоны видимости.
Остальные параметры оставьте по умолчанию и запустите инструмент, нажав ОК.
Переименуйте получившийся слой в Зона видимости (Дедюевка), смените его цвет на розовый и установите прозрачность равной 50%.
Отключите слои Линия небосвода (Старое русло) и Зона видимости (Старое русло).
-
Нажмите глобус, чтобы вся сцена поместилась на в окне просмотра (Рис. 19).
Снимок экрана №5. Результат расчета зоны видимости пункта Дедюевка
Проанализируйте, как изменилась зона видимости после выбора более высокой точки.
Сохраните документ сцены еще раз. Положите ваш отчетный файл в сетевую папку преподавателя.
18.10 Контрольные вопросы
Опишите сути и отличия растровой и триангуляционной моделей рельефа
На что влияет параметр допуска по высоте (z tolerance) при преобразовании растровой модели в триангуляционную?
Каким эффектом обладает параметр преувеличения по высоте (vertical exxageration) применительно к цифровой модели рельефа? Меняет ли этот параметр сами цифровые данные о высотах?
Какие действия необходимо выполнить для того чтобы положить снимок на трехмерную цифровую модель рельефа?
Что такое линия зона видимости и линия небосвода? Как они соотносятся?
Как влияет высота точки наблюдения на конфигурацию зоны видимости?