QGIS предоставляет интерфейс для GRASS GIS, которая начала свою жизнь как растровая ГИС и поэтому должна предоставить некоторые эффективные инструменты для решения этой проблемы. Ссылаясь на страницы справочника растровых команд, мы можем найти следующие решения:
r.buffer - прямая буферизация белых клеток.
r.cost - может вычислять расстояния до белых клеток. Затем сравните, чтобы выбрать ячейки на короткие расстояния.
r.grow - локальная морфологическая операция, разработанная специально для расширения белых клеток в их непосредственных соседей.
r.mfilter - общий фокусный фильтр. Различные фокальные статистические данные, такие как максимальное, среднее, сумма, медиана и стандартное отклонение, могут обнаружить присутствие белых клеток в локальных окрестностях. Затем сравните, чтобы выбрать такие ячейки.
r.neighbors - еще более общий фокусный фильтр, который можно использовать аналогично r.mfilter.
r.resample - повторная выборка на более грубую сетку является одним из способов расширения белых клеток. Результат будет несколько «блочным».
Распространение - позволяя белым клеткам «распространяться» в их окрестности, вы достигнете желаемой буферизации.
Мы должны ожидать, что r.buffer, r.grow и, возможно, r.mfilter будут использовать наиболее эффективный код. (Я не проверял это, чтобы узнать.)