Группировать значения при Spacial Join

0 голосов
спросил 12 Фев, 10 от Van_Geo (5,560 баллов) в категории Программные продукты Esri
Извините за целую группу вопросов, но уже не знаю, что делать...
В ArcToolBox есть прекрасный инструмент Spacial Join, есть что-то похожее с функцией суммирования?
задача: в одном слое найти пересекающееся объекты.
Что я делаю: Есть слой полигональных объектов, делаю его копию, запускаю Spacial Join с параметром Intersect, получаю слой где есть дублирующиеся объекты (было хорошо если б вместо нескольких идентичных объектов в одном и том же месте я получил один с суммированными значениями).
В MapInfo есть функция Update Column с возможностью группировки при обновлении значений по вхождению.
Может и в ArcGis есть такая же? Чтобы можно было с одной таблицы в другую перекинуть значение по пространственному или атрибутивному соответствию. А если соответствие один ко многим, то сумировать, среденее, количество и т.д.

7 Ответы

0 голосов
ответил 15 Фев, 10 от self-improving1 (2,780 баллов)
По сути, в Spatial Join есть "функция суммирования".
В выходном классе объектов у вас появляется новое поле Join_Count. Число в нем - это количество присоединенных объектов.

В вашем случае. Вы все делаете правильно:
Что я делаю: Есть слой полигональных объектов, делаю его копию, запускаю Spacial Join с параметром Intersect, получаю слой где есть дублирующиеся объекты (было хорошо если б вместо нескольких идентичных объектов в одном и том же месте я получил один с суммированными значениями).
Просто откройте таблицу атрибутов и посмотрите поле Join_Count. Если стоит 1 - пересечений нет. Если 2 и более - пересечения есть, их кол-во равно [Join_Count]-1
0 голосов
ответил 16 Фев, 10 от Van_Geo (5,560 баллов)
Спасибо за ответ.
Мне таки удалось найти алгоритм достижения желаемого, но для этого нужно сделать один раз Spacial Join и два раза пространственное соединение в ArcMap.
Надеюсь, что когда доберусь до программирования в ArcGis, то все это на много упростится.
0 голосов
ответил 16 Фев, 10 от self-improving1 (2,780 баллов)
Мне таки удалось найти алгоритм достижения желаемого, но для этого нужно сделать один раз Spacial Join и два раза пространственное соединение в ArcMap.

Поздравляю с успешным решением проблемы =)
На заметку: Spatial (=Spacial у вас) Join это и есть пространственное соединение, только по-английски  Smile
0 голосов
ответил 16 Фев, 10 от Van_Geo (5,560 баллов)

На заметку: Spatial (=Spacial у вас) Join это и есть пространственное соединение, только по-английски 


Да но к сожалению пространственное соединение в ArcCatalog и ArcMap отличаются. В ArcMap есть возможность суммировать, а в ArcCatalog - создает копии объектов без ссылки на оригинальный.
    
0 голосов
ответил 16 Фев, 10 от self-improving1 (2,780 баллов)
Извините, но стало уже совсем непонятно, в чем, собственно, задача - и в чем проблемы  Smile
В ArcCatalog'e как таковом нет Spatial Join - это в ArcToolbox. А он в ArcMap такой же. Кроме того, в ArcMap есть еще соединение через контекстное меню слоя. При этом - суммирование есть и там, и там.

Но раз у вас все получилось - тогда, конечно, неважно.
0 голосов
ответил 16 Фев, 10 от Van_Geo (5,560 баллов)
В ArcMap пользуюсь Spatial Join через контекстное меню слоя(Соединение/Соединение и связи/...на основании пространственной привязки). И тут есть "Сумма", но к сожалению нету возможности указать тип пространственного соотношения (включает в себя, входит в, пересекается).
А в ArcCatalog'e есть возможность указать опции сопоставления, но нету "Суммы".
image
Может есть другие Spatial Join?
0 голосов
ответил 16 Фев, 10 от self-improving1 (2,780 баллов)
То, что вы называете "в ArcCatalog", - это ArcToolbox, в ArcMap тоже можно вызвать.
Тип суммирования задать можно. В списке полей правый щелчок на поле с нужным значением - Merge Rule (Тип слияния) - и все, что душа пожелает: и сумма, и максимум, и медиана... Можете вообще удалить ненужные поля.
Почитать можно в хэлпе.
И не надо никакого программирования  =)
Добро пожаловать на сайт Вопросов и Ответов, где вы можете задавать вопросы по GIS тематике и получать ответы от других членов сообщества.
...