2.2. Подготовка классификатора
При подготовке к отображению карты в трехмерном виде необходим анализ векторной карты на предмет полноты кодового состава. Для объектов с одним кодом и локализацией создается общее трехмерное изображение.
Для отличия объектов одного типа, но с разным внешним видом, можно каждому типу объекта присвоить свой код. Например, дом может быть панельным или кирпичным, и каждый должен иметь свой код. Ввести новые коды можно в любой момент редактирования. Другим способом разбиения объектов по внешнему виду является создание серии объектов одного кода по выбранной семантике. Каждый объект серии может иметь свой внешний вид. В качестве семантики, по которой устанавливается вид объекта, может быть выбрана любая характеристика объекта (рис 2.3).
Для построения реалистичной трехмерной модели местности (трехмерной
карты) необходимо учитывать такие свойства объектов как этажность, высота строения, количество этажей, количество подъездов. У объектов, представленных одним внешним кодом может быть разное изображение поверхности. Для использования такой возможности необходимо ввести семантику типа, имя файла для указания имени графического файла с расширением BMP (JPEG), который содержит изображение поверхности.
Для того, чтобы объект на трехмерной карте выглядел реалистично, необходимо поверхности объекта покрывать текстурами. Текстура представляет собой растровое изображение поверхности частей объекта (рис 2.4).
Рис. 2.3. Пример отображения характеристики объекта классификатора
Формирование текстур выполняется по цифровым фотографиям. При
фотографировании больших объектов, например домов, можно выделить на поверхности объекта повторяемые части и делать фотографии этих частей. Повторяемыми могут быть этажи, подъезды или часть этажа, соответствующая одному подъезду рис 2.5.
Исходным материалом для получения текстуры является файл типа BMP (JPEG, TIFF), содержащий изображение части объекта. Размер сторон изображения должен быть кратен числам степени два (8, 16, 32, 64, 128, 256 или 512).
Рис. 2.4. Фотография объекта
Рис. 2.5. Фотография текстуры его частей
Для получения такого файла можно воспользоваться программой Paint, входящей в состав операционной системы Windows. Слишком мелкие повторяющиеся детали (кирпичи, плитка) лучше укрупнять. Тонкие линии на фоне (рельсы) требуют утолщения. Для отображения поверхности могут быть заданы свойства материала (цвет, отражающая и поглощающая способности).
Поэтому в некоторых случаях видимыми можно оставить только характерные линии поверхности, остальная часть текстуры устанавливается прозрачной. Таким способом может быть создана текстура металлической кровли крыш.
Для создания объектов непрямоугольной формы (деревья, столбы, светофоры) необходимо при обработке рисунка закрасить неотображаемую часть цветом, отсутствующим в видимом изображении. При назначении текстуры объекту у цвета неотображаемой части нужно установить прозрачность.
Библиотека текстур является составной частью файла библиотеки трехмерных видов объектов (файл с расширением P3D) (рис. 2.6). Пользователь может работать с несколькими файлами P3D.
При создании нового файла необходимо загрузить в него текстуры. Готовые текстуры удобнее добавить в новый файл сразу. По необходимости библиотека текстур может пополняться. Для загрузки текстуры необходимо нажать кнопку «Загрузить» и выбрать подходящий BMP-файл или JPEG-файл. Имя текстуры по умолчанию соответствует имени файла.
Рис. 2.6. Создание библиотеки текстур
Редактирование имени текстуры выполняется по двойному нажатию
мыши. При нажатии кнопки «Заменить» изображение выделенной текстуры может быть заменено. При замене текстуры необходимо учесть, что все шаблоны и модели трехмерных объектов, ссылающиеся на эту текстуру, изменятся в соответствии с новым видом текстуры.
При нажатии кнопки «Просмотр» откроется окно «Демонстрация текстуры». Окно «Демонстрация текстуры» предназначено для предварительного просмотра текстуры и ее «примерки» на моделях типового вида. При открытии окно содержит выбранную текстуру (рис. 2.7).
Высота и ширина изображения ВМР должны быть в пределах 512 пикселов (точек) и кратны числам: 8, 16, 32, 64, 128, 256, 512. Если текущие размеры рисунка превышают допустимые размеры, рис. будет обрезан рамкой справа и снизу. Для выбора области сохранения текстуры выполняется установка размеров рамки по ширине и высоте. Рамку можно передвинуть при нажатой левой клавише мыши в окне изображения текстуры. При этом изменится отображение текстуры на объектах. При нажатии кнопки выполняется открытие нового файла BMP.
При нажатии кнопки выполняется сохранение изображения в файл BMP
по рамке. При открытии окна «Демонстрация» текстуры или загрузке нового изображения отображается цвет начала текстуры (нижний левый угол рамки).
Для установки режима выбора цвета необходимо нажать кнопку. Выбор цвета выполняется нажатием левой клавиши мыши на изображении текстуры.
Рис. 2.7. Демонстрация текстуры
Выбранный цвет будет отображаться в окошке рядом с кнопкой. Для выбранного цвета можно изменить прозрачность с помощью «ползунка».
Кнопка (применить) позволяет увидеть сделанные изменения на объектах.
Масштаб отображения текстуры может иметь следующие значения: 50%,
100%, 200%, 400% или 800%.
Линейка инструментов управления отображением трехмерных объектов
содержит следующие кнопки:
кнопки (увеличить объект) и (уменьшить объект) позволяют изменять масштаб отображения объектов;
кнопки (вращение по часовой стрелке) и (вращение против часовой стрелки) позволяют вращать объект вокруг оси Y;
кнопка (размытость) позволяет установить изображение текстуры объектов размытым;
кнопка позволяет вернуть отображение объектов в первоначальный вид.
Повтор по длине и ширине (высоте) поверхности объектов выполняется при вводе значения повторяемости. Активизация полей ввода значений повторяемости выполняется выбором элемента «Повторять».
При установке значения поля «Повтор по длине» равным нулю повтор плоскости объекта будет осуществлен столько раз, сколько в нее поместится (в зависимости от длины текстуры). При установке значения поля «Повтор по
ширине (высоте)» равным нулю повтор по ширине плоскости объекта будет
осуществлен столько раз, сколько в нее поместится (в зависимости от ширины текстуры).
Изображение поверхности объекта может быть указано в семантике
объекта и лежать в виде файла BMP. Требования к размеру указаны выше. Если они не выполнены изображение будет обрезано до ближайшего наименьшего разрешенного размера. Рекомендуется помещать такие файлы в один вложенный каталог карты.
Например, для карты с именем C:\Data\Cadastre\Cadastre.map выбрать
каталог C:\Data\Cadastre\Texture\.
Изображения, подгружаемые из файлов по семантике, прозрачных частей содержать не могут.