Страница 1 из 1

Пересечение полигонов с суммой атрибута (тепловая карта)

Добавлено: 11 дек 2016, 10:05
STaM
Здравствуйте!

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

Вручную более или менее понятно как это делать, но ситуация осложняется большим количеством полигонов и строить для всех пересечения руками очень трудоемко. Наверняка такая задача уже решалась, но мне не удалось найти инструмента для ее решения, подскажите, пожалуйста.

Заранее благодарю.

Re: Пересечение полигонов с суммой атрибута (тепловая карта)

Добавлено: 11 дек 2016, 10:30
trir

Re: Пересечение полигонов с суммой атрибута (тепловая карта)

Добавлено: 11 дек 2016, 16:39
STaM
trir писал(а):STIntersection, UPGRADE
Спасибо за наводку. А нет ли готового инструмента, плагина, скрипта и т.п.? Не хочется изобретать велосипед.

Re: Пересечение полигонов с суммой атрибута (тепловая карта)

Добавлено: 11 дек 2016, 18:03
gamm
если полигонов много, и они сложные, то могут быть проблемы. Лучше снести все на растр нужной детальности, и там сложить. Если нужен вектор, то результат векторизовать.

Re: Пересечение полигонов с суммой атрибута (тепловая карта)

Добавлено: 14 дек 2016, 21:21
Boris
На мой взгляд, задача типичная только при работе с растрами и гридами, их обычно хватает для подобных задач, если определиться с подробностью или точностью.
Для векторов не очень типичная задача, которая требует программирования, причем самого незамысловатого - перебора квадратной (сильно разреженной?) матрицы с нарастающим итогом.
Я бы решал ее в два шага: сперва бы разделил все объекты на пересекающиеся части, а потом уже сложил все полученные полигоны.
И, да, - вы забыли сказать в чем у вас данные и чем собственно собираетесь их обрабатывать.

Re: Пересечение полигонов с суммой атрибута (тепловая карта)

Добавлено: 15 дек 2016, 00:34
amnesiac
Если вы используете ПО Arcgis, то можно воспользоваться инструментами Intersect (с использованием одного исходного слоя), а потом к результату применить инструмент Spatial Join, присоединив исходный слой и задав в правилах слияния полей суммировать присоединяемые атрибуты. Думаю, в другом ПО тоже должно быть что-то похожее