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