Ви також можете зробити це в Польовому калькуляторі за допомогою плагіна refFunctions. За допомогою калькулятора поля можна оновити геометрію шару, а також поля. refFunctions дає функцію "geomdistance", щоб знайти найближчу лінію на заданій відстані (або "geomnerely", якщо ви не хочете порогу), і поверне атрибут або геометрію, а функція "найближча_політика" знайде найближчу точка на заданій геометрії. Складіть їх разом так, щоб обчислити нові геометрії для вашого точкового шару:
closest_point(geom_from_wkt(geomdistance('snap_lines','$geometry',10)) , $geometry)
Замість того, щоб безпосередньо оновлювати геометрію, ви можете обчислити поле із заміщеною геометрією. Я зберігаю кілька геометрій для оснащення точок водовідбору для різних шарів потоку, і я можу легко оновити геометрію точки в калькуляторі поля залежно від того, чиї потокові лінії мені потрібно використовувати.
У цьому є деякі обмеження, обидва шари повинні бути однаковими CRS, і функція геовіддачі дасть вам помилку, якщо у вас більше 100 000 очок, але ви можете змінити цей ліміт, якщо редагувати файл плагіна refFunctions.