Билинейная интерполяция

Ответить
Svility
Интересующийся
Сообщения: 39
Зарегистрирован: 24 окт 2017, 19:41
Репутация: 0
Откуда: 32637

Билинейная интерполяция

Сообщение Svility » 28 янв 2020, 22:51

Добрый день.
Есть ли уже реализованный алгоритм билинейной интерполяции на Postgre/Postgis?
Собственно необходим алгоритм, который вернет высотную отметку с растра (загруженного в PG) по входным данным - X,Y.
Алгоритм: https://ru.wikipedia.org/wiki/Билинейная_интерполяция
SpoilerShow
ST_Value(rastr, geom) - отбирает высоты по методу "ближайший сосед" - быстро, но не точно (целые значения).

Аватара пользователя
oldbay
Интересующийся
Сообщения: 39
Зарегистрирован: 14 июл 2015, 11:46
Статьи: 1
Репутация: 17
Откуда: Санкт-Петербург
Контактная информация:

Re: Билинейная интерполяция

Сообщение oldbay » 01 фев 2020, 14:35

Посмотрите в сторону SAGA GIS http://www.saga-gis.org
В качестве источника там можно использовать postgis - а в инструментах посмотрите на "Shapes" -> "Grid Tools"

Svility
Интересующийся
Сообщения: 39
Зарегистрирован: 24 окт 2017, 19:41
Репутация: 0
Откуда: 32637

Re: Билинейная интерполяция

Сообщение Svility » 19 фев 2020, 22:42

Модуль rasterinterpolation выполняет билинейную и бикубическую интерполяцию... А вот как бы функцию описать на pg?

Аватара пользователя
antonv
Активный участник
Сообщения: 124
Зарегистрирован: 29 ноя 2016, 10:44
Репутация: 51
Откуда: Санкт-Петербург

Re: Билинейная интерполяция

Сообщение antonv » 20 фев 2020, 11:57

Svility, для билинейной интерполяции нужны значения четырёх пикселей, верно? Функция ST_Value умеет не только по координатам точки возвращать значение, но и по номеру столбца и строки ячейки в растре. Верните себе четыре значения вокруг точки и проинтерполируйте сами формулой из Википедии:)

MBG
Участник
Сообщения: 99
Зарегистрирован: 02 июн 2012, 12:02
Репутация: 22

Re: Билинейная интерполяция

Сообщение MBG » 14 мар 2020, 21:10

См. https://postgis.net/docs/RT_ST_Resample.html - интерполирует целый растр, в том числе билинейная интерполяция поддерживается. Если определить новый растр из одной точки, получите требуемое.

Ответить

Вернуться в «PostGIS/PostgreSQL»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 12 гостей