Инструмент Построить (Build) определяет классы объектов в исходном покрытии и список тех, что доступны для построения:
- Построить полигоны
- Построить линии
- Построить точки
- Построить узлы
- Построить подклассы аннотаций
Построить полигоны
Топология полигонов создаётся указанием набора дуг, определяющих каждый полигон, и внутренних номеров полигонов, которые находятся справа и слева от дуг. Начальные и конечные узлы используются для определения левой и правой стороны относительно каждой дуги.
Таблица 1: Набор дуг, составляющих каждый полигон
Polygon number Number of Arcs Arc numbers 1 4 1,2,9,4 2 4 1,3,5,4 3 4 2,8,6,3 4 4 6,8,9,5
Таблица 2: Полигоны слева и справа от каждой дуги
Arc number From-node To-node Left Poly Right Poly 1 1 2 1 2 2 2 7 1 3 3 2 3 3 2 4 4 1 1 2 5 4 3 2 4 6 5 3 4 3 7 5 6 3 3 8 7 5 4 3 9 7 4 1 4
Инструмент Построить (Build) с опцией POLY проверяет пересекающиеся дуги и завершает свою работу, если таковые находятся. Пересекающиеся дуги должны быть разбиты на сегменты, для этого можно создавать узлы в местах пересечений до запуска инструмента Построить (Build). Однако если две дуги пересекаются и у обоих дуг есть вершина в точке пересечения, то инструмент Построить (Build) с опцией POLY будет автоматически создавать узел на этом пересечении, и дуги будут разделены.
Точки надписей связываются с каждым полигоном. User-ID точки надписи используется для назначения полигону User-ID. User-ID полигона равен 0, если у полигона нет точек надписи. Если полигон имеет более одной точки надписи, для назначения User-ID для полигона произвольно выбирается одна из точек.
Polygon Internal No. Polygon User-ID 1 0 2 101 3 102 4 0
В покрытии для полигонов создаётся PAT. Если в покрытии уже есть PAT, то любые дополнительные поля в PAT объединяются в выходном PAT, при этом внутренний номер каждого исходного полигона используется в качестве связующего звена.
Таблица 3: EXCOV.PAT до применения инструмента Построить (Build)
AREA PERIMETER EXCOV# EXCOV-ID COVER-TYPE -25.0 20.0 1 0 2.0 7.5 2 0 Shrub 3.0 9.0 3 13 Trees 9.0 11.0 4 10 Grass 3.5 8.0 5 13 Forest 1.0 2.5 6 0 Water 4.5 9.0 7 14 Shrub 2.0 5.0 8 0 Forest
Таблица 4: EXCOV.PAT после применения инструмента Построить (Build)
AREA PERIMETER EXCOV# EXCOV-ID COVER-TYPE -25.0 20.0 1 0 2.0 7.5 2 0 3.0 9.0 3 13 Trees 9.0 11.0 4 10 Grass 3.5 8.0 5 13 Forest 1.0 2.5 6 0 Water 4.5 9.0 7 14 Shrub 2.0 5.0 8 0
При использовании инструмента Построить (Build) с опцией POLY, точки надписей полигонов рекомендуются для построения, но не строго обязательны. Надписи полигонов используются для сохранения атрибутов в процессе построения. Хотя это не строго обязательно, точкам надписей рекомендуется иметь уникальные ID.
После построения этого покрытия, значения атрибута COVER-TYPE будут храниться для всех полигонов, имеющих точки надписей; атрибуты в полигонах без точек надписей не сохраняются. Если в покрытии уже есть AAT, то инструмент Построить (Build) с опцией POLY автоматически воссоздаст AAT и повторно присоединит существующие AAT атрибуты, используя каждый номер входящих дуг в качестве связующего звена. Аналогично с NAT. Инструмент Построить (Build) с опцией POLY воссоздаст NAT и повторно присоединит существующие NAT атрибуты.
Инструмент Построить (Build) нельзя применять для покрытия, которое содержит ошибки в координатах. К ошибкам, которые могут привести к проблемам работы инструмента Построить (Build) с опцией POLY, относятся пересекающиеся дуги (без узлов в месте пересечения), незамкнутые полигоны или с несовпадающими узлами, и осколочные полигоны.
Построить линии
Инструмент Построить (Build) с опцией LINE создаёт AAT для дуг в покрытии. Если в покрытии уже есть AAT, то дополнительные поля в AAT объединяются в выходном AAT, при этом внутренний номер дуг используется в качестве связующего звена. Следующие примеры иллюстрируют использование инструмента Построить (Build) с опцией LINE для создания AAT. В первом примере покрытие содержит полигональную топологию. Во втором примере её нет, номера LPOLY и RPOLY записываются нулём.
Таблица 5: Поля из VEG.AAT после применения инструмента Построить (Build)
FNODE TNODE LPOLY RPOLY LENGTH VEG# VEG-ID 1 3 2 1 5.0 1 1 1 2 3 2 2.0 2 2 1 4 1 3 10.0 3 3 2 3 4 2 1.9 4 4 4 2 4 3 3.9 5 5 3 4 4 1 5.1 6 6
Таблица 6: Поля из ROADS.AAT после применения инструмента Построить (Build)
FNODE TNODE LPOLY RPOLY LENGTH ROADS# ROADS-ID 0 0 0 0 1.0 1 1 0 0 0 0 1.2 2 2 0 0 0 0 0.8 3 3 0 0 0 0 0.9 4 4 0 0 0 0 1.0 5 5
Инструмент Построить (Build) с опцией LINE не перестраивает существующую топологию дуг-узлов, как это происходит при использовании инструментов Очистить (Clean) или Построить (Build) с опцией POLY. Однако вы можете использовать инструмент Перенумеровать узлы (Renumber Nodes) для перенумерации номеров внутренних узлов для каждой дуги, а также первого и последнего узлов для каждой дуги. Это можно выполнить до или после использования инструмента Построить (Build) с опцией LINE, таким образом значения AAT для полей FNODE#, TNODE#, и cover# будут правильно обновлены.
Построить точки
Опция POINT строит PAT для точечных объектов покрытия. AREA и PERIMETER имеют значения 0. Если в покрытии уже есть PAT, то любые дополнительные поля в PAT объединяются в выходном PAT, при этом внутренний номер каждой исходной точки используется в качестве связующего звена.
Построить узлы
Инструмент Построить (Build) с опцией NODE строит NAT для объектов узлов в покрытии. Внутренний номер ARC выставляется для одной из дуг (выбранной произвольно), которая связана с этим узлом. Если в покрытии уже есть NAT, то любые дополнительные поля в NAT объединяются в выходном NAT, при этом внутренний номер каждого исходного узла используется в качестве связующего звена.
Таблица 7: Поля из VEG.NAT после применения инструмента Построить (Build)
ARC# VEG# VEG-ID 2 1 1 5 2 4 4 3 3 5 4 12
Если вы желаете прикрепить указанные пользователем поля к NAT и вы не имеете совпадающих узлов, которые вы хотите сохранить на различных высотах, то запустите инструмент покрытия Перенумеровать узлы (Renumber Nodes <cover>). В результате вы разъедините все совпадающие узлы и последовательно, начиная с 1, перенумеруете внутренние номера узлов. Ниже представлена типичная последовательность команд:
CLEAN <cover> POLY
BUILD <cover> LINE
BUILD <cover> NODE
RENODE <cover>
Назначьте уникальные номера User-ID для узлов в NAT и запустите команду Добавить элемент (Add Item), чтобы добавить пользовательские атрибуты. Однако если вы желаете сохранить совпадающие на различных высотах узлы, запустите Перенумеровать узлы (Renumber Nodes) с дополнительными полями высот. Обычно применяется следующая последовательность команд:
BUILD <cover> LINE
Запустите команду Добавить элемент (Add Item), чтобы добавить {from_item} и {to_item} к AAT. Назначьте различные значения высоты для совпадающих узлов.
BUILD <cover> NODE
RENODE <cover> {from_item}{to_item}
Назначьте уникальные номера User-ID для узлов в NAT и запустите команду Добавить элемент (Add Item), чтобы добавить пользовательские атрибуты.
Построить подклассы аннотаций
Параметр Подкласс Аннотаций (Annotation Subclass) строит TAT для объектов аннотаций в покрытии. Минимальный TAT состоит из ID подкласса (subclass-ID) и № подкласса (subclass#). Если в покрытии уже есть TAT, то любые дополнительные поля в TAT объединяются в выходном TAT, при этом внутренний номер каждого исходного объекта аннотаций используется в качестве связующего звена.
Построение с опцией Подкласс аннотаций (Annotation Subclass) не нарушает пространственных связей, если они есть. Они остаются нетронутыми, включая и связи с другими классами объектов. Маски редактирования, если они имеются, остаются на том же месте. Однако инструмент Построить (Build) у других классов объектов удаляет маску редактирования.
Рекомендуемая последующая обработка
Инструмент Построить (Build) удаляет индексы полей. Для создания индекса поля используйте инструмент Индексация поля (Index Item).