Страница 1 из 1
Связать или вставить несколько стобцов из одного слоя в другой слоем
Добавлено: 21 мар 2021, 16:26
_taras_
Приветствую всех!
Есть ли простая возможность в калькуляторе полей использовать в расчетах столбцы из другого векторного слоя?
Или вставить в таблицу атрибутов колонку из другого векторного слоя?
Естественно проекция, п/н строк и т.п. совпадает.
Задача стоит посчитать прирост по вегетативному индексу, где каждый слой - месяц.
Я решил ее в "лоб" - использовав вектор--управление данными--присоединить атрибуты.... Но слишком много мороки.
Re: Связать или вставить несколько стобцов из одного слоя в другой слоем
Добавлено: 22 мар 2021, 09:14
freeExec
Сложить всё в geopackage, тогда SQL позволит доставать данные из любой таблицы(слоя).
Re: Связать или вставить несколько стобцов из одного слоя в другой слоем
Добавлено: 22 мар 2021, 11:52
konst555
Идея правильная. Давно пора переходить в geopackage.
В вопросе не увидел - как записи связаны между собой? Только координатами? Или одна из таблиц вообще без координат?
Традиционно делаются индексные поля для связи полей. В противном случае никто не гарантирует порядок вычислений между таблицами.
Re: Связать или вставить несколько стобцов из одного слоя в другой слоем
Добавлено: 22 мар 2021, 12:35
_taras_
Спасибо ответившим!
konst555 писал(а): ↑22 мар 2021, 11:52
как записи связаны между собой
Порядковый номер (id) полигона для всех слоев одинаковый. Это одни и те-же полигоны, только с данными изменяющихся по месяцам. Полигон 1 (id=1) значения апрель -0,2 и май -0,4 т.д. Каждый месяц отдельный слой.
Предполагалось взять значение мая и вычесть апрель (определить прирост) и не хранить в таблице слоя значения пред. месяца.
Re: Связать или вставить несколько стобцов из одного слоя в другой слоем
Добавлено: 22 мар 2021, 12:45
Ivor
_taras_, тогда вам нужно хранить отдельно - полигоны с их id и отдельно - таблицы данных (но без геометрии!) по месяцам и с приростом (или вычислять его, не суть). И связывать их по полю id. Дублировать геометрию (полигоны) в кучу слоёв - откровенно избыточно и не совсем корректно.
Re: Связать или вставить несколько стобцов из одного слоя в другой слоем
Добавлено: 22 мар 2021, 12:56
freeExec
Тогда действительно, храните значения в каком нибудь CSV и далее на настройках слоя есть пункт "связи" где эти данные надо присоединить.
Re: Связать или вставить несколько стобцов из одного слоя в другой слоем
Добавлено: 22 мар 2021, 13:30
_taras_
Ivor писал(а): ↑22 мар 2021, 12:45
тогда вам нужно хранить отдельно - полигоны с их id и отдельно - таблицы данных (но без геометрии!) по месяцам и с приростом (или вычислять его, не суть). И связывать их по полю id.
Как это вглядит? Получается два слоя -- полигоны и данные?
freeExec писал(а): ↑22 мар 2021, 12:56
на настройках слоя есть пункт "связи" где эти данные надо присоединить.
Не нахожу.
Свойства слоя--связи предлагает выбрать только другой векторный слой
Re: Связать или вставить несколько стобцов из одного слоя в другой слоем
Добавлено: 22 мар 2021, 13:49
freeExec
Другой слой, но не обязательно векторный. Так же там могут быть и табличные данные.
Re: Связать или вставить несколько стобцов из одного слоя в другой слоем
Добавлено: 22 мар 2021, 13:58
Ivor
_taras_, Выглядит это следующим образом:
1. Векторный слой (полигоны) с границами областей и целочисленным полем id (плюс другие какие поля, если есть - кроме помесячных данных)
2. Таблица с помесячными данными, в которой лежат записи вида (условно)
id, месяц, значение. Это не векторный слой, это просто таблица данных (имеет тип геометрии No Geometry).
Удобно и вектор, и данную таблицу хранить в одном GeoPackage.
3. В проект подгружаете векторный слой. Таблицу данных подгружаете столько раз, сколько у вас месяцев. Для каждого месяца прописываете в свойствах слоя, во вкладке
Источник данных (вроде, у меня английский стоит, там это
Source) в поле
Provider Feature Filter (по-русски не знаю, простите. Большое поле внизу) выражение
id - именно так, в кавычках, значение месяца - ну уж как вы там их закодировали, не знаю.
4. И через
свойства слоя -> связи связываете вектор с данными по id (можете все сразу, можете попарно по месяцам).
Re: Связать или вставить несколько стобцов из одного слоя в другой слоем
Добавлено: 22 мар 2021, 14:02
_taras_
Ivor , спасибо, буду разбираться.