У меня есть два слоя с точками, назовите их A и B, каждый с разными атрибутами.
Для каждой точки в AI нужно объединить все атрибуты из ближайшей точки в B.
В идеале это также должно включать поле, измеряющее расстояние между обеими точками.
Я знаю, как это сделать в ArcGIS: щелкните правой кнопкой мыши слой A> объединяет и связывает> объединяет, затем объединяет данные на основе пространственного местоположения и выбирает объединение атрибутов из ближайшей точки.
Я не смог найти подобную функциональность в QGIS. Есть указатели?
источник
NNJoin Плагин должен делать эту работу. Для каждого объекта входного слоя он добавляет все атрибуты ближайшего объекта в слое объединения, а также добавляет атрибут расстояния с расстоянием до этого объекта.
источник
Если вы можете просто присоединиться к одному атрибуту из вашего слоя «B», взгляните на инструмент «Hub Distance» из плагина mmqgis .
Если вам нужны остальные атрибуты «B», вы сможете присоединить остальные атрибуты «B» к этому слою.
При желании вы также можете сгенерировать строки от A до B. Это полезно для визуализации расстояний и направлений между связанными объектами.
источник
Другой подход с использованием плагина refFunctions .
(1) Образец набора данных
(2) Откройте таблицу атрибутов слоя, который имеет больше объектов (
points_b
в данном примере это слой), чтобы не пропустить ни одной пары. Создать новые поля.geomnearest('points_a', 'id_a')
geomnearest('points_a', '$distance')
источник
Использование QGIS 1.7 Vector> Управление данными> Атрибуты соединения по местоположению
источник