выборка в ArcGIS10.1

ArcGIS 8.x,9.x,10.x (Arcview, ArcEditor, Arcinfo).
Ответить
Egor
Активный участник
Сообщения: 109
Зарегистрирован: 26 апр 2006, 10:40
Репутация: 0
Откуда: Санкт-Петербург
Контактная информация:

выборка в ArcGIS10.1

Сообщение Egor » 22 авг 2014, 17:38

Есть два слоя - площадной (здания) и точечный. Каким стандартным инструментом выбрать те здания, которые содержат больше одного точечного объекта?
Мир вашему дому!

trir
Гуру
Сообщения: 5355
Зарегистрирован: 09 апр 2010, 19:30
Репутация: 1021
Ваше звание: просто мимо прохожу
Откуда: Ё-бург

Re: выборка в ArcGIS10.1

Сообщение trir » 22 авг 2014, 19:21

SQL

marty
Участник
Сообщения: 81
Зарегистрирован: 15 авг 2014, 19:35
Репутация: 13

Re: выборка в ArcGIS10.1

Сообщение marty » 23 авг 2014, 00:10

Может быть можно и инструментами справиться, только вряд ли одним. Тут нужно - найти способ для каждого полигона вывести число попавших в него точек, а потом просто проранжировать в таблице и выбрать нужные по этому числу.
Первая задача - должна решаться инструментами.

nickleb
Гуру
Сообщения: 968
Зарегистрирован: 22 май 2010, 20:20
Репутация: 154

Re: выборка в ArcGIS10.1

Сообщение nickleb » 23 авг 2014, 11:10

Гипотетически так, м.б., если SQL (trir правильный путь указал), но не знаю как реализуется ли это в ArcGIS:

SELECT A.ID_Zdanie_площадной_здания, COUNT(B.точечный) as Cnt_Points
FROM площадной_здания A, точечный B
WHERE A.ID_Zdanie_площадной_здания=B.ID_Zdanie_точечный
GROUP BY A.ID_Zdanie_площадной_здания
HAVING COUNT(B.точечный) >= 1

Это еще и при условии, что в "точечный" есть уже ID полигонов зданий.

trir
Гуру
Сообщения: 5355
Зарегистрирован: 09 апр 2010, 19:30
Репутация: 1021
Ваше звание: просто мимо прохожу
Откуда: Ё-бург

Re: выборка в ArcGIS10.1

Сообщение trir » 23 авг 2014, 11:14

STContains

Как то так:

Код: Выделить всё

zdid, sum(stc)
from (select A.ID_Zdanie_площадной_здания zdid, здание.STContains(точка) stc
from площадной_здания A, точечный B
where здание.STContains(точка) = 1) as tbl1
WHERE sum(stc)>=2
GROUP BY zdid

Аватара пользователя
Эдуард Казаков
Гуру
Сообщения: 549
Зарегистрирован: 23 апр 2014, 17:11
Репутация: 535
Откуда: Planet Earth
Контактная информация:

Re: выборка в ArcGIS10.1

Сообщение Эдуард Казаков » 23 авг 2014, 15:13

Вариант с SQL, конечно, наиболее предпочтителен.
Но можно и инструментами. Я бы сделал так:
1. Добавил через калькулятор полей к точечному слою атрибут (пусть будет "P") целочисленного типа, для каждого объекта присвоил бы ему значение 1.
2. Для полигонального слоя в контекстном меню зашел в "Соединения и связи" - "Соединения", в выпадающем списке выбрал "Присоединить к слою данные из другого слоя на основании пространственного положения" (Join data from another layer based on spatial location), выбрал слой Point в качестве присоединяемого и галочку "сумма" для суммирования атрибутов. В результирующем полигональном слое будет атрибут "Sum_P", в котором будет записано число точек, попавших в этот полигон. Далее можно, при необходимости, присоединить это поле к исходному полигональному слою, и выбрать интересующие объекты через "Таблица атрибутов" - "Выбор по атрибуту", где просто написать "Sum_P" > 1

marty
Участник
Сообщения: 81
Зарегистрирован: 15 авг 2014, 19:35
Репутация: 13

Re: выборка в ArcGIS10.1

Сообщение marty » 23 авг 2014, 16:44

Эдуард Казаков писал(а): и выбрать интересующие объекты через "Таблица атрибутов" - "Выбор по атрибуту", где просто написать "Sum_P" > 1
А почему вы считаете, что вариант с SQL лучше, когда решатеся и без него и так просто? Ваш способ - отличное решение, на мой взгляд.
Еще одно упрощение - если проранжировать поле с числом точек по возрастанию, то выделением можно выбрать и создать новый шейп с желаемым числом точек в полигоне.

Egor
Активный участник
Сообщения: 109
Зарегистрирован: 26 апр 2006, 10:40
Репутация: 0
Откуда: Санкт-Петербург
Контактная информация:

Re: выборка в ArcGIS10.1

Сообщение Egor » 28 авг 2014, 09:24

Спасибо!
Мир вашему дому!

evreyyy
Интересующийся
Сообщения: 27
Зарегистрирован: 14 май 2013, 10:44
Репутация: 0

Re: выборка в ArcGIS10.1

Сообщение evreyyy » 10 ноя 2014, 10:20

Добрый день.
скажите а можно ли в Arcgis реализовать следующее.
Речь пойдет о хранении информации в формате .mxd
есть shp района республики с сельхоз землями (среди атриботов полигонов - собственник и тд т тп)
как сделать так что бы район отображался сгруппированным из всех собственников входящих в его состав (поставил все галки напротив каждого получил весь район)
если делаю выборку по атрибуту SP (собственник) и создаю новый shp с сельхоз угодяьями относящимися только к этому собственнику все норм, потом группирую их по отношению к району все норм - но собственников много и выбирать таким образом игруппировать не рационально и долго.
скажите можно ли выбирать уникальные значения атрибута и сохранять в разные shp файлы???

Аватара пользователя
jerry-maori
Гуру
Сообщения: 585
Зарегистрирован: 22 авг 2012, 17:02
Репутация: 143
Откуда: Нижний Новгород

Re: выборка в ArcGIS10.1

Сообщение jerry-maori » 10 ноя 2014, 10:28

Ваять pipeline путём model-builder.
Примерно так:
1. загружаем Shp
2. формируем переменную с списком уникальных значений по полю
3. пробегаем встроенным for по этому списку и делаем выборку из исходного shp
4. результат сохраняем в shp (имя можно генерить в виде инкремента + имя собственника)

evreyyy
Интересующийся
Сообщения: 27
Зарегистрирован: 14 май 2013, 10:44
Репутация: 0

Re: выборка в ArcGIS10.1

Сообщение evreyyy » 10 ноя 2014, 10:51

спосибо
наверно это работает, но я ничего не понял)

Аватара пользователя
jerry-maori
Гуру
Сообщения: 585
Зарегистрирован: 22 авг 2012, 17:02
Репутация: 143
Откуда: Нижний Новгород

Re: выборка в ArcGIS10.1

Сообщение jerry-maori » 10 ноя 2014, 11:28


Ответить

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

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

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