Если задачу легче понять на примере, то можно представить, что есть векторная карта домов (buildings) и растровая карта участков подтопления (cells). Требуется найти идентификаторы домов, которые подвергаются риску. Пример приведен на рисунке: Возник вопрос, как выбрать векторные объекты, пересекающиеся с растровыми участками. Какой-то специальной команды я не нашел, разве что v.rast.stat, но это скорее из пушки по воробьям, хочется чего-то более легкого в вычислительном плане.
Пока придумал такую процедуру
Код: Выделить всё
v.to.rast in=buildings out=buildings use=cat # Сохраняем идентификаторы домов в виде растра
r.mask rast=cells # Все нулевые ячейки маскируются
r.stats -n buildings # Получаю список идентификатров (все, что не пересекается с cells маскируется)
Может ли кто-то посоветовать другие варианты?