Статьи

Интерполяция в QGIS, часть 1

2023-08-23 18:17 ГИС Туториалы
Время прочтения: 6 минут

Введение

На протяжении всей истории картографии одной из важнейших проблем было выявление информации о неизвестном на основании известного. Даже при предполагаемых (очень неточных) вводных это было частью механизма принятия решений, который приводил к большим тратам и к большим доходам. Карты древности строились на основании всего лишь нескольких известных координат и рассказов путешественников, которые опускали часть про огромные километры пространства, скрывающиеся между несколькими наиболее примечательными точками.
Предположение древнегреческих ученых о сферической природе нашей планеты и возможности ее обогнуть и приплыть к Индии с другой стороны стали основанием для вложения больших денег во множество экспедиций, в том числе и Христофора Колумба [История географических карт. Ллойд Арнольд Браун].
Покупка Луизианы Америкой строилась на основании предположения о расположении истока реки Миссисипи, когда он еще не был найден, что также влияло на стоимость такой огромной территории.
Все эти предположения часто делались на глазок и давали свои погрешности в виде огромных несуществующих континентов на картах, бессмысленных и опасных путешествий, которые стоили время, денег и человеческих жизней. В то же время это давало и свои дивиденды, несмотря на которые человечество продолжал на основе известных фактов предполагать, каким выглядит неизвестное пространство.
В этой серии статей мы поговорим об интерполяции, нахождении неизвестного на основании известного. Научимся делать ее тремя разными способами:
  • триангуляция Делоне (TIN интерполяция);
  • метод обратно взвешенных расстояний;
  • кригинг.
А в конце статьи мы сравним наши результаты с реальностью и определим, какой метод лучше.

О данных

Для интерполяции в QGIS нам необходим точечный слой со значениями, которые мы хотим проинтерполировать, чтобы получить растровый слой непрерывных значений. Для данного урока мы будем использовать значения высот, но вы можете использовать любые показатели, которые вам придут на ум и на жесткий диск, хоть температура, хоть гулябельность.
Так выглядит слой наших данных для интерполяции для примера работы алгоритмов. В слое на картинке 301 точка. На скрине я отметил, куда нажимать, чтобы таблица атрибутов слоя была не отдельным окном, а во встроенной панели, что часто бывает очень удобно.

Метод обратных взвешенных расстояний

Метод обратных взвешенных расстояний ОВР (Inverse Distance Weighted — IDW) уже был описан в нашем обзоре алгоритмов интерполяции, но вкратце напомним суть. В нем точкам придаются веса, от которых зависит, как сильно точка влияет на распространение значений в пространстве. Чем дальше от точки с известным значением, тем слабее ее влияние.
Метод содержит, конечно же, свои минусы (точки со значениями выделяются как пики и колодцы посреди равнины), но чем больше точек, с известными значениями, тем больше похоже на реальность.
Чтобы не дискредитировать метод ОВР, покажу вам, какой результат получится при стандартных настройках, если в слое расстояний будет не 301 точка, а 34176 точек с расстоянием 100 метров между ними.

Триангуляция Делоне (TIN интерполяция)

Интерполяция методом триангуляции Делоне — популярный метод в ГИС. Алгоритм создает поверхность, состоящую из треугольников, формируемых ближайшими точками. Для этого вокруг точек, у которых есть значения, строятся окружности таким образом, чтобы в местах пересечений образовывались вершины треугольников, внутри которых нет вершин других треугольников.
Триангуляция в QGIS прячется в боковой панели “Инструменты анализа”. Если у вас вдруг ее нет, то ее можно открыть, нажав вкладку “Анализ данных”, а затем выбрав “панель инструментов”. Можно также просто нажать Ctrl + Alt + T. Затем в поиске ищем инструмент “TIN интерполяция”.
Почему же TIN интерполяция? Т, понятно, триангуляция, откуда взялась I и N, и куда пропал Делоне?
TIN расшифровывается как Triangular Irregular Networks, что означает нерегулярные триангуляционные сети. То есть строится сетка треугольников, которая не выглядит, как регулярные квадратные сетки пикселей тех же растровых поверхностей. Триангуляция Делоне — это один из алгоритмов построения таких сетей, используемых для интерполяции значений, причем очень часто для интерполяции рельефа местности.
В этом уроке мы сравнили и научились использовать два метода интерполяции в QGIS. Главный плюс двух методов — быстрый расчет, но для приличной картинки нужно довольно большое количество данных при использовании любого из способов. В то же время даже при малых количествах данных получаются картинки немного похожие, но в разных стилях, что можно использовать в ситуациях, когда интересная подача важнее точности информации.
В следующем уроке мы рассмотрим интерполяцию в QGIS с помощью кригинга. Это более продвинутый метод, где больше заморочек и выше вероятность словить баг и вылетание QGIS, но, как по мне, результаты получаются лучше.

Источники:

Материал подготовил Александр Зуев