Выкладываю интересные ссылки, которые мне пригодились в изучении SketchUp. В продолжение постов
Часть 1
Часть 2
Ролики на youtube на англ. языке, но все довольно наглядно и ясно:
28 февр. 2010 г.
Использование SketchUp 6 и ArcGIS 9.3 для создания 3D модели города с геопривязкой, Часть 2
В этом примере мы создадим модель из 3х типовых зданий - нередкая ситуация для типичных спальных районов в городах. т.е. модель здания на самом деле будет одна, но в конце мы её размножим...
Экспорт будем делать дважды:
1. Полигоны домов для привязки к ним моделей и импорта назад в ArcGIS.
2. Один полигон для моделирования.
Откроем в ArcMap слой домов и выделим объекты для экспорта.

Если в слое зданий есть атрибут с отметкой основания, то в появившемся окне ставим галочку на "Elevate by field" и выбираем этот атрибут.
Выбираем куда сохранять и жмем "OK". Это для привязки.Для модели выбираем одно из наших типовых зданий и аналогично делаем экспорт, только теперь ставим галочку на "Extrude by field" и выбираем атрибут, в котором хранится высота здания в метрах (например, Height). Выбираем куда сохранять и жмем "OK".
Приступим к модели здания. Открываем файл с сохраненной моделью в SketchUp и видим дом выдавленный по высоте (как в начале поста).
Теперь используем фотографию нашего дома для текстурирования. Фото, которое использовал я, Вы можете посмотреть в первой части поста.
Нажимаем правой кнопкой на здании и выбираем "Edit group". Выбираем грань, на которую будем накладывать текстуру. Импортируем фото здания - меню "File->Import". Не забываем поставить тип файла "*.jpg" и выбрать "Use as Texture" (это важно!). После этого приблизительно размещаем текстуру на грани.
Для подгонки изображения нужно разместить четыре точки по углам изображения этой грани на фото и после этого "притянуть" их к углам самой грани.
Выбираем еще раз грань с текстурой, нажимаем правую кнопку и "Texture->Position".

Для первой операции используем однократное нажатие мышью на точке и её перемещение. Для второй - нажатие и удержание кнопки мыши во время перемещения к нужному углу грани. Причем удобнее всего "притягивание" точек выполнять в последовательности: красная, зеленая, синяя, потом желтая.
После завершения позиционирования текстуры, нажимаем правой кнопкой и выбираем "Done".
Всё, текстура для грани готова!Проделываем то же самое для оставшихся граней и получаем грубую модель здания.

Дальше конечно есть возможность по уже текстурированной модели дорисовать прямо в SketchUp некоторые дополнительные элементы: выступы на крыше, мачты, арки и т.п. Это можно сделать довольно несложно и быстро, потратив небольшое время на изучение основ SketchUp. Я приведу ссылки на некоторые интересные ресурсы в следующем посте.
Так же советую обратить внимание на функцию "Photo Match", которая позволяет делать текстурирования гораздо быстрее, если на фото есть сразу 2 грани здания (или больше).
Сохраняем готовую модель и открываем файл, в который мы делали экспорт вектора зданий для привязки.
Выбираем меню "File->Import", тип файла "*.skp" и чертеж нашей модели. Размещаем приблизительно. Используя функцию "Move" тащим 3D модель за один из углов и размещаем на соответствующем векторе здания. При необходимости поворачиваем модель, что бы она полностью совпала с основанием.
Теперь можно размножить модель и разместить её на следующих местах, где расположены такие же по типу здания.
Мы готовы к экспорту назад в ArcGIS!

По идее, мы должны выполнить обычный экспорт в "*.mdb" и все готово, если верить презентации от Google, но у меня почему-то так просто все не получилось. Возможно из-за того, что плагин для ArcGIS 9.2, а я использую 9.3.
Теперь немного "шаманства" :)
Создаем геобазуданных MDB, которую сможет прочитать SketchUp: выбираем "File->Export->3D model...", тип "*.mdb". Вводим имя файла. После этого появится окошко, где можно будет выбрать существующий multipatch feature class или создать новый в этой геобазеданных. Если у вас выйдет создать новый, то вам повезло - все работает без шаманства. В моем случае этого не вышло. И пришлось нажать отмену. Но файл MDB создан, хоть и пустой!
Заходим в него в ArcCatalog'е и создаем новый feature class типа multipatch. Выбираем для него нужную систему координат, в которой у нас находится вектор домов.
Возвращаемся в SketchUp и теперь повторяя экспорт в этот же MDB файл, мы можем выбрать только что созданный нами multipatch feature class. Всё готово!
Можно открыть модель в ArcScene или ArcGlobe, добавить существующую модель рельефа и остальные данные.
Я столкнулся ещё с одной проблемой во время экспорта: текстуры некорректно распознавались в ArcGIS. Перепробовал разные варианты привязки и экспорта, пока не нашел один вариант.
Предварительно делаем экспорт в формат COLLADA (*.dae). Текстуры в этом формате хранятся отдельно в jpg в папке под таким же названием, как и имя файла dae. Они будут разрезаны отдельно под каждую грань. Если выполнить наложение текстур ещё раз, но уже используя эти новые порезанные файлы, то в дальнейшем проблем с текстурами не возникнет. Лучше всего это делать сразу после того, как наложили все текстуры на нашу модель здания.
Возможно эта проблема связана с большим разрешение исходной фотографии здания, а у вас все заработает без этого...
В следующем посте подготовлю ссылки на ресурсы и ролики youtube, которые могут пригодиться для обучения работы в SketchUp.
Некоторые замечания:
- Конечно можно делать экспорт из ArcGIS сразу всех зданий с выдавливанием их по высоте и работать сразу с геопривязанными моделями. Но это не всегда удобно. А также способом, показанным здесь, можно привязывать модели зданий полученные из других источников, а так же смоделированные вручную с нуля.
- Для SketchUp можно скачать готовые библиотеки объектов (деревья, трубы, скамейки, фонари, знаки и т.п.) и использовать их в своих моделях.
- Лучше всего моделировать по кусочкам - например, по кварталам. Иначе можно столкнуться с невысокой производительностью SketchUp.
27 февр. 2010 г.
Использование SketchUp 6 и ArcGIS 9.3 для создания 3D модели города с геопривязкой, Часть 1

Необходимо было найти быстрый способ с минимальными трудозатратами. А так же, не было серьезного опыта работы с пакетами для 3D проектирования и где то внутри было чувство, что тут можно найти более простой путь.
В результате поиска в интернете, чтения форумов и попытками “поиграться” с различными моделями и примерами был найден оптимальный для моих задач способ - использовать для создания моделей зданий и текстурирования Google SketchUp. Эта программа оказалась довольно простой для освоения и не перегружена излишней функциональностью.
Основную идею можно прочитать в презентации SketchUp and ArcGIS (англ.).
В этих нескольких постах я попытаюсь описать свой опыт реализации и решение мелких проблем возникших в процессе.
Итак, нам понадобятся:
- ArcGIS 9.2 / 9.3 (я использовал 9.3)
- Google SketchUp Pro 6
- ArcGIS for SketchUp 6 - плагин экспорта/импорта данных между ArcGIS и SketchUp
SketchUp распространяется бесплатно. К сожалению, для экспорта/импорта в ArcGIS нам понадобится функциональность Pro версии, которая стоит денег.
После окончания установки плагина, необходимо зайти в ArcMap и добавить его. Для этого выбираем в меню “Tools\Customize\Add From File” и указываем путь к нему - “C:\Program Files\ArcGIS\SketchUp6\FeaturesToSkp.dll”. Не забываем поставить галочку на “SketchUp 6 Tools” в списке тулбаров, если она отключена.
На этом установка закончена и мы должны увидеть кнопку плагина на панели ArcMap.
Подробнее про установку плагина можно прочитать здесь (англ.)
Кроме этого нам понадобятся исходные данные для моделирования: векторный слой домов с информацией про высоту зданий и отметку низа, что бы здания находились не на нулевой высоте, а сразу на своей реальной.
Если информации про отметку сейчас нет, то можно обойтись и без неё - потом при визуализации будет возможность посадить здания на модель рельефа.
Перечислю данные, которые использовались мной:
- Векторный слой зданий с атрибутами Height (высота здания в метрах) и Z_bottom (отметка низа).
- Рельеф в формате GRID - для получения отметки Z_bottom с помощью Spatial Analyst.
- Фотография здания для создания текстуры - была получена мной с помощью 10mpx камеры. Фотографировал так, чтоб захватить сразу две грани - две текстуры за раз.

На этом подготовительные работы закончены.
В следующем посте я опишу непосредственно создание модели здания, текстурирование и экспорт результата в ArcGIS с геопривязкой.
Часть 2
Подписаться на:
Сообщения (Atom)