Страница 1 из 1

Полигональный оверлей с новыми полигонами и уник.атрибутом

Добавлено: 22 авг 2005, 16:26
Каминский Вадим
Есть несколько полигональных перекрывающихся тем. Нужно сделать из них одну оверлейную тему, так чтобы образовались новые полигоны, полученные от перекрытия и им был присвоен уникальный атрибут. Например делаем оверлей 4 полигональных тем. Полигоны, полученные без перекрытия получают уникальный атрибут "0", полигоны, полученные наложением двух тем получают атрибут "1", полигоны, полученные наложением трех тем получают атрибут "2" и т.д. ????

Добавлено: 22 авг 2005, 17:12
Анна
первое, что приходит в голову - сконвертировать все в растры, с присвоением полигонам значения 1, а тому, что за пределам полигонов - 0, и дальше сложить растры. То, что получится в результате - опять в покрытие.

Добавлено: 22 авг 2005, 17:27
Каминский Вадим
Спасибо, Анна, а как сложить растры?

Добавлено: 22 авг 2005, 17:41
Анна
а какое ПО?

Добавлено: 22 авг 2005, 17:51
Каминский Вадим
ArcGis 9

Добавлено: 22 авг 2005, 17:58
Анна
сначала в главном меню подключате tools -> extensions -> spatial analyst, потом его же подключате щелчком мыши по верхней части вида. Появиться панель spatial analyst. Выбираете в меню spatial analyst -> raster calculator и там, точно также как вы бы складывали величины в калькуляторе, нажимаете слой1 + слой2+ и т.д. Затем evaluate

Добавлено: 22 авг 2005, 18:06
Каминский Вадим
Спасибо, будем пробовать. А вот как такую же процедуру сделать с перекрывающимися объектами в одном слое?

Добавлено: 22 авг 2005, 18:30
Анна
а можете описать, что в принципе нужно сделать и на основе чего?

Добавлено: 22 авг 2005, 18:54
Каминский Вадим
Существует полигональная тема зон охвата торговых центров. Эти зоны перекрывают друг-друга. Нобходимо получить слой, в котором не будет перекрывающихся полигонов, а будут полигоны показывающие интенсивность охвата. Т.е. при оверлее перекрывающихся полигонов нам нужно получить новые полигоны, которые можно будет классифицировать по перекрытию, для чего им должен даваться некий атрибут соответствующий степени перекрытия.

Добавлено: 22 авг 2005, 18:55
Каминский Вадим
Надеюсь понятно объяснил

Добавлено: 22 авг 2005, 21:17
Анна
я почему спросила, потому что в целом, судя по этому и предыдущим обсуждениям, мне кажется, имеет смысл делать весь анализ именно с растрами.

Добавлено: 23 авг 2005, 02:08
yumakaev
Если не хочется гарцевать между растровым и векторным форматами, то всё вполне можно проделать и в векторе.

РЕШЕНИЕ ДЛЯ МНОЖЕСТВА ТЕМ:

1) Во всех полигональных слоях создать по столбцу типа integer, с неповторяющимися именами, напр:
Слой 1: Attr1
Слой 2: Attr2 и т.д.

2) Заполнить этот столбец везде значением 1.

3) ArcToolbox -> Analysis Tools -> Overlay -> Union
Опции:
Join Attributes - All
Gaps Allowed

4) В полученном после Union слое удалить все ненужные атрибуты (если мешаются под ногами), кроме Attr1, Attr2 и остальных, созданных в шаге 1. Создать новый атрибут integer SumAttr.

5) Заполнить SumAttr значением Attr1+Attr2+...-1. Всё.

Добавлено: 23 авг 2005, 10:23
Каминский Вадим
Спасибо разобрался. Но вот как такое для одной темы сделать?

Добавлено: 23 авг 2005, 21:27
yumakaev
Никак :( . Покопался с инструментами, они не делают того, что нужно. UNION работает на одной теме, но результат получается, увы, не тот, что со множеством тем (на пересечени полигонов получаются дублирующиеся полигоны). Вот поэтому я лично не люблю нетопологические данные :evil: - я пока не видел нормально реализованного инструментария, который реально позволял бы задействовать все потенциальные преимущества нетопологического подхода.

Так что два варианта: либо из одной темы сначала выделить несколько разных (см команду SELECT), либо поискать какие-нибудь скрипты на ArcScripts - может, кто и реализовал то что нужно.

Добавлено: 24 авг 2005, 10:24
Каминский Вадим
Да, в том то вся и заморочка, что юнион делает дубли. Работать с нетопологическими данными не хочется, но жизнь заставляет. Когда строишь зоны охвата в нетворк аналисте 3 арки , для большого кол-ва точек, то полигоны перекрываются, а строить для каждой точки отдельно... :shock: Сейчас поставил Арк 9.1, покапаюсь в его нетворке, может там все получше будет :) . Всем спасибо .