Подсчет количества объектов внутри заданного радиуса Arcgis

ArcGIS 8.x,9.x,10.x (Arcview, ArcEditor, Arcinfo).
Ответить
alonsa
Новоприбывший
Сообщения: 3
Зарегистрирован: 09 фев 2010, 01:34
Репутация: 0
Откуда: Москва

Подсчет количества объектов внутри заданного радиуса Arcgis

Сообщение alonsa » 09 фев 2010, 01:50

Добрый день!
Подскажите, пожалуйста, как посчитать количество объектов внутри заданного радиуса вокруг другого объекта в arcgis? например, есть список магазинов, нужно посчитать количество конкурентов радиусе 1 км и количество населения в радиусе 1 км для каждого магазина. Жители привязаны к слою с домами, как атрибут, конкуренты и магазины отдельные слои. Как можно сделать это наиболее простым способом ? В результате хотелось бы получить два новых столбца со значениями для каждого магазина.
Спасибо.

Аватара пользователя
nadiopt
Гуру
Сообщения: 4744
Зарегистрирован: 29 янв 2009, 13:27
Репутация: 495
Ваше звание: хрюкало
Откуда: Санкт-Петербург
Контактная информация:

Re: Подсчет количества объектов внутри заданного радиуса Arcgis

Сообщение nadiopt » 09 фев 2010, 10:55

1. Создаем буферные зоны вокруг нужных объектов
http://webhelp.esri.com/arcgisdesktop/9 ... nalysis%29
например магазинов
2. Пересекаем этот буфер жителями - получаем новый слой количества жителей в буфере
http://webhelp.esri.com/arcgisdesktop/9 ... nalysis%29
результирующий слой будет количество жителей в буферной зоне магазина
ин гроссен фамилен нихт клювен клац клац

alonsa
Новоприбывший
Сообщения: 3
Зарегистрирован: 09 фев 2010, 01:34
Репутация: 0
Откуда: Москва

Re: Подсчет количества объектов внутри заданного радиуса Arcgis

Сообщение alonsa » 10 фев 2010, 02:19

Спасибо! а с конкурентами то же самое ? и как просмотреть информацию по новому слою с жителями? т.е. где можно увидеть число жителей на буферную зону?

Аватара пользователя
nadiopt
Гуру
Сообщения: 4744
Зарегистрирован: 29 янв 2009, 13:27
Репутация: 495
Ваше звание: хрюкало
Откуда: Санкт-Петербург
Контактная информация:

Re: Подсчет количества объектов внутри заданного радиуса Arcgis

Сообщение nadiopt » 10 фев 2010, 09:02

с конкурентами то же самое
инфу можно увидеть инструментом "инфо" (такой синенький кружочек с буквой i) и открыв таблицу атрибутов новго слоя
ин гроссен фамилен нихт клювен клац клац

alonsa
Новоприбывший
Сообщения: 3
Зарегистрирован: 09 фев 2010, 01:34
Репутация: 0
Откуда: Москва

Re: Подсчет количества объектов внутри заданного радиуса Arcgis

Сообщение alonsa » 10 фев 2010, 10:22

Спасибо :)

Аватара пользователя
nadiopt
Гуру
Сообщения: 4744
Зарегистрирован: 29 янв 2009, 13:27
Репутация: 495
Ваше звание: хрюкало
Откуда: Санкт-Петербург
Контактная информация:

Re: Подсчет количества объектов внутри заданного радиуса Arcgis

Сообщение nadiopt » 10 фев 2010, 10:43

получается что-нибудь? у меня просто арки нет сейчас под рукой, может где-то неточности...
ин гроссен фамилен нихт клювен клац клац

self-improving
Активный участник
Сообщения: 144
Зарегистрирован: 18 дек 2009, 15:36
Репутация: 4
Откуда: Златоглавая

Re: Подсчет количества объектов внутри заданного радиуса Arcgis

Сообщение self-improving » 11 фев 2010, 17:08

nadiopt, извините, но мне кажется, что Intersect - не лучший вариант
В этом случае (как и при всяком другом оверлее из TBX) объекты так или иначе разбиваются на части. А т.к. контуры домов резать явно не нужно (подъезды 1-3 ходят в магазин А, подъезды 4-7 - в магазин Б?..), то результат немного не тот :) Точнее, понадобится еще пара манипуляций, чтобы вышло то, что надо.

Я бы предложила Spatial Join.
1. Как и сказала nadiopt, первым делом строятся буферы вокруг магазинов (получаем слой Shops_Buffer).
2. Делаем Spatial Join для Shops_Buffer с Конкурентами. В итоге получается столбец Count - кол-во конкурентов, приходящихся на километровую "зону влияния" каждого магазина.
3. Делаем Spatial Join для Shops_Buffer с Домами (=Жителями). При этом для атрибута Число жителей ставим галочку напротив Sum (Сумма). В итоге получается столбец с суммой жителей из всех домов, которые пересеклись с буферами.
4. Делаем Join для исходного слоя Магазины с результатами пунктов 2 и 3 и "копируем" (=вычисляем) столбцы Число конкурентов и Число жителей. Join можно убирать =)

Пункты 2 и 3 можно как из ToolBox'a запускать, так и через контекстное меню (правой кнопкой на слое Shops_Buffer -> Joins & Relates -> Join).
Ну можно еще, чтоб не плодить лишние файлы, результат пункта 2 использовать как входной в пункт 3.

Аватара пользователя
nadiopt
Гуру
Сообщения: 4744
Зарегистрирован: 29 янв 2009, 13:27
Репутация: 495
Ваше звание: хрюкало
Откуда: Санкт-Петербург
Контактная информация:

Re: Подсчет количества объектов внутри заданного радиуса Arcgis

Сообщение nadiopt » 11 фев 2010, 17:37

спасибо за более изящное решение, возьму на заметку
ин гроссен фамилен нихт клювен клац клац

self-improving
Активный участник
Сообщения: 144
Зарегистрирован: 18 дек 2009, 15:36
Репутация: 4
Откуда: Златоглавая

Re: Подсчет количества объектов внутри заданного радиуса Arcgis

Сообщение self-improving » 11 фев 2010, 18:42

nadiopt писал(а):спасибо за более изящное решение, возьму на заметку
Надеюсь, без обид? :)
просто через Intersect не получилось, и стало интересно, как бы еще можно это сделать... )

Аватара пользователя
nadiopt
Гуру
Сообщения: 4744
Зарегистрирован: 29 янв 2009, 13:27
Репутация: 495
Ваше звание: хрюкало
Откуда: Санкт-Петербург
Контактная информация:

Re: Подсчет количества объектов внутри заданного радиуса Arcgis

Сообщение nadiopt » 12 фев 2010, 11:56

на что тут обижаться? я просто не сообразила, что дома- полигональные объекты, поскольку обычно делаю интерсект чтобы выяснить какие деревья относятся к какой части парка. а дерево - объект точечный:)
ин гроссен фамилен нихт клювен клац клац

FFF
Новоприбывший
Сообщения: 6
Зарегистрирован: 24 июл 2020, 17:34
Репутация: 0
Откуда: Москва

Re: Подсчет количества объектов внутри заданного радиуса Arcgis

Сообщение FFF » 20 авг 2020, 08:42

Подскажите пожалуйста, а можно тоже самое сделать в qgis или mapinfo, но в определенном диапазоне радиусов, например в радиусе от 500м до 1000м?

gamm
Гуру
Сообщения: 4056
Зарегистрирован: 15 окт 2010, 08:33
Репутация: 1054
Ваше звание: программист
Откуда: Казань

Re: Подсчет количества объектов внутри заданного радиуса Arcgis

Сообщение gamm » 20 авг 2020, 08:52

FFF писал(а):
20 авг 2020, 08:42
можно тоже самое сделать в qgis или mapinfo
можно, сначала построив кольцевой буфер (в Мапинфе такое есть, в QGIS вроде прямого нет, нужно использовать алгебру полигонов - из большего вычесть меньший), потом запрос.

Аватара пользователя
Игорь Белов
Гуру
Сообщения: 2229
Зарегистрирован: 04 янв 2011, 22:00
Репутация: 1501
Откуда: Казань

Re: Подсчет количества объектов внутри заданного радиуса Arcgis

Сообщение Игорь Белов » 20 авг 2020, 08:55

В QGIS есть плагин Multi Ring Buffer
The purpose of computing is insight, not numbers

FFF
Новоприбывший
Сообщения: 6
Зарегистрирован: 24 июл 2020, 17:34
Репутация: 0
Откуда: Москва

Re: Подсчет количества объектов внутри заданного радиуса Arcgis

Сообщение FFF » 20 авг 2020, 08:56

gamm писал(а):
20 авг 2020, 08:52
можно, сначала построив кольцевой буфер (в Мапинфе такое есть, в QGIS вроде прямого нет, нужно использовать алгебру полигонов - из большего вычесть меньший), потом запрос.
Кольцевой буфер имеете в виду обычный с одним радиусом или концентрический?
Если концентрический, то mapinfo строит его 1 на все объекты, а необходимо, чтобы был отдельный буфер от каждого объекта.
И в как запрос составить?

gamm
Гуру
Сообщения: 4056
Зарегистрирован: 15 окт 2010, 08:33
Репутация: 1054
Ваше звание: программист
Откуда: Казань

Re: Подсчет количества объектов внутри заданного радиуса Arcgis

Сообщение gamm » 20 авг 2020, 09:55

Типа такого, obj intersects big and obj not intersects small, синтаксис в документации

Ответить

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

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

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