выборка в ArcGIS10.1
-
- Активный участник
- Сообщения: 109
- Зарегистрирован: 26 апр 2006, 10:40
- Репутация: 0
- Откуда: Санкт-Петербург
- Контактная информация:
выборка в ArcGIS10.1
Есть два слоя - площадной (здания) и точечный. Каким стандартным инструментом выбрать те здания, которые содержат больше одного точечного объекта?
Мир вашему дому!
-
- Гуру
- Сообщения: 5355
- Зарегистрирован: 09 апр 2010, 19:30
- Репутация: 1021
- Ваше звание: просто мимо прохожу
- Откуда: Ё-бург
-
- Участник
- Сообщения: 81
- Зарегистрирован: 15 авг 2014, 19:35
- Репутация: 13
Re: выборка в ArcGIS10.1
Может быть можно и инструментами справиться, только вряд ли одним. Тут нужно - найти способ для каждого полигона вывести число попавших в него точек, а потом просто проранжировать в таблице и выбрать нужные по этому числу.
Первая задача - должна решаться инструментами.
Первая задача - должна решаться инструментами.
-
- Гуру
- Сообщения: 968
- Зарегистрирован: 22 май 2010, 20:20
- Репутация: 154
Re: выборка в ArcGIS10.1
Гипотетически так, м.б., если 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 полигонов зданий.
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 полигонов зданий.
-
- Гуру
- Сообщения: 5355
- Зарегистрирован: 09 апр 2010, 19:30
- Репутация: 1021
- Ваше звание: просто мимо прохожу
- Откуда: Ё-бург
Re: выборка в ArcGIS10.1
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
Вариант с SQL, конечно, наиболее предпочтителен.
Но можно и инструментами. Я бы сделал так:
1. Добавил через калькулятор полей к точечному слою атрибут (пусть будет "P") целочисленного типа, для каждого объекта присвоил бы ему значение 1.
2. Для полигонального слоя в контекстном меню зашел в "Соединения и связи" - "Соединения", в выпадающем списке выбрал "Присоединить к слою данные из другого слоя на основании пространственного положения" (Join data from another layer based on spatial location), выбрал слой Point в качестве присоединяемого и галочку "сумма" для суммирования атрибутов. В результирующем полигональном слое будет атрибут "Sum_P", в котором будет записано число точек, попавших в этот полигон. Далее можно, при необходимости, присоединить это поле к исходному полигональному слою, и выбрать интересующие объекты через "Таблица атрибутов" - "Выбор по атрибуту", где просто написать "Sum_P" > 1
Но можно и инструментами. Я бы сделал так:
1. Добавил через калькулятор полей к точечному слою атрибут (пусть будет "P") целочисленного типа, для каждого объекта присвоил бы ему значение 1.
2. Для полигонального слоя в контекстном меню зашел в "Соединения и связи" - "Соединения", в выпадающем списке выбрал "Присоединить к слою данные из другого слоя на основании пространственного положения" (Join data from another layer based on spatial location), выбрал слой Point в качестве присоединяемого и галочку "сумма" для суммирования атрибутов. В результирующем полигональном слое будет атрибут "Sum_P", в котором будет записано число точек, попавших в этот полигон. Далее можно, при необходимости, присоединить это поле к исходному полигональному слою, и выбрать интересующие объекты через "Таблица атрибутов" - "Выбор по атрибуту", где просто написать "Sum_P" > 1
-
- Участник
- Сообщения: 81
- Зарегистрирован: 15 авг 2014, 19:35
- Репутация: 13
Re: выборка в ArcGIS10.1
А почему вы считаете, что вариант с SQL лучше, когда решатеся и без него и так просто? Ваш способ - отличное решение, на мой взгляд.Эдуард Казаков писал(а): и выбрать интересующие объекты через "Таблица атрибутов" - "Выбор по атрибуту", где просто написать "Sum_P" > 1
Еще одно упрощение - если проранжировать поле с числом точек по возрастанию, то выделением можно выбрать и создать новый шейп с желаемым числом точек в полигоне.
-
- Активный участник
- Сообщения: 109
- Зарегистрирован: 26 апр 2006, 10:40
- Репутация: 0
- Откуда: Санкт-Петербург
- Контактная информация:
-
- Интересующийся
- Сообщения: 27
- Зарегистрирован: 14 май 2013, 10:44
- Репутация: 0
Re: выборка в ArcGIS10.1
Добрый день.
скажите а можно ли в Arcgis реализовать следующее.
Речь пойдет о хранении информации в формате .mxd
есть shp района республики с сельхоз землями (среди атриботов полигонов - собственник и тд т тп)
как сделать так что бы район отображался сгруппированным из всех собственников входящих в его состав (поставил все галки напротив каждого получил весь район)
если делаю выборку по атрибуту SP (собственник) и создаю новый shp с сельхоз угодяьями относящимися только к этому собственнику все норм, потом группирую их по отношению к району все норм - но собственников много и выбирать таким образом игруппировать не рационально и долго.
скажите можно ли выбирать уникальные значения атрибута и сохранять в разные shp файлы???
скажите а можно ли в Arcgis реализовать следующее.
Речь пойдет о хранении информации в формате .mxd
есть shp района республики с сельхоз землями (среди атриботов полигонов - собственник и тд т тп)
как сделать так что бы район отображался сгруппированным из всех собственников входящих в его состав (поставил все галки напротив каждого получил весь район)
если делаю выборку по атрибуту SP (собственник) и создаю новый shp с сельхоз угодяьями относящимися только к этому собственнику все норм, потом группирую их по отношению к району все норм - но собственников много и выбирать таким образом игруппировать не рационально и долго.
скажите можно ли выбирать уникальные значения атрибута и сохранять в разные shp файлы???
- jerry-maori
- Гуру
- Сообщения: 585
- Зарегистрирован: 22 авг 2012, 17:02
- Репутация: 143
- Откуда: Нижний Новгород
Re: выборка в ArcGIS10.1
Ваять pipeline путём model-builder.
Примерно так:
1. загружаем Shp
2. формируем переменную с списком уникальных значений по полю
3. пробегаем встроенным for по этому списку и делаем выборку из исходного shp
4. результат сохраняем в shp (имя можно генерить в виде инкремента + имя собственника)
Примерно так:
1. загружаем Shp
2. формируем переменную с списком уникальных значений по полю
3. пробегаем встроенным for по этому списку и делаем выборку из исходного shp
4. результат сохраняем в shp (имя можно генерить в виде инкремента + имя собственника)
-
- Интересующийся
- Сообщения: 27
- Зарегистрирован: 14 май 2013, 10:44
- Репутация: 0
Re: выборка в ArcGIS10.1
спосибо
наверно это работает, но я ничего не понял)
наверно это работает, но я ничего не понял)
- jerry-maori
- Гуру
- Сообщения: 585
- Зарегистрирован: 22 авг 2012, 17:02
- Репутация: 143
- Откуда: Нижний Новгород
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 9 гостей