Доступ к данным фотограмметрии и решению 3D Buildings

Отдел оценки города Плезантон предоставил вам доступ к продуктам изображений Nearmap и контурам зданий для района у подножия хребта Плезантон. После загрузки этих данных вы добавите их в проект ArcGIS Pro, который является частью решения 3D Buildings. Вместе они заложат в основу для создания 3D-модели этого сообщества.

Получение данных Nearmap и файла проекта

Сначала вы скачаете и распакуете данные Nearmap для Плезантона. Затем вы загрузите проект ArcGIS Pro с шагами, которые помогут построить 3D-модели.

  1. Скачайте файл Pleasanton .zip и извлеките его содержимое в подходящее местоположение на вашем компьютере.

    Далее вы скачаете проект ArcGIS Pro решения 3D Buildings из ArcGIS Online.

  2. Войдите из-под учётной записи организации ArcGIS Online.
    Примечание:

    Если у вас нет учетной записи организации, см. варианты доступа к программному обеспечению.

  3. Нажмите на кнопку Приложения и в запуске приложений выберите Solutions.

    Приложение Solutions

    Появится галерея с решениями.

  4. Поиск и выбор решения 3D Buildings.

    Решение 3D Buildings

  5. Нажмите Развернуть сейчас.

    Решение автоматически развернет связанные элементы на вкладке Ресурсы в ArcGIS Online.

  6. Укажите на 3D Buildings и щёлкните Открыть.

    Открыть решение.

    Появится страница элемента 3D Buildings.

  7. В разделе Ресурсы решения щелкните 3D Buildings.

    Ресурсы Solution

  8. Щелкните кнопку Загрузить.

    Кнопка загрузки

    Архивированная папка с названием 3DBuildings автоматически загрузится в местоположение для загрузок по умолчанию на вашем компьютере.

  9. Разархивируйте файл 3D Buildings .zip и извлеките его содержимое в подходящее местоположение на вашем компьютере.
    Примечание:

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

    Теперь у вас есть городские данные Nearmap и необходимый проект ArcGIS Pro.

Добавление данных Nearmap в проект

В данный момент у вас есть необходимые данные от города и проект ArcGIS Pro решения, вы добавите городские данные в сцену (3D-карту) решения 3D Buildings.

  1. Откройте папку 3DBuildings и откройте файл проекта ArcGIS 3DBuildings.

    Открыть файл проекта ArcGIS 3DBuildings.

    Откроется ArcGIS Pro и предоставит вам 3D-сцену на весь мир. Вы добавите в сцену данные Плезантона.

  2. На ленте щелкните вкладку Карта. В группе Слой щёлкните Добавить данные.

    Кнопка Добавить данные

    Откроется окно Добавить данные.

  3. Перейдите туда, куда извлечена папка Pleasanton. Откройте папку Pleasanton, а затем базу геоданных Pleasanton.

    Данные в базе геоданных Pleasanton

    Вы добавите наборы данных AI_Buildings, DSM и DTM на карту.

  4. Нажмите клавишу Ctrl и выберите наборы данных AI_Buildings, DSM и DTM. Нажмите OK.

    Слои добавятся в сцену.

    Наборы данных добавлены на карту.

    Слой полигонов AI_Buildings представляет контуры зданий, полученные алгоритмами искусственного интеллекта и машинного обучения Nearmap.

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

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

    Растры DSM и DTM имеют разрешение 12 дюймов (0,3 м). Иначе говоря, каждый пиксел представляет площадь на поверхности Земли 12 на 12 дюймов. При работе с растрами обычно рекомендуется использовать растры с одинаковым разрешением.

    Примечание:

    Если вы являетесь подписчиком Nearmap и хотите использовать собственные данные, используйте инструмент MapBrowser's 3D Export, чтобы извлечь DSM и DTM для вашей области интереса. Ресурсы AI доступны через API и офлайн-способы доставки. Подробнее о том, как получить доступ к Nearmap AI, см. в разделе Доступ к ресурсам AI.

    Далее вы переименуете слой AI_Buildings.

  5. На панели Содержание выберите слой AI_Buildings.
  6. Нажмите клавишу F2. Введите Building Footprints и нажмите Enter.

    Панель Содержание с переименованным слоем

  7. На Панели быстрого доступа щелкните Сохранить.

    Кнопка Сохранить

Сейчас данные скачаны и добавлены к сцене, и вы готовы начать обработку зданий.


Создание 3D-зданий

Скачанный вами проект ArcGIS Pro включает серию задач, помогающих пройти процесс получения наборов данных и построения из них 3D-моделей. Вы используете три слоя и эти задачи, чтобы создать 3D-здания Плезантона. Сначала вы создадите nDSM, которая необходима, если вы хотите придать вашим зданиям высоту и форму правильной формы.

Создание nDSM

Сначала вы создадите nDSM или нормализованную цифровую модель местности, используя растровые функции. nDSM создается путем вычитания ЦМП (DTM) из ЦММ (DSM). Результатом будет растр высот, представляющий высоту объектов на уровне поверхности Земли, а также их собственную высоту.

  1. Если необходимо, откройте ваш проект 3DBuildings в ArcGIS Pro.

    Для вычитания ЦМП из ЦММ вы примените растровые функции.

  2. На ленте щелкните вкладку Изображения. В группе Анализ щелкните Функции растра.

    Кнопка Функции растра

    Появится панель Функции растра.

  3. На панели Функции растра разверните Математические и щелкните Вычесть.

    Панель Функции растра

    Инструмент Вычесть вычитает один набор растровых данных из другого.

  4. Для Растр выберите DSM. Для Растр2 выберите DTM.

    Параметры Растр и Растр2

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

  5. Перейдите на вкладку Общие. Задайте Тип выходного пиксела как 32 бита с плавающей запятой.

    Вкладка Общие с параметром Тип выходного пиксела

  6. Щелкните Создать новый слой.

    Растр добавится на карту.

    Растр добавится на карту.

    Имя по умолчанию необходимо обновить, вы сделаете это далее.

  7. Переименуйте слой Вычесть_DSM_DTM в nDSM.

    Далее вы измените символы слоя, чтобы лучше видеть данные.

  8. На панели Содержание щелкните правой кнопкой на символе ниже nDSM. В ниспадающем меню отметьте опцию Показать названия.

    Опция Показать названия

  9. Выберите символ Рельеф 1.

    Символ Рельеф 1

    Чтобы сделать этот символ понятнее, вы измените Тип растяжки. Это изменит гистограмму, используемую при отображении цветов растра на карте. Применение типа растяжки Выравнивание гистограммы лучше показывает данные высот в сцене.

  10. Щелкните на ленте вкладку Растровый слой. В группе Отображение щелкните ниспадающее меню Тип растяжки и выберите Выравнивание гистограммы.

    Тип растяжки Выравнивание гистограммы

    Слой nDSM отобразится заново с новым типом растяжки, в растре станет видно больше деталей.

    Слой nDSM отображен с типом растяжки Выравнивание гистограммы.

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

Обработка контуров зданий

Чтобы начать работу с контурами зданий, вы используете шаги предоставленной задачи, чтобы вырезать растр ЦММ по каждому контуру здания. Затем высоты будут использоваться для сегментации крыш. Это означает, что каждый контур здания будет разделен в зависимости от того, в какую сторону обращены различные части крыши.

  1. На панели Каталог раскройте Задачи и дважды щелкните 3D Buildings.

    Задача 3D Buildings

    Появится панель Задачи.

    Задача 3D Buildings на Панели задач

    В решение 3D Buildings входит множество задач, но для городского проекта вы сфокусируетесь на группе задач Publish buildings.

  2. Разверните Publish buildings и дважды щелкните Preprocess building footprints.

    Задача Preprocess building footprints

    Открывается первый шаг задачи: Split building footprints using features. Вы не будете использовать этот шаг, поэтому пропустите его.

  3. Нажмите Пропустить.

    Кнопка Пропустить

    Вы примените шаг задачи Segment building footprints using elevation. Опять же, это позволит взять контуры ваших зданий, придать им высоту и разбить их на разные секции крыши.

  4. Для Building Footprints выберите Building Footprints. Для Elevation Surface (DSM) выберите DSM.

    Параметры Building Footprints и Elevation Surface

    Далее вы зададите для инструмента Spectral Detail. Это уровень важности, заданный для различий в высоте в ЦММ. Например, в центре города с высокими зданиями, которые содержат множество граней крыш на различной высоте, использование пониженной спектральной детальности приведет созданию сегментов только там, где имеются значительные изменения в высоте. И наоборот, ряды домов с меньшими перепадами высот между зданиями может потребовать более высокой спектральной детализации для полного сегментирования. Действительные значения находятся в диапазоне от 1.0 до 20.0. Значение по умолчанию - 13.

  5. Для Spectral Detail проверьте, что установлено значение 13.

    Параметр Spectral Detail

    Примечание:

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

    Далее вы зададите Spatial Detail. Это уровень важности, задаваемый для близости между объектами в ЦММ. Например, чтобы сегментировать архитектурно сложные здания с множеством меньших граней, вам нужно использовать более высокую пространственную детализацию. Чтобы сгладить различия, которые не нуждаются в представлении, такие как кондиционеры или автомобили в гараже, вы бы использовали меньшую пространственную детализацию. Действительные значения находятся в диапазоне от 1.0 до 20.0. Значение по умолчанию - 13.

  6. Для Spatial Detail проверьте, что установлено значение 13.

    Параметр Spatial Detail

    Далее вы зададите Minimum Segment Size. Этот параметр управляет минимальным размером потенциального сегмента в пикселах. Если потенциальный сегмент меньше установленного порогового значения, он будет объединен с окружающим сегментом.

  7. Для Minimum Segment Size проверьте, что установлено значение 555.

    Параметр Minimum Segment Size

    Далее вы зададите Regularization Tolerance. Это максимальное расстояние, на которое можно отрегулировать сегментные полигоны, чтобы упорядочить геометрию до прямых углов и диагоналей. С растрами поверхностей высокого разрешения рекомендуется задавать допуск регуляризации в 5-10 раз больше размера пиксела, чтобы сгладить любую жесткость пикселей при сохранении детализации пикселей с высоким разрешением.

  8. Для Regularization Tolerance в первом параметре введите 2 и проверьте, что во втором параметре установлены Meters.

    Параметр Regularization Tolerance

  9. Для Output Segmented Buildings введите Footprints.

    Параметр Output Segmented Buildings

    Примечание:

    После запуска инструмента _segmented будет автоматически добавлено в конце имени нового набора данных.

  10. Щелкните Запустить.
    Примечание:

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

    Теперь, когда выполнена обработка контуров, вы можете использовать их для создания 3D-структур.

  11. Щелкните Готово.

    Кнопка Готово

Создание 3D-зданий

У вас имеется nDSM и сегментированные контуры зданий, и вы готовы к созданию 3D-моделей зданий. Для этого процесса вы примените другую задачу.

На основании входных данных вы создадите здания с уровнем детальности 2 (LOD2). Уровень детальности относится к геометрической сложности ваших 3D-моделей. Существует классификация уровней детальности, в диапазоне от LOD0, наименьшая детализация, до LOD3, наибольшая детализация:

  • LOD0 - плоский полигон без характеристик высоты или сегментации.
  • LOD1 - 3D-полигон, содержащий высотные характеристики.
  • LOD2 - 3D-полигон с формами крыш.
  • LOD3 - 3D-полигон с формами крыши и деталями, относящимися к фасаду здания, такими как окна, двери и так далее.

Сравнение уровней детальности

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

  1. На панели Задачи дважды щелкните Create buildings.

    Задача Создать здания

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

  2. Введите в инструмент следующие параметры:
    • Для Buildings выберите Footprints_segmented.
    • Для Elevation Surface выберите DSM.
    • Для Ground Elevation Surface выберите DTM.
    • Для Normalized Elevation Surface выберите nDSM.
    • Для Output Building Polygons введите BuildingsLOD2.

    Параметры инструмента Extract Roof Form

    Примечание:

    После запуска инструмента _roofform будет автоматически добавлено в конце имени нового набора данных.

  3. Разверните RoofForm.

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

    Параметры RoofForm

    Чтобы узнать более подробно о том, как можно изменить эти параметры инструмента, чтобы настроить выходные здания, нажмите кнопку Справка и просмотрите документацию по Extract Roof Form.

    Кнопка справки

  4. Щелкните Запустить.
    Примечание:

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

  5. На панели Задачи щелкните Далее.

    Отображается следующий шаг в задаче.

    Применить символы здания с помощью шага процедурного правила

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

  6. На панели Содержание щелкните правой кнопкой на слое BuildingsLOD2_roofform и выберите Символы.
  7. На панели Символы щелкните существующий символ.

    Текущий символ

  8. Нажмите кнопку Слои под разделом Свойства.

    Кнопка Слои

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

    Опция процедурной заливки

  10. Щелкните кнопку Правило.

    Кнопка Правило

  11. Перейдите к папке для этого проекта и дважды щелкните папку rule_packages. Щелкните файл LOD2BuildingShells_Meters.rpk и щелкните OK.

    Выберите пакет правил.

    Примечание:

    Вы выбрали пакет правил для метров, потому что единицы измерения карты - метры.

    Свойства символов теперь отражают правило, которое вы назначили.

    Свойства символов пакета правил

    Чтобы лучше видеть здания, вы измените цвета крыш и фасадов.

  12. В Опциях отображения измените FacadeColor на светло-коричневый цвет. Измените RoofColor на светло-серый цвет.

    Опции отображения

  13. В нижней части панели Символы щёлкните Применить.
    Подсказка:

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

  14. На панели Содержание переименуйте слой BuildingsLOD2 в 3D Buildings. Перетащите слой 3D Buildings в раздел 3D слоев.

    Переместите слой в раздел 3D слоев.

  15. В группе 2D-слои выключите каждый слой.

    Выключение всех слоев в 2D-слоях.

  16. На ленте щелкните вкладку Карта. В группе Слой щелкните Базовая карта. Выберите Imagery.
  17. Используя инструмент Исследовать, переместитесь по сцене так, чтобы видеть здания в 3D.

    Здания с примененными символами

    Теперь у вас есть 3D-здания, и изучите их атрибуты. Для города нужна информация о каждом здании, а не только их форма.

  18. На панели Содержание щелкните правой кнопкой 3D Buildings и выберите Таблица атрибутов.

    Появится Таблица атрибутов. Первые несколько атрибутов относятся к исходному слою Building Footprints, предоставленному Nearmap.

    Таблица атрибутов для 3D buildings

  19. Прокрутите таблицу атрибутов до конца.

    Атрибуты информации о зданиях

    Несколько полей были добавлены при создании зданий LOD2. Они содержат все данные, необходимые городу.

    • BLDGHEIGHT (Высота здания) - максимальная высота здания.
    • EAVEHEIGHT (Высота карниза) - минимальная высота здания. У зданий без карнизов плоские крыши.
    • ROOFFORM (Форма крыши) - форма крыши. Форма крыши может быть Flat (плоская), Gable (двускатная) или Hip (шатровая).

    Формы крыши

    • BASEELEV (Базовая высота) - базовая высота здания, обычно равна высоте земной поверхности, где расположено здание.
    • ROOFDIR (Направление крыши) - направление компаса (в градусах), в котором обращена крыша. Это поле заполнено только для двускатных крыш.
    • RoofDirAdjust (настроенное направление крыши) - поле, обеспечивающее настройку направления крыши. По умолчанию значение равно 0. Значение 1 поворачивает крышу на 90 градусов против часовой стрелки, а 2 – на 180 градусов. Это поле используется для того, чтобы вручную отредактировать форму крыши в тех случаях, если она установлена неверно.

  20. Закройте таблицу атрибутов.
  21. На панели Задачи щелкните Готово

    Вы успешно создали и обозначили символами 3D-представление зданий в Плезантоне.

Слияние зданий

Несмотря на то, что у вас есть 3D-здания, технически это только класс полигональных 2D-объектов с символами 3D. В заключительной части этого руководства вы создадите класс 3D-объектов. Процесс конвертации данных из 2D в 3D также называется слиянием.

  1. На панели Задачи дважды щелкните Fuse Buildings.

    Задача Слияние зданий

    Этот инструмент возьмет 2D-полигоны с 3D символами и превратит их в класс объектов мультипатч, который может хранить данные зданий в 3D.

  2. Укажите параметры следующим образом:

    • Для Building Layer выберите 3D Buildings.
    • Для Уникальный ObjectID выберите BuildingFID.
    • Для Output Building Multipatch введите PleasantonBuildings.

    Параметры Fuse Building Parts

  3. Щелкните Готово.

    Инструмент запустится.

  4. На панели Содержание выключите слой 3D Buildings.

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

  5. На панели Каталог раскройте папку Базы данных. Раскройте базу геоданных 3DBuildings.

    Все созданные вами наборы данных находятся в ней.

    Примечание:

    Если какие-то наборы данных отсутствуют в базе геоданных, щелкните правой кнопкой на базе геоданных 3DBuildings и выберите Обновить.

    Папка Базы данных

    Обратите внимание на значки рядом с классами объектов BuildingsLOD2_roofform и PleasantonBuildings. Символ для BuildingsLOD2_roofform представляет класс полигональных 2D-объектов, тогда как символ рядом с PleasantonBuildings представляет 3D-мультипатч.

  6. Сохраните проект.

На этом уроке вы взяли ЦММ, ЦМП и контуры зданий из Nearmap и конвертировали их в 3D-модель для города, для использования в целях планирования и безопасности.

Вы можете найти больше учебных пособий в галерее учебных пособий.