Имеются полигоны, которые имеют наложения. Как получить (добавить в таблицу) из наложений новые объекты, чтобы значения атрибутов также суммировались (на картинке param1, param2, param3) ?
Заранее Спасибо.

Геоинформационные системы (ГИС) и Дистанционное зондирование Земли
Настолько все усложняю? В MapInfo это сделать возможно запросом?trir писал(а):на SQL это решается гораздо проще...
ну иногда приходится в запросах циклы использовать - тогда без небольшого кода не обойтись.trir писал(а):При манипуляции с данными SQL выигрывает перед языками программирования
Boris писал(а):2 [trir]
В ссылках не нашел способ создания новых полигонов на основе объектов из одной таблицы.
2 [Preev]
Сделать одним запросом нельзя по определению - MapInfo не умеет строить запросы на пересечение (любое хоть атрибутивное, хоть пространственное), на ОДНОЙ таблице. Так что как минимум придется сохранять копию таблицы.
Но для начала на рисунке расставьте буквы или цифры внутри тех полигонов, которые вы предполагаете получить в результате пересечения: полигоны дают результат пересечения для ВСЕХ полигонов или все же по ДВА?
Картинка (мне) совершенно не понятно. Видно, что есть полигоны в нахлест, но к чему относятся номера и атрибуты - не ясно.
На картинке - условная схема.trir писал(а):выложи wkt полигонов
Спасибо, но, к сожалению, это не работает. "Пропорционально площади" здесь совсем не годится. Если два полигона накладываются - то param наложения должен быть суммой param,ов соответствующих полигонов. Если три - то трех.thegeo писал(а):Как это можно выполнить средствами MapInfo (в моем понимании задачи).
Выделяем объекты 1, 2, 3. Выполняем Правка/Копировать (Вставить). Объединяем полученную копию в один объект (Объекты/Объединить). При объединении указать суммирование значений в соответствующих полях (Objects Combine Data id2=sum(id2),at1=sum(at1),at2=sum(at2),at3=sum(at3)). Выделяем этот объект и делаем его редактируемым (Объекты/Выбрать изменяемый объект). Выделяем объекты 1, 2, 3 и выполняем Объекты/Разрезать. Для полей указываем "пропорционально площади" (Objects Split Into Target Data id2=id2,at1=proportion(at1),at2=proportion(at2),at3=proportion(at3)).
При желании все это можно оформить в виде отдельной процедуры.
Но, к сожалению, синтаксис будет не MapInfoвский.trir писал(а):самый простой способ объяснить задачу - написать SQL-запрос ;=)
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 3 гостя
© GIS-Lab и авторы, 2002-2017. При использовании материалов сайта, ссылка на GIS-Lab и авторов обязательна. Содержание материалов - ответственность авторов (подробнее).