Создание текстурированных зданий из моделей

Обзор

Как правило, вы получаете модель 3D здания в стороннем формате, таком как 3ds Max, COLLADA, OpenFlight или SketchUp. Эти модели можно использовать и интегрировать с имеющимися данными для расширения возможностей визуализации. Есть несколько способом импорта этих моделей в базы геоданных для использования в ArcGIS. Используемый метод зависит от типа модели и информации, которая в ней содержится. Если формат модели содержит информацию о географическом положении модели, ее можно легко импортировать с помощью инструмента геообработки Импорт файлов 3D. Если географическая информация отсутствует, модель необходимо разместить в соответствующем географическом положении, используя средства ArcGIS.

В этом руководстве показано, как импортировать различные типы моделей зданий в базу геоданных и отобразить их в ArcGlobe. В качестве примера будет использован шаблон Esri 3D Virtual City, в котором содержится небольшая часть города Филадельфия, в районе площади Logan Square.

Импорт моделей, содержащих данные о географическом местоположении

Инструмент геообработки Импорт файлов 3D позволяет конвертировать сторонние форматы 3D моделей в объекты мультипатч и сохранять их в базу геоданных. Основное назначение этого инструмента – помощь в импорте больших наборов моделей. Модели с географической информацией автоматически помещаются в правильное местоположение, в соответствии с заданной пространственной привязкой. Модели без географической информации помещаются в начальную точку координат класса пространственных объектов, после чего их положение необходимо изменить, используя 2D или 3D среду редактирования. В список импорта можно добавить много моделей, необязательно из одной папки.

Инструмент геообработки Импорт файлов 3D

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

ПодсказкаПодсказка:
  • Сложные модели (с большим количеством вершин или с текстурами высокого разрешения, размером более 4000 на 4000 пикселей) могут импортироваться неправильно, поэтому их разделение поможет избежать подобных проблем.
Импорт моделей OpenFlight в базу геоданных в качестве текстурированных объектов-мультипатчей

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

Уникальные атрибуты здания

Комбинирование имеющихся данных города и текстурированных зданий

После того, как вы импортировали здания в класс объектов-мультипатчей, вы, скорее всего, захотите отобразить их вместе с имеющимися данными, например с вытянутыми контурами зданий. Главная особенность – не допустить, чтобы имеющиеся данные отображались в тех же местах, что и импортированные модели. Чтобы удалить поднабор накладывающихся объектов, сделайте следующее:

Шаги:
  1. Используйте инструмент Выбрать по расположению, чтобы выделить контуры зданий, пересекающиеся с текстурированными зданиями.
  2. Добавьте новое поле в класс объектов-контуров и вычислите накладывающиеся здания. Поднабор контуров готов.
  3. Теперь, используя определяющий запрос, отобразите только неперекрывающиеся контуры зданий.
Выбор, присвоение атрибутов и исключение накладывающихся зданий

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

Конвертация вытянутых полигонов в мультипатч с помощью инструмента 3D слой в класс объектов

Имейте в виду, что, если у вас имеется несколько полигонов с различными значениями высот, которые отображают одно здание, их можно соединить вместе в единый объект-мультипатч, используя инструмент геообработки 3D слой в класс объектов. Все полигональные объекты, связанные с одним зданием, должны иметь уникальный идентификатор (общее атрибутивное поле), которой используется опцией Поле группировки. Затем можно использовать инструмент геообработки Объединить 3D с той же опцией Поле группировки, чтобы очисть геометрию мультипатч каждого здания, удалив избыточные компоненты внутренних частей зданий. См. рисунок ниже.

Пример использования инструмента Объединить 3D для удаления избыточной внутренней геометрии
Более подробноБолее подробно:
  • Также, в ArcGIS можно присвоить уникальные идентификаторы зданиям, состоящим из нескольких полигонов. Чтобы это сделать, сначала необходимо использовать инструмент геообработки Слияние. Границы между контурами здания будут удалены, а полигоны объединены. При этом в 3D изображении появится новый составной класс полигональных объектов. Далее, необходимо разделить составной полигон на отдельные полигоны для каждого здания, используя инструмент геообработки Составной в простые В результате, вы получите по одному полигону для каждого здания. Наконец, воспользуйтесь инструментом Пространственное соединение, чтобы присвоить идентификаторы объектов каждого из этих полигонов объектам исходного класса, что позволит использовать идентификаторы в качестве поля группировки.

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

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

Замена существующего объекта моделью

Теперь, когда вы импортировали модели зданий в ArcGIS, может потребоваться их редактирование или обновление. Вы можете заменять имеющиеся здания, добавлять новые, с более сложной геометрией или более точными текстурами, используя сеанс 3D редактирования. Замена существующих зданий делается очень просто. Используйте инструмент Заменить моделью, который работает только с объектами-мультипатчами.

Шаги:
  1. Добавьте класс пространственных объектов-зданий в ArcGlobe и начните сеанс 3D редактирования.
  2. Используйте инструмент Редактировать размещение Изменить размещение и выберите здания, которые вы хотите заменить.
  3. Щелкните Редактор 3D и выберите Заменить моделью.
  4. Найдите модель, которую вы хотите использовать, в открывшемся диалоговом окне.
  5. Поскольку модель была импортирована как мультипатч, возможно вам понадобятся и другие инструменты редактирования, например инструменты масштабирования или поворота.
До и после замены нетекстурированного объекта-мультипатча текстурированной моделью

Если вы получили новую модель, для которой не существует пространственных объектов, можно в интерактивном режиме добавить эту модель в класс объектов как объект-мультипатч. Для этого также необходим сеанс 3D редактирования. В окне Создать объекты выберите шаблон класса объектов-мультипатчей для вашего здания. Выберите инструмент построения Вставить Инструмент Вставить внизу окна Создать объекты. Затем, щелкните место на 3D изображении, где вы хотите расположить здание. Используйте диалоговое окно Открыть, чтобы найти и выбрать модель, которую вы хотите импортировать. После того, как вы вставили модель, ее можно передвигать, поворачивать и масштабировать.

Поместите модель в ArcGlobe, в качестве текстурированного объекта-мультипатча.

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

9/10/2013