При обработке закупленых данных гидрографии мы столкнулись с проблемой визуализации объектов. Дело в том, что производитель данных при цифровании использовалось общепринятое разбиение объектов на слои типа "гидрография" и "суша", что привело к накладываются один на другой площадных объектов гидрографии, которые закрывали и перекрывали друг друга, а также содержались один в другом. | рис.1
|
Проблема:
Из-за сложности оцифровки площадных объектов река была разделена производителем данных на несколько площадных объектов, что привело к неоднозначному формированию таких объектов как острова. Часть островов оцифрована как объект «остров», которые видны как окрашенные в желтый цвет на Рисунке 1,а часть - создано как пустое пространство между участками площадной реки ( белый фон – на Рисунке 1), есть объекты, имеющие ошибочный код, что видно при заливке площадных объектов гидрографии на Рисунке 1.
Все это приводит к «исчезанию» объектов при визуализации гидрографии с использованием заливки площадных объектов. Например, на Рисунке 1 полностью отсутствуют острова и озера на островах, расположенные в акватории реки.
В связи с этим нами была проведена работа по «расслоению» гидрографии, в результате которой было создано 3 слоя площадных объектов: площадная река, острова на реке и озера на островах.
Формулировка задачи:Наглядная иллюстрация нашей задачи, преобразования простого полигона в комплексный на рисунке 2:
Решение задачи: Изначально мы имеем класс объектов L4p (гидрография), тип простой полигон (рис.3). Наша цель простой полигон преобразовать в комплексный c тройной вложенностью, то есть выделить из общей массы гидрографии острова и озера на островах. В результате должны получить соответственно три отдельных фичера L4p (вода с дырками), island , Lakes_of_Dnipro.
 | рис.3
|
Будем последовательны, начнем с извлечения островов из общей массы гидрографии.
- Меню Analysis > Functional Attribute …
- Нажать New … , откроется новое диалоговое окно Functional Attribute . (рис.4).
- B списке Categories выбрать Geometry , в списке Functions двойной клик на строке HOLES. Внизу сразу выводится пояснение данной команды и правильная формулировка выражения.
- В поле Expression должно образоваться выражение : “HOLES(Input.Geometry)”
|  | | рис.4
| - Дать имя новой колонки в поле Functional attribute name.
- Нажать Add. Когда появится еще такое же окно, нажать Close.
- Переименовать образованный запрос Island. (рис.5).
- Нажать ОК.
|  | | рис.5
|
Примечание.
Геометрия исходного фичера должна быть одним объектом, иначе будут потеряны или повреждены ее атрибуты. В нашем случае реки и водохранилища - разные объекты. Необходимо их объединить Merge Features…
Как результат получаем острова (Island), лежащие сверху отдельным слоем на гидрографии (рис.6).  | рис.6
|
Образованные острова отображаются не каждый отдельно, а группами. Так как у каждого острова есть свои атрибуты, это недопустимо.
- Меню Analysis > Functional Attribute… В первом окне, в поле Add Functional attributes for выбрать Island.
- Создать выражение “IMAGEPOLYGON (Input.HOLES)” , как на (рис.7).
- Нажать Add. Когда появится еще такое же окно, нажать Close.
- Назвать запрос many_Islands.
- Нажать ОК .
|  | | рис.7
| Но стоит заметить , что many_Islands – запрос . Его необходимо сохранить как фичер.
- В меню Warehouse > Output to Feature Class…
- Указать созданный запрос в поле Select features to output.
- Connection – из выпадающего меню выбрать базу, в которую будет записан новый фичер. (рис.8).
- В поле Feature class вписать новое имя (если это необходимо) создаваемого фичер класса.
Нажать ОК |  | | рис.8
|
1. Далее выделим на островах озера отдельным слоем (рис.9).
- Меню Analysis > Spatial Intersection…
- Выбрать запрос или фичер, который будем “пространственно пересекать”, объект анализа , Islands .
- Вид “пересечения” entirely contain.
- Объект которым будем “отсекать”.
- Дать название запросу Lakes.
- Нажать ОК.
|  | | рис.9
|
Результат хорошо видно на рис.10, гидрография разбита на три отдельных фичера. Теперь возможно манипулировать гидрографией: основной площадной рекой, островами и озерами в отдельности . Мы достигли желаемого результата.
 | рис.10
|
|