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

ArcGIS 8.x,9.x,10.x (Arcview, ArcEditor, Arcinfo).
Ответить
Каминский Вадим
Активный участник
Сообщения: 138
Зарегистрирован: 18 авг 2005, 18:05
Репутация: 0

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

Сообщение Каминский Вадим » 22 авг 2005, 16:26

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

Анна
Завсегдатай
Сообщения: 386
Зарегистрирован: 07 фев 2004, 14:31
Репутация: 7
Откуда: Лозанна
Контактная информация:

Сообщение Анна » 22 авг 2005, 17:12

первое, что приходит в голову - сконвертировать все в растры, с присвоением полигонам значения 1, а тому, что за пределам полигонов - 0, и дальше сложить растры. То, что получится в результате - опять в покрытие.

Каминский Вадим
Активный участник
Сообщения: 138
Зарегистрирован: 18 авг 2005, 18:05
Репутация: 0

Сообщение Каминский Вадим » 22 авг 2005, 17:27

Спасибо, Анна, а как сложить растры?

Анна
Завсегдатай
Сообщения: 386
Зарегистрирован: 07 фев 2004, 14:31
Репутация: 7
Откуда: Лозанна
Контактная информация:

Сообщение Анна » 22 авг 2005, 17:41

а какое ПО?

Каминский Вадим
Активный участник
Сообщения: 138
Зарегистрирован: 18 авг 2005, 18:05
Репутация: 0

Сообщение Каминский Вадим » 22 авг 2005, 17:51

ArcGis 9

Анна
Завсегдатай
Сообщения: 386
Зарегистрирован: 07 фев 2004, 14:31
Репутация: 7
Откуда: Лозанна
Контактная информация:

Сообщение Анна » 22 авг 2005, 17:58

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

Каминский Вадим
Активный участник
Сообщения: 138
Зарегистрирован: 18 авг 2005, 18:05
Репутация: 0

Сообщение Каминский Вадим » 22 авг 2005, 18:06

Спасибо, будем пробовать. А вот как такую же процедуру сделать с перекрывающимися объектами в одном слое?

Анна
Завсегдатай
Сообщения: 386
Зарегистрирован: 07 фев 2004, 14:31
Репутация: 7
Откуда: Лозанна
Контактная информация:

Сообщение Анна » 22 авг 2005, 18:30

а можете описать, что в принципе нужно сделать и на основе чего?

Каминский Вадим
Активный участник
Сообщения: 138
Зарегистрирован: 18 авг 2005, 18:05
Репутация: 0

Сообщение Каминский Вадим » 22 авг 2005, 18:54

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

Каминский Вадим
Активный участник
Сообщения: 138
Зарегистрирован: 18 авг 2005, 18:05
Репутация: 0

Сообщение Каминский Вадим » 22 авг 2005, 18:55

Надеюсь понятно объяснил

Анна
Завсегдатай
Сообщения: 386
Зарегистрирован: 07 фев 2004, 14:31
Репутация: 7
Откуда: Лозанна
Контактная информация:

Сообщение Анна » 22 авг 2005, 21:17

я почему спросила, потому что в целом, судя по этому и предыдущим обсуждениям, мне кажется, имеет смысл делать весь анализ именно с растрами.

yumakaev
Активный участник
Сообщения: 143
Зарегистрирован: 10 мар 2004, 08:07
Репутация: 10
Откуда: Redlands
Контактная информация:

Сообщение yumakaev » 23 авг 2005, 02:08

Если не хочется гарцевать между растровым и векторным форматами, то всё вполне можно проделать и в векторе.

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

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. Всё.

Каминский Вадим
Активный участник
Сообщения: 138
Зарегистрирован: 18 авг 2005, 18:05
Репутация: 0

Сообщение Каминский Вадим » 23 авг 2005, 10:23

Спасибо разобрался. Но вот как такое для одной темы сделать?

yumakaev
Активный участник
Сообщения: 143
Зарегистрирован: 10 мар 2004, 08:07
Репутация: 10
Откуда: Redlands
Контактная информация:

Сообщение yumakaev » 23 авг 2005, 21:27

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

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

Каминский Вадим
Активный участник
Сообщения: 138
Зарегистрирован: 18 авг 2005, 18:05
Репутация: 0

Сообщение Каминский Вадим » 24 авг 2005, 10:24

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

Ответить

Вернуться в «ArcGIS»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 11 гостей