Введение: В данном разделе будет показана последовательность действий создания кодификатора, редактирования, удаление и добавление новых кодов, а также будет показан автоматический механизм сопоставления изыскательских кодов и семантических объектов из программной библиотеки с примером использования регулярных выражений.
Исходные данные: Выполнялась съемка местности на которой имелись опоры ЛЭП ЖБ и опоры ЛЭП Дер. и они были соответственно закодированы кодами: ОЖБ87, ОЖБ89, ОД102, ОД103 и т.д., где:
- О - Код объекта «Опора»
- ЖБ или Д - Материал опор (Железобетонная или Деревянная)
- 87, 88, 102, 103 и т.д. - Номер опоры
Задача: Добавить коды в изыскательский кодификатор, автоматически сопоставить эти коды с семантическим объектом (условным знаком).
Для этого:
1. Создадим новый изыскательский кодификатор, для этого:
1.1. Откройте папку Codifiers где находится файл изыскательского кодификатора, по умолчанию это следующий путь - C:\ProgramData\Topomatic\Robur Survey\16.0\Support\.
1.2. Скопируйте файл изыскательского кодификатора Robur-Road.codes в папку Support которая находится по следующему пути C:\My documents\Топоматик Robur\Support и переименуем файл кодификатора Robur-Road.codes, изменив имя на необходимое, например Codes.codes:
2. Отредактируем кодификатор, для этого:
2.1. Откроем изыскательский кодификатор Codes.codes с помощью любого текстового редактора.
2.2. Удалим строки с описанием тех кодов которые не используются. Добавим две новые строки (одна строка для кода Опор_ЖБ, вторая для кода Опор_Дер.) с необходимыми параметрами:
Подробнее разберем одну строку для кода Опор ЛЭП_ЖБ:
Так как код для ЖБ опор может иметь вид ОЖБ87, ОЖБ88 и т.д., то для того чтобы найти все ЖБ опоры необходимо в поле Code Pattern записать выражение: «ОЖБ.*». Данная поисковая запись означает, что будут найдены все изыскательские коды, содержимое которых имеет первые три символа - ОЖБ, а следующие символы и их количество может быть любым.
Для того, чтобы назначить соответствующий условный знак для найденных кодов, в поле Semantic задается номер семантического объекта из библиотеки Менеджер структуры семантики:
Для данного примера в разделе Пользовательская библиотека были созданы два семантических кода с номерами 100001 Опора ЖБ и 100002 Опора Дер. с необходимыми условными знаками и набором свойств.
На данном этапе подготовка изыскательского кодификатора завершена. Закрываем окно и сохраняем изменения в файле кодификатора.
3. Запускаем программу Топоматик Robur и создаем новый проект.
3.1. Так как каждая поверхность может иметь свой изыскательский кодификатор, в свойствах поверхности необходимо указать какой кодификатор будет использоваться. Для этого, щелкните правой кнопкой мыши в Структуре проекта и выберите Настройки:
В пункте Общие, выберите из выпадающего списка необходимый изыскательский кодификатор (в данном случае Codes) и нажмите Ок:
3.2. Импортируем закодированные точки поверхности из txt-файла, который имеет следующий вид:
3.3. В результате, согласно настроенным данным в кодификаторе Codes.codes, для импортируемых точек автоматически производится сопоставление изыскательского кода с семантическим объектом:
Следующий том: Том 4. Работа с трассой