25-01-2013, 12:07
Witam,
Czy w QGIS jest opcja przy pomocy kalkulatora uzupełniać pola wartościami z innych warstw?
otóż problem z jakim się spotkałem wygląda następująco.
w warstwie liniowej A mam pola [nr_1] oraz [nr_2], które powinny zawierać nr punktu początkowego oraz końcowego. Numery te zawiera warstwa punktowa B (linie A łączą punkty B).
Do tej pory uzupełniałem atrybuty [nr_1] i [nr_2] tworząc tymczasowe kolumny [X_pocz] , [X_kon] w warstwie A oraz [X] w warstwie B.
[X_pocz]: xat(0)
[X_kon]: xat(1)
[X]: $x
na tej podstawie robiłem złączenie tabel, najpierw po [X_pocz], kalkulatorem uzupełniałem pole [nr_1] z dołączonej tabeli B i pola [nr] , a potem analogicznie dla [nr_2].
Na koniec oczywiście usuwanie tymczasowych kolumn.
Niby działa i jest to skuteczne, ale mam wrażenie, że da się to zrobić szybciej nie bawiąc się kolumnami i złączeniami tabel..
Czy istnieje jakiś sposób na wyciągnięcie wartości z konkretnej kolumny jednej warstwy przy spełnionym warunku np.
xat(0) warstwy A = $x warstwy B
albo coś w ten deseń?
Czy w QGIS jest opcja przy pomocy kalkulatora uzupełniać pola wartościami z innych warstw?
otóż problem z jakim się spotkałem wygląda następująco.
w warstwie liniowej A mam pola [nr_1] oraz [nr_2], które powinny zawierać nr punktu początkowego oraz końcowego. Numery te zawiera warstwa punktowa B (linie A łączą punkty B).
Do tej pory uzupełniałem atrybuty [nr_1] i [nr_2] tworząc tymczasowe kolumny [X_pocz] , [X_kon] w warstwie A oraz [X] w warstwie B.
[X_pocz]: xat(0)
[X_kon]: xat(1)
[X]: $x
na tej podstawie robiłem złączenie tabel, najpierw po [X_pocz], kalkulatorem uzupełniałem pole [nr_1] z dołączonej tabeli B i pola [nr] , a potem analogicznie dla [nr_2].
Na koniec oczywiście usuwanie tymczasowych kolumn.
Niby działa i jest to skuteczne, ale mam wrażenie, że da się to zrobić szybciej nie bawiąc się kolumnami i złączeniami tabel..
Czy istnieje jakiś sposób na wyciągnięcie wartości z konkretnej kolumny jednej warstwy przy spełnionym warunku np.
xat(0) warstwy A = $x warstwy B
albo coś w ten deseń?