3D является неотъемлемой частью ArcGIS Pro. Любую 2D карту можно конвертировать в 3D сцену для визуализации данных, изучения или анализа. В ArcGIS Pro это 3D-карта называется сценой. Сцену можно просматривать в глобальном или локальном режиме. В глобальном режиме карта отрисовывается на глобусе, и ваша точка обзора обычно находится за тысячи километров от данных. В локальном режиме карта отрисовывается в перспективе, и ваша точка обзора обычно находится на расстоянии нескольких километров от данных.
Обзор
- Продолжительность видео: 2:35
- Это видео было создано с помощью ArcGIS Pro 2.3.
В этом упражнении вы будете конвертировать 2D-карту в 3D-сцену и работать со свойствами 3D отображения.
- Предполагаемое время: 30 минут
- Требования к программному обеспечению: ArcGIS Pro
Примечание:
Шаги руководства в онлайн-справке соответствуют внешнему виду и возможностям текущей версии программного обеспечения. Если у вас более ранняя версия программного обеспечения, то для того, чтобы открыть это руководство пользователя, используйте автономную справочную систему. Чтобы переключиться из онлайн справочной системы в автономную, ознакомьтесь с главой Задание источника справки в разделе Об ArcGIS Pro. Если у вас нет ArcGIS Pro, можно подписаться на ArcGIS Pro.
Открытие проекта
Область изучения - округ Келбурн в Веллингтоне, Новая Зеландия. Исходная карта может быть вам знакома, если вы выполнили руководство Импорт документа ArcMap.
- Запустите ArcGIS Pro и выполните вход, если необходимо.
- На начальной странице под разделом с недавними проектами щелкните Открыть другой проект.
Примечание:
Если у вас в приложении есть открытый проект, щелкните вкладку Проект на ленте. В списке элементов меню слева щелкните Открыть. На странице Открыть щелкните Портал и выберите Открыть другой проект внизу страницы.
- В диалоговом окне Открыть проект в разделе Портал нажмите ArcGIS Online .
Примечание:
Если вместо этого вы видите ArcGIS Enterprise , необходимо добавить подключение к порталу или задать активный портал как ArcGIS Online. Или можно загрузить учебные данные через браузер.
- Вверху диалогового окна в поле Поиск введите Упражнение Конвертация карты в сцену и нажмите Enter.
- В списке результатов поиска щелкните Конвертация карты в сцену, чтобы выбрать пакет проекта.
Примечание:
Если под этим именем есть несколько пакетов проекта, посмотрите на столбец Владелец. Выберите элемент с именем владельца ArcGISProTutorials. Если вы не получаете никаких результатов, см. Нет результатов поиска.
- Нажмите OK.
Откроется проект с видом карты, отображающим пригород Кельбурн. Слои, представляющие пешеходные дорожки, дороги и зоны, отображаются на базовой карте темно-серого цвета.
Примечание:
По умолчанию пакеты проектов распаковываются в папку <User Documents>\ArcGIS\Packages. Вы можете изменить это местоположение в Опциях публикации и загрузки.
Создание сцены из карты
В ArcGIS Pro это 3D-карта называется сценой. Сцену можно просматривать в глобальном или локальном режиме. В глобальном режиме карта отрисовывается на глобусе, и ваша точка обзора обычно находится за тысячи километров от данных. Этот вид лучше всего подходит для больших изучаемых областей. В локальном режиме карта отрисовывается в перспективе, и ваша точка обзора обычно находится на расстоянии нескольких километров от данных. Этот вид лучше подходит для небольших областей.
В этом проекте область интереса очень невелика. Вы конвертируете карту в локальную сцену.
- Щелкните вкладку Вид на ленте. В группе Окна щелкните Сбросить панели и выберите Сбросить панели для картографирования.
При этом открываются панели Содержание и Каталог, остальные панели остаются закрытыми.
- На вкладке Вид в группе Вид щелкните Конвертировать . В ниспадающем меню выберите В локальную сцену .
Карта конвертируется в сцену Kelburn_3D. Значок локальной сцены появится на вкладке вида сцены.
Примечание:
Вы можете просмотреть любую сцену как локальную или глобальную, нажав кнопку Глобальная или Локальная в группе Вид на вкладке Вид.
Локальные сцены поддерживают системы координат проекции. Например, в этой сцене используется система координат NZGD 2000 New Zealand Transverse Mercator (как и на карте 2D Kelburn). Глобальные сцены не поддерживают системы координат проекции. Они используют географическую систему координат WGS 1984.
На панели Содержание, слои карты скопированы в сцену. Внизу панели находится категория Поверхности высот со слоем поверхности земли под именем WorldElevation3D/Terrain3D. (Разверните заголовок Земля, чтобы увидеть слой.) Этот слой обеспечивает значения высот для 2D слоев карты, чтобы они могли отображаться в 3D пространстве.
WorldElevation3D/Terrain3D - это поверхность высот на всю территорию земного шара. Она состоит из нескольких карт высоты с разным разрешением и детализацией. В Новой Зеландии ее разрешение составляет примерно 31 метр, т.е. одно значение высоты на каждые 961 кв. м площади (квадрат со стороной 31 м).
Чтобы увидеть разрешение WorldElevation3D/Terrain3D и источник данных для любой точки мира, откройте карту Elevation Coverage.
С текущей перспективы сцена не выглядит полностью 3D, но попробуйте изучить ее с других перспектив.
- На ленте щелкните вкладку Карта. В группе Навигация убедитесь, что выбран инструмент Изучить .
- Используйте кнопки и колесико мыши, чтобы перемещаться, поворачивать и масштабировать сцену. Можно также воспользоваться навигатором на экране в левом нижнем углу сцены.
Если вы потеряли ориентацию, используйте Закладки на вкладке карта, чтобы вернуться к знакомой перспективе. Справку по 3D навигации можно найти в разделе Навигация в 3D или в руководстве Навигация по картам и сценам.
Темно-серая базовая карта скрывает 3D эффект, поэтому следует изменить ее.
- На вкладке Карта в группе Слой щелкните Базовая карта . В списке базовых карты щелкните Улицы.
Теперь вы измените некоторые свойства поверности высот.
- На панели Содержание в разделе Поверхности высот щелкните Земля.
На ленте появится контекстная вкладка Поверхность высот.
- В разделе Поверхность высот щелкните вкладку Оформление.
- В группе Рисование для Вертикального преувеличения введите 1.25 и нажмите Enter.
Вертикальное преувеличение - это визуальный эффект, который повышает 3D представление сцены.
- В группе Поверхность, отметьте опцию Тень относительно положения источника света.
Это позволит добавить к рельефу тени, зависящие от текущих параметров освещения сцены. Однако по умолчанию высота солнца составляет 90 градусов (прамо над головой), поэтому тени отсутствуют. Вы измените параметры освещенности, которые являются свойством сцены, а не поверхности высот.
- На панели Содержание щелкните правой кнопкой имя сцены Kelburn_3D и выберите Свойства .
- В диалоговом окне Свойства карты щелкните вкладку Освещение.
- В разделе Освещение измените Высоту на 60 и нажмите Enter.
- Нажмите OK.
- Просмотр сцены с нескольких перспектив.
- На панели Содержание снимите отметку для WorldElevation3D/Terrain3D.
Сцена будет перерисована, слои карты станут плоскими. Слой поверхности высот должен быть включен, чтобы его значения высот действовали.
- Поставьте отметку для WorldElevation3D/Terrain3D, чтобы снова включить его.
- На Панели инструментов быстрого доступа нажмите на кнопку Сохранить , чтобы сохранить проект.
Добавление слоёв в сцену
Вы добавите два новых слоя в сцену и назначите для них символы. Один слой – здания в пригороде Кельбурн. Этот слой имеет атрибут, который вы будете использовать для вытягивания зданий, чтобы визуализировать их высоту. Другой слой – границы пригородов Веллингтона. Наборы данных для этих слоёв хранятся в базе геоданных проекта.
- На панели Каталог на вкладке Проект раскройте Базы данных. . Разверните базу convert_a_map_to_a_scene.gdb.
- Щелкните класс пространственных объектов Buildings, чтобы выбрать его. Нажмите клавишу Ctrl и щелкните класс пространственных объектов Suburb_Boundaries, чтобы выбрать и его.
- Щелкните правой кнопкой мыши любой из выбранных классов и нажмите Добавить к текущей карте .
Слои добавятся в сцену с символами по умолчанию. Слой Suburb_Boundaries имеет цветовую заливку. Вы примените символ для заполнения пустот и выберите другой цвет границы.
- На панели Содержание щелкните символ для слоя Suburb_Boundaries.
На панели Символы появились опции для настройки полигональных символов.
- В верхней части панели щелкните вкладку Свойства. Убедитесь, что выбрана вкладка Символ .
- В Оформлении щелкните стрелку ниспадающего меню Цвет и выберите Нет цвета.
- Щелкните стрелку ниспадающего меню Цвет контура и выберите Cordovan Brown.
- Измените значение Ширины контура на 1,5 pt и нажмите Enter.
- В нижней части панели щелкните Применить.
Теперь вы видите границы Кельбурна и других пригородов Веллингтона.
- На панели Содержание щёлкните символ слоя Buildings.
Вы выберите символ, созданный специально для зданий.
- В верхней части панели Символы щелкните вкладку Галерея.
- В поле поиска введите building и нажмите Enter.
- В списке символов стиля ArcGIS 2D щелкните символ Building Footprint.
На панели Содержание и в сцене символ будет обновлен. Но здания пока плоские на поверхности. Вы будете вытягивать их, используя значения высот в таблице атрибутов слоя.
- На панели Содержание щелкните правой кнопкой мыши слой Buildings и щелкните Таблица атрибутов .
Поле Approximate Height содержит информацию о высоте каждого из строений относительно уровня поверхности земли в метрах.
Примечание:
В таблице также имеется поле Base Elevation, где хранится значение высоты (z-значение) каждого объекта. Однако сейчас слой не использует эту информацию для размещения объектов в 3D пространстве. Как и другие слои в сцене, слой Buildings использует значения с поверхности высот WorldElevation3D/Terrain3D.
- Закройте таблицу. На панели Содержание убедитесь, что слой Buildings выбран.
- На ленте, под заголовком Векторный слой, щелкните вкладку Оформление.
- В группе Вытягивание щелкните кнопку Тип и выберите Максимальная высота .
- Рядом с пунктом Тип щелкните ниспадающее меню Поле и выберите Приблизительная высота.
Каждое здание теперь вытянулось по значению примерной высоты из таблицы. В качестве единиц измерения вытягивания используются метры, что верно для этого слоя.
Примечание:
Вы применили вытягивание к максимальным высотам объектов (Максимальная высота). Чтобы представить, что это означает, представьте прямоугольное здание, определенное четырьмя векторами, которые лежат на уклоне. Максимальная высота объекта – это высота вершины, которая имеет высочайшую точку на склоне. Минимальная высота объекта – это высота вершины, которая имеет самую низкую точку на склоне. Все четыре вершины вытягиваются на одинаковую высоту, поэтому крыши зданий получаются плоскими. Объекты, вытянутые по максимальной высоте, слегка выше, чем вытянутые по минимальной (если только здания не расположены на плоском склоне). Более подробно о вытягивании см.Вытягивание объектов до 3D-символов.
На панели Содержание слой Buildings переместился из категории 2D-слои в категорию 3D-слои, поскольку вытягивание является 3D-свойством слоя.
- На панели инструментов быстрого доступа нажмите кнопку Сохранить .
В следующем разделе вы добавите другую поверхность высот в сцену, чтобы предоставить более детальный рельеф пригорода Кельбурн.
Добавление другой поверхности высот к сцене
Поверхность высот - это набор растровых или TIN-данных (или веб-сервис высот, созданный из растрового набора данных), в котором хранятся значения высот для непрерывной географической области. Разрешение поверхности может быть высоким или низким. Поверхности, покрывающие большие области, обычно имеют более низкое разрешение (с меньшей детализацией), чем поверхности для небольших областей. WorldElevation3D/Terrain3D является поверхностью с низким разрешением.
К поверхности высот можно добавить несколько слоев. Например, слой с высоким разрешением может обеспечивать значения высот для небольшой области интереса, а слой с низким разрешением - для окружающих областей.
В этом разделе вы добавите второй слой высот. Этот слой покрывает экстент района Kelburn с разрешением 1 метр. Слои карты будут использовать значения высот слоя с высоким разрешением там, где они доступны.
В большинстве сцен поверхность высот соответствует земле - топографии поверхности земли. Однако поверхности могут отображать и другую топографию, например, дна пещеры или озера, если у вас есть подходящие данные. Более подробно о пользовательских поверхностях высот см. в разделе Поверхности высот.
- На панели Содержание, в разделе Поверхности высот, щелкните Земля правой кнопкой мыши и выберите Добавить источник высот .
- В окне Добавить источник высот перейдите к Проект > Базы данных > convert_a_map_to_a_scene.gdb. Щелкните Elevation_Kelburn, чтобы выделить его.
- Нажмите OK.
На панели Содержание слой Elevation_Kelburn добавлен над слоем WorldElevation3D/Terrain3D. Слои карты используют значения из Elevation_Kelburn, если карта соотносится со слоем высот; там, где слои карты выходят за пределы Elevation_Kelburn, они используют значения высот из WorldElevation3D/Terrain3D. (В этой сцене все слои карты, за исключением Suburb_Boundaries, полностью соотносятся с Elevation_Kelburn.)
Примечание:
Слои высот используются в том порядке, в котором они расположены на панели Содержание. Поэтому, следует размещать слои с высоким разрешением над слоями с низким. Вы можете перетаскивать слои вверх или вниз в пределах категории Поверхности высот.
- На панели инструментов быстрого доступа нажмите кнопку Сохранить .
Замена источника высот слоя
Слой карты является 3D-слоем, если в нем хранятся z-значения, как часть геометрии. Вы можете опознать 3D слой по полю Shape в атрибутивной таблице: на конце значений будет указана буква Z, например, PointZ, PolylineZ или PolygonZ. По умолчанию, для отображения в 3D пространстве используются собственные 3D значения слоя.
Слой карты является 2D-слоем, если в нем отсутствуют z-значения, как часть геометрии. Для отображения в 3D пространстве используются значения поверхности высот сцены.
Слой Buildings является 2D слоем. Однако он отличается от других 2D слоев сцены, поскольку в нем хранятся значения высот, но не как часть геометрии, а в виде поля. В этом разделе вы измените источник высот слоя Buildings на это атрибутивное поле, вместо использования значений поверхности высот.
- На панели Содержание щелкните правой кнопкой мыши слой Buildings и щелкните Таблица атрибутов .
Значениями в поле Shape являются Polygon, а не PolygonZ. Это подтверждает, что слой является 2D. Однако высота каждого объекта хранится в поле Base Elevation. (Слой находится в списке 3D слои на панели Содержание, поскольку его объекты вытянуты.)
- Закройте таблицу атрибутов.
- На панели Содержание щелкните правой кнопкой слой Buildings и выберите Свойства .
- Щелкните вкладку Высота в диалоговом окне Свойства слоя.
Объекты настроены на отображение на земле, т.е. на использование значений с поверхности высот сцены. Это используется по умолчанию для всех 2D слоев карт.
- Щелкните стрелку ниспадающего меню Объекты на и выберите На абсолютной высоте.
Теперь вы можете использовать значения высот из другого источника, не с поверхности высот сцены, в данном случае из поля.
- Щелкните под пунктом Использование дополнительных высот объектов, нажмите стрелку ниспадающего списка <expression> и выберите BASE_ELEVATION.
- Задайте для Вертикального преувеличения значение 1.25.
Вы ранее применили это значение преувеличения к поверхности высот, поэтому теперь необходимо также применить его к новому источнику высот слоя. Иначе здания окажутся слишком низкими, по сравнению с другими слоями сцены.
Примечание:
Для 3D слоев объекты по умолчанию находятся на абсолютной высоте, а их высоты извлекаются из z-значений геометрии.
- Убедитесь, что для Единиц высоты задано Метры. Нажмите OK.
- Теперь можно перемещаться по сцене и просматривать ее различных перспектив. Приблизьтесь к сцене.
В нескольких местах, здания частично утоплены в поверхность. Это может случиться, когда в сцене используется несколько поверхностей высот. Значения BASE_ELEVATION на слое Buildings и значения поверхности Elevation_Kelburn возможно захватывались или обрабатывались разными способами; в любом случае они не точно соответствуют друг другу. Значения слоя Buildings могут быть более точными, но также важно, чтобы этот слой был выровнен с другими слоями сцены. Поэтому, желательно снова вернуть источник высот слоя зданий на поверхность земли.
- На панели инструментов быстрого доступа нажмите кнопку Сохранить .
В дополнение к конвертированию карт в сцены вы можете импортировать существующие 3D-документы из ArcScene и ArcGlobe. Документы ArcScene открываются как локальные сцены, а документы ArcGlobe – как глобальные. Так как ArcGIS Pro и ArcScene имеют различные среды 3D, вам может потребоваться поработать со свойствами карты или слоя импортированного документа ArcScene, чтобы он отображался, как вы хотите. В некоторых случаях проще создать новую сцену в ArcGIS Pro с помощью тех же данных. Импортированные документы ArcGlobe в основном хорошо отображаются в ArcGIS Pro, сразу или после небольших изменений.