Forum QGIS
Kalkulator- wyciąganie atrybutów z innych warstw. - Wersja do druku

+- Forum QGIS (http://forum.quantum-gis.pl)
+-- Dział: Desktop GIS (http://forum.quantum-gis.pl/forum-4.html)
+--- Dział: QGIS (http://forum.quantum-gis.pl/forum-5.html)
+--- Wątek: Kalkulator- wyciąganie atrybutów z innych warstw. (/thread-858.html)



Kalkulator- wyciąganie atrybutów z innych warstw. - randyX - 25-01-2013

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ń?

Huh


RE: Kalkulator- wyciąganie atrybutów z innych warstw. - p0cisk - 26-01-2013

Witam
Wydaje mi się że bezpośrednio w QGIS się nie da. Można to zrobić przez SQL jeśli wczytasz dane np. do bazy SpatiaLite.
Pierwszy lepszy przykład z googla: http://www.surfaces.co.il/?p=1208
Ale to wymaga najpierw wczytania danych do bazy a później ewentualnie ich eksportu. Chociaż SpatiaLite pozwala również dynamicznie podpiąć pliki SHP tak aby były widoczne jako tabele przestrzenne, być może to rozwiązanie bardziej przypadnie Ci do gustu niż łączenie tabel w QGIS.

Pozdrawiam