В географических информационных системах (ГИС) и пространственный анализ , анализ буфера является определением в зоне вокруг географического объекта , содержащего местоположение , которые находятся в пределах определенного расстояния этой функции, то буферная зона (или просто буфер ). [1] Буфер, вероятно, является наиболее часто используемым инструментом в методах анализа близости . [2]
История
Буферная операция была основной частью функциональности ГИС с момента появления исходных интегрированных программных пакетов ГИС конца 70-х - начала 80-х годов, таких как ARC / INFO , Odyssey и MOSS . Хотя в последующие годы это была одна из наиболее широко используемых операций ГИС, в самых разных приложениях было опубликовано мало исследований о самом инструменте, за исключением периодических разработок более эффективных алгоритмов. [3]
Базовый алгоритм
Фундаментальный метод создания буфера вокруг географического объекта, хранящегося в векторной модели данных, с заданным радиусом r заключается в следующем: [4]
- Одиночная точка : создайте круг вокруг точки с радиусом r .
- Ломаная линия , состоящая из упорядоченного списка точек (вершин), соединенных прямыми линиями. Это также используется для границы многоугольника.
- Создайте круговой буфер вокруг каждой вершины
- Создайте прямоугольник вдоль каждого сегмента линии, создав дублирующий сегмент линии, смещая расстояние r перпендикулярно каждой стороне.
- Объедините или растворите прямоугольники и круги в один многоугольник.
Программные реализации буферной операции обычно используют изменения этой стратегии для более эффективной и точной обработки.
Планарное и геодезическое расстояние
Традиционные реализации предполагали, что буфер создавался в плоском декартовом пространстве координат (то есть создавался проекцией карты ) с использованием евклидовой геометрии , потому что математика и вычисления были относительно простыми, что было важно с учетом вычислительной мощности, доступной в конце 1970-х годов. Из-за присущих искажений, вызванных проекциями карты, рассчитанный таким образом буфер не будет идентичен буферу, нарисованному на поверхности Земли; в локальном масштабе разница незначительна, но в меньших масштабах ошибка может быть значительной.
Некоторое текущее программное обеспечение, такое как Esri ArcGIS Pro и turf , предлагает возможность вычислять буферы с использованием геодезического расстояния , используя аналогичный алгоритм, но вычисляемый с использованием сферической тригонометрии , включая представление линий между вершинами в виде больших окружностей. [4] Другие реализации используют обходной путь, сначала перепроецируя функцию в проекцию, которая минимизирует искажение в этом месте, а затем вычисляют планарный буфер. [5]
Параметры
Программное обеспечение ГИС может предлагать варианты основного алгоритма, которые могут быть полезны в различных приложениях: [1]
- Торцевые заглушки в конце линейных буферов по умолчанию округлены, но могут быть квадратными или торцевыми (усеченными в последней вершине).
- Предпочтение стороны может быть важным, например, необходимость в буфере только на одной стороне линии или на многоугольнике, выбор только внешнего буфера или внутреннего буфера (иногда это называется задержкой ).
- Переменная ширина , при которой объекты в слое могут буферизоваться с использованием различных радиусов, обычно задаваемых атрибутом.
- Общие буферы , в которых буферы для каждого объекта в слое растворены в один многоугольник. Это чаще всего используется, когда вы не беспокоитесь о том, какой объект находится рядом с каждой точкой пространства, а только о том, что точка находится рядом с некоторым (анонимным) объектом.
Смотрите также
- Расширение (морфология) (положительный буфер)
- Эрозия (морфология) (отрицательный буфер)
Внешние ссылки
- Функция OGC ST_Buffer ( реализация PostGIS )
- буферная функция в turfjs
- BufferOp в JTS, библиотека, лежащая в основе многих реализаций ГИС с открытым исходным кодом.
- команда v.buffer в GRASS
- Инструмент Буфер (Анализ) в Esri ArcGIS Pro
Рекомендации
- ^ а б де Смит, Майкл Дж .; Гудчайлд, Майкл Ф .; Лонгли, Пол А. (2018). «4.4.5 Буферизация» . Геопространственный анализ: всеобъемлющее руководство по принципам, методам и программным средствам (6-е изд.).
- ^ Уэйд, Т. и Сммер, С. редакторы. ГИС от А до Я
- ^ Бхатия, Сумит; Vira, вирусный; Чокси, Дипак; Венкатачалам, П. (2012). «Алгоритм создания геометрических буферов для векторных векторных слоев» . Геопространственная информатика . 16 (2): 130–138. DOI : 10.1080 / 10095020.2012.747643 .
- ^ а б «Как работает буфер (анализ)» . Документация ArcGIS Pro . Esri . Проверено 16 марта 2021 года .
- ^ "ST_Buffer" . Документация PostGIS .