Импорт данных из форматов TLS/OC3/DAE/OBJ в формат DB3D |
Программа предназначена для импортирования данных 3D моделей из форматов TLS/OC3/DAE/OBJ в формат DB3D. Формат TLS представляет собой двоичный файл, где хранятся координаты текстурированных 3D моделей с поддержкой уровней детализации, модели имеют тайловую структуру. Формат TLS разработан компанией Agisoft и реализован в программном продукте Agisoft Photoscan. С форматом TLS работает ПО Sputnik группы компаний GeoScan. Формат OC3 представляет собой двоичный файл, где хранятся координаты и цвет для точек, которые объединены в тайлы, распределённые по уровням детализации. Формат OC3 разработан компанией Agisoft и реализован в программном продукте Agisoft Photoscan. Формат DAE (COLLADA) хранит 3D-модель, параметры которой описаны в xml-файле. Если модель имеет текстуры, то они хранятся в графических файлах, которые обычно располагаются в отдельном каталоге. Модель в формате OBJ состоит из набора текстовых и графический файлов. Текстовые файлы с расширением .obj содержат описание геометрии модели, файлы с расширением .mtl содержат описание материалов модели, а также пути к графическим файлам, если модель имеет текстуры.
Формат DB3D представляет собой файл базы данных SQLite 3.0 и выше, где в виде таблиц хранится описание 3D моделей на местности. Просмотр моделей совместно с картой возможен в задаче "Навигатор 3D", степень детализации моделей зависит от масштаба отображения.
Для запуска программы импортирования необходимо выполнить следующие действия:
1) Выбрать формат исходной модели TLS, OC3, COLLADA (DAE) или OBJ:
2) Выбрать расположение и указать исходный файл/файлы или каталог исходной модели.
3) Выбрать расположение и указать выходной файл DB3D, если он уже существует, либо задать имя нового файла DB3D, тогда он будет создан. Если исходный и выходной файлы выбраны корректно, автоматически заполнятся поля с координатами точки привязки модели, уровни масштаба модели и активируется кнопка «Выполнить».
4) Нажать кнопку «Выполнить».
Если в качестве выходного указан ранее не существовавший файл DB3D, он будет создаваться после нажатия на кнопку «Выполнить», его создание требует некоторого времени. Продолжительность процесса импортирования зависит от количества загружаемых уровней масштабов, количества и размеров текстур, географической площади модели и может занимать от нескольких секунд до десятков минут.
Прервать процесс импорта данных возможно нажатием кнопки «Выход» непосредственно во время выполнения:
По завершении процесса импорта активируется кнопка «Метаданные», по которой можно вызвать соответствующий диалог для редактирования и сохранения метаданных модели в xml-файл.
Расширенная настройка
Координаты точки привязки модели:
При импорте из форматов COLLADA (DAE) и OBJ доступен выбор системы координат точки привязки модели, если она не задана в исходном файле. Варианты выбора системы координат точки привязки: 1) Из списка. Доступны следующие системы координат: - WGS 84 / Pseudo-Mercator (EPSG:3857); - WGS 84 (EPSG:4326); - Топографическая 42 года; - Топографическая ПЗ-90.11; - Топографическая 95 года. Если выбранная из списка система координат имеет деление на зоны, активируется комбобокс «Зона», из которого следует выбрать соответствующую зону. 2) Из файла метаданных. Возможен выбор файла XML, в котором заданы код EPSG и координаты точки привязки. После изменения системы координат, можно вернуться к исходной системе, нажав кнопку «Сбросить». Единицы измерения координат точки привязки (метры или градусы) устанавливаются автоматически в соответствии с выбранной системой координат. Система координат модели: Для загружаемых данных также возможен выбор исходной системы координат:
- совпадает с СК точки привязки; - прямоугольная.
Если исходная модель создана в 3D-редакторе и отсутствует информация о её системе координат, то следует оставить пункт по умолчанию: «Прямоугольная система координат».
Уровни масштаба модели:
Есть возможность изменить исходный диапазон масштабных уровней загружаемой модели. Количество масштабных уровней не может превышать исходное. Модели из форматов COLLADA (DAE) и OBJ загружаются на один масштабный уровень для файла модели.
На закладке «Дополнительные параметры» можно настроить следующие свойства загружаемой модели:
1)Рассчитать нормали. Доступен для формата COLLADA (DAE). При включении режима нормали вычисляются для каждой вершины модели (рекомендуется), при выключении - нормали считываются из исходного файла. 2)Максимальный уровень расчёта нормалей. Доступен для формата TLS. Даёт возможность выбрать масштабный уровень модели, после которого нормали рассчитываться не будут. Чтобы избежать эффекта «мятой» поверхности, рекомендуется установить уровень 19. 3)Размеры текстур по уровням. Доступен для формата COLLADA (DAE), OBJ и TLS. Текстуры исходной модели можно только уменьшить. Для форматов COLLADA и OBJ задаётся натуральное число от 1 до 99 - во сколько раз уменьшать текстуры. Для формата TLS задаются числа степени двойки - непосредственно размер текстур. 4)Высота точки привязки. Доступен для всех форматов. Даёт возможность изменения высоты точки привязки модели. 5)Размер тайла. Доступен для формата COLLADA (DAE) и OBJ. Задаётся размер элемента тайловой пирамиды: 256, 512, 1024. 6)Режимы загрузки из COLLADA (DAE). Исходная модель может быть создана с дублированием вершин, в этом случае, используя данные режимы, можно значительно уменьшить размер результирующего файла модели. Однако, удаление повторяющихся координат может сказаться как на внешнем виде модели, так и на увеличении времени загрузки, поэтому по умолчанию выбран режим «Без анализа геометрии» (рекомендуется).
Пользовательское позиционирование 3D-модели
При импортировании модели из одного файла COLLADA (DAE), в котором не задана точка привязки модели, возможно изменить её расположение и размеры на карте, для этого нужно согласиться в диалоге, который появится по завершении процесса импорта:
Затем нужно следовать инструкциям из строки состояния главного окна «Отображение трёхмерной модели»:
1) Левой кнопкой мыши выбрать первую точку на модели. Высоту точки можно регулировать клавишами PageUp/PageDown, значение высоты отображается также в строке состояния в параметре Набс. Отменить выбор последней точки можно нажатием клавиши Esc. 2) Указать точку на 3D-карте, соответствующую первой выбранной точке модели. 3) Выбрать вторую точку на модели. 4) Указать точку на 3D-карте, соответствующую второй выбранной точке модели. 5) Для завершения выбора четырёх точек, удерживая клавишу Ctrl, нажать левую кнопку мыши. 6) По завершении процесса импорта модели в новое положение будет выведен следующий диалог:
По нажатию «Да» в выходной файл DB3D запишется модель после произведённого позиционирования, по нажатию «Нет» модель отобразится в исходном положении и будет заново запущен процесс позиционирования, по нажатию «Отмена» в файл DB3D запишется модель в исходном положении без учёта произведённого позиционирования.
Отображение модели после позиционирования:
|