Страница 1 из 2
Как сделать полигоны "бублик" или вычесть полиг. объекты?
Добавлено: 28 окт 2013, 23:47
Natalia Novoselova
Доброго времени суток!
У меня вопрос - можно ли как-то в ArcMap вычесть из полигональных объектов одной темы - полигональные объекты другой темы?
Есть 2 темы - Большие круги и малые круги, с центром в одной точке и одинаковым полем ID. Мне нужно из большого круга вычесть малый по каждому одинаковому ID, и получить, таким образом, много полигонов типа "бублик" (малый круг должен давать пустоту в центре каждого такого полигона).
Наверное, тут и другие способы могут быть, например, сделать буфер от малого круга - присоединив требуемый радиус (равный разнице радиусов каждой пары). Но в функциях буфера ArcMap не нашла такой прямой возможности.
Не могли бы подсказать, как это можно сделать?
Re: Как сделать полигоны "бублик" или вычесть полиг. объекты
Добавлено: 29 окт 2013, 01:12
Natalia Novoselova
Извиняюсь за беспокойство! Действительно, выход в построении буфера (Analysis Tools - Proximity - Buffer)
Не получалось сразу, поскольку нужно было установить в Side Type - "Outside only"
И, таким образом, я к малым кругам буфером присоединяю полем разность большого и малого кругов. Итогом - получаю нужные мне полигональные объекты с пустотой внутри.
То есть эту свою задачу я решила, но другим способом.

Но вообще, задача вычесть из полиг. объектов одной темы - полиг. объекты другой темы (по совпадающему полю ID) кажется нужной. Нет ли всё же какой-то прямой такой опции в ArcGIS?
Re: Как сделать полигоны "бублик" или вычесть полиг. объекты
Добавлено: 29 окт 2013, 06:40
Донецков
Сделать "бублик" можно...
см.
тут
Re: Как сделать полигоны "бублик" или вычесть полиг. объекты
Добавлено: 29 окт 2013, 12:45
Natalia Novoselova
Донецков писал(а):Сделать "бублик" можно...
см.
тут
В моем случае это не подходит. Работа должна быть не ручная - это 2 шейп темы, с сотнями парных объектов (большие круги в одной и малые - в другой).
Я спрашивала об инструменте, который позволяет вычесть из полигонов одной темы - полигоны другой темы.
Re: Как сделать полигоны "бублик" или вычесть полиг. объекты
Добавлено: 29 окт 2013, 13:41
trir
SQL
Re: Как сделать полигоны "бублик" или вычесть полиг. объекты
Добавлено: 29 окт 2013, 14:00
Natalia Novoselova
trir писал(а):SQL
Через SQL можно сделать запрос для операции с
векторными объектами? А более подробно, где там это искать?
А чего-то в самом ArcGIS попроще неужели нет... казалось бы - должно быть базовой операцией..

Re: Как сделать полигоны "бублик" или вычесть полиг. объекты
Добавлено: 29 окт 2013, 14:23
Александр Мурый
Natalia Novoselova писал(а):
Я спрашивала об инструменте, который позволяет вычесть из полигонов одной темы - полигоны другой темы.
Симметричная разность, что ли?
Re: Как сделать полигоны "бублик" или вычесть полиг. объекты
Добавлено: 29 окт 2013, 15:53
trir
http://gis-lab.info/docs/postgis/manual ... #id2701704
OGC SPEC s2.1.1.1
ST_Buffer(geometry, double, [integer])
Возвращает геометрию, все точки которой находятся на меньшем или равном расстоянии, чем заданное, от заданной геометрии. Расчеты производятся в пространственной системе координат заданной геометрии. Опциональный третий параметр задает число сегментов, используемых для аппроксимации четверти окружности (по умолчанию -

.
OGC SPEC s2.1.1.3
ST_SymDifference(geometry A, geometry B)
Возвращает геометрию, которая представляет собой множество точек геометрий A и B, которые не пересекаются. Это называется симметричной разностью потому что: ST_SymDifference(A,B) = ST_SymDifference(B,A).
Также для
MS SQL Server
Re: Как сделать полигоны "бублик" или вычесть полиг. объекты
Добавлено: 29 окт 2013, 17:44
Natalia Novoselova
Александр Мурый писал(а):Natalia Novoselova писал(а):
Я спрашивала об инструменте, который позволяет вычесть из полигонов одной темы - полигоны другой темы.
Симметричная разность, что ли?
Близко по сути, но не то! Похоже они вложили это в Buffer и больше нигде, то есть напрямую так нельзя сделать.
Потому как нужно вычетать из объекта с ID=1 темы А - объект с ID=1 темы Б. И так для множества ID
Для этого нужно указывать Field по которому производить соединение пар для вычитания ( в Симметричной разности не заложено такое поле, похоже, он корректирующий полигон воспринимает по самому большому объекту полигональной темы или еще как-то)
В инстр. Buffer я это решила так, что для каждого объекта малого круга - задала в отдельном поле разницу радиусов большого и малого круга, то есть делала всё в одной теме.
Re: Как сделать полигоны "бублик" или вычесть полиг. объекты
Добавлено: 29 окт 2013, 17:46
Natalia Novoselova
trir писал(а):
Возвращает геометрию, все точки которой находятся на меньшем или равном расстоянии, чем заданное, от заданной геометрии. Расчеты производятся в пространственной системе координат заданной геометрии. Опциональный третий параметр задает число сегментов, используемых для аппроксимации четверти окружности (по умолчанию -

.
Спасибо, интересно узнать, что SQL работает с вектором, а не только с таблицами данных. Может быть, дальше это мне придется использовать.
Re: Как сделать полигоны "бублик" или вычесть полиг. объекты
Добавлено: 29 окт 2013, 17:46
Natalia Novoselova
dubl
Re: Как сделать полигоны "бублик" или вычесть полиг. объекты
Добавлено: 29 окт 2013, 19:53
Natalia Novoselova
Всё же странно. Вот еще один инструмент - Erase (Analysis Tools - Extract) который, по идее, выполняет этот тип задач.
Но тоже нет в настройках поля по которому идет объединение в темы по вычитанию, в итоге - такая нужная функция не работает эффектино. Вообще даже не понимаю, как можно напрямую это использовать. Когда из каждого объекта нужно разное вычитать.
Ну то есть, только для единичного действия - из одного объекта вычесть один другой.
С большим числом объектов уже нельзя работать.
Странно, что не заложили функцию учета поля.

Re: Как сделать полигоны "бублик" или вычесть полиг. объекты
Добавлено: 30 окт 2013, 00:53
doujin
ArcGIS дал целый ящик досок и болтов (
Стирание (Erase),
Выборка (Select)), а так же отвертку и пилу (ModelBuilder или Python). Вам же остается сделать из них именно такой табурет, какой нужен именно вам.
Re: Как сделать полигоны "бублик" или вычесть полиг. объекты
Добавлено: 30 окт 2013, 03:10
Natalia Novoselova
doujin писал(а):ArcGIS дал целый ящик досок и болтов (
Стирание (Erase),
Выборка (Select)), а так же отвертку и пилу (ModelBuilder или Python). Вам же остается сделать из них именно такой табурет, какой нужен именно вам.
То есть уже готового табурета нет такого?
Пока вами перечисленное это новое, еще не пройденное, но я буду стараться к этому продвигаться. В том числе и дальше задачи будут сложнее.
Собственно, и эта - лишь один этап геометрического построения множества полигонов.
Re: Как сделать полигоны "бублик" или вычесть полиг. объекты
Добавлено: 30 окт 2013, 03:14
Natalia Novoselova
doujin писал(а):ArcGIS дал целый ящик досок и болтов - Стирание (Erase)
Но всё же, Erace например, в этом инструменте не зааложен выбор поля по которому проводить соединение объектов в пары для стирания. В чем и невозможность его использования для моей задачи.
Означает ли ваш ответ, что при помощи ModelBuilder или Python можно доработать
имеющийся инструмент ArcMap?