распечатать
Фичи-Вложенные объекты 
Топография и GEO данныеПри обработке закупленых данных гидрографии мы столкнулись с проблемой визуализации объектов. Дело в том, что производитель данных при цифровании использовалось общепринятое разбиение объектов на слои типа "гидрография" и "суша", что привело к накладываются один на другой площадных объектов гидрографии, которые закрывали и перекрывали друг друга, а также содержались один в другом.

рис.1


Проблема:

Из-за сложности оцифровки площадных объектов река была разделена производителем данных на несколько площадных объектов, что привело к неоднозначному формированию таких объектов как острова. Часть островов оцифрована как объект «остров», которые видны как окрашенные в желтый цвет на Рисунке 1,а часть - создано как пустое пространство между участками площадной реки ( белый фон – на Рисунке 1), есть объекты, имеющие ошибочный код, что видно при заливке площадных объектов гидрографии на Рисунке 1.

Все это приводит к «исчезанию» объектов при визуализации гидрографии с использованием заливки площадных объектов. Например, на Рисунке 1 полностью отсутствуют острова и озера на островах, расположенные в акватории реки.

В связи с этим нами была проведена работа по «расслоению» гидрографии, в результате которой было создано 3 слоя площадных объектов: площадная река, острова на реке и озера на островах.

Формулировка задачи:Наглядная иллюстрация нашей задачи, преобразования простого полигона в комплексный на рисунке 2:

image001.gifimage005.gifimage007.gif
выглядит как комплексный... но на самом деле это два простых.. а вот это комплексный (синий) и простой (желтый)

рис.2

Решение задачи: Изначально мы имеем класс объектов L4p (гидрография), тип простой полигон (рис.3). Наша цель простой полигон преобразовать в комплексный c тройной вложенностью, то есть выделить из общей массы гидрографии острова и озера на островах. В результате должны получить соответственно три отдельных фичера L4p (вода с дырками), island , Lakes_of_Dnipro.

Image1.jpg

рис.3

Будем последовательны, начнем с извлечения островов из общей массы гидрографии.

  1. Меню Analysis > Functional Attribute …
  2. Нажать New … , откроется новое диалоговое окно Functional Attribute . (рис.4).
  3. B списке Categories выбрать Geometry , в списке Functions двойной клик на строке HOLES. Внизу сразу выводится пояснение данной команды и правильная формулировка выражения.
  4. В поле Expression должно образоваться выражение : “HOLES(Input.Geometry)”
image013.jpg

рис.4

  1. Дать имя новой колонки в поле Functional attribute name.
  2. Нажать Add. Когда появится еще такое же окно, нажать Close.
  3. Переименовать образованный запрос Island. (рис.5).
  4. Нажать ОК.
image012.jpg

рис.5

Примечание.

Геометрия исходного фичера должна быть одним объектом, иначе будут потеряны или повреждены ее атрибуты. В нашем случае реки и водохранилища - разные объекты. Необходимо их объединить Merge Features…

Как результат получаем острова (Island), лежащие сверху отдельным слоем на гидрографии (рис.6).
image018.jpg

рис.6

Образованные острова отображаются не каждый отдельно, а группами. Так как у каждого острова есть свои атрибуты, это недопустимо.

  • Меню Analysis > Functional Attribute… В первом окне, в поле Add Functional attributes for выбрать Island.
  • Создать выражениеIMAGEPOLYGON (Input.HOLES) , как на (рис.7).
  • Нажать Add. Когда появится еще такое же окно, нажать Close.
  • Назвать запрос many_Islands.
  • Нажать ОК .
image021.png

рис.7

Но стоит заметить , что many_Islands – запрос . Его необходимо сохранить как фичер.

  • В меню Warehouse > Output to Feature Class…
  • Указать созданный запрос в поле Select features to output.
  • Connection – из выпадающего меню выбрать базу, в которую будет записан новый фичер. (рис.8).
  • В поле Feature class вписать новое имя (если это необходимо) создаваемого фичер класса.
Нажать ОК
image024.png

рис.8

1. Далее выделим на островах озера отдельным слоем (рис.9).

  • Меню Analysis > Spatial Intersection…
  • Выбрать запрос или фичер, который будем “пространственно пересекать”, объект анализа , Islands .
  • Вид “пересечения” entirely contain.
  • Объект которым будем “отсекать”.
  • Дать название запросу Lakes.
  • Нажать ОК.
image027.png

рис.9

Результат хорошо видно на рис.10, гидрография разбита на три отдельных фичера. Теперь возможно манипулировать гидрографией: основной площадной рекой, островами и озерами в отдельности . Мы достигли желаемого результата.

image023.jpg

рис.10

© ООО «Арт-мастер» 2000 - 2010. Все права защищены.