Forum QGIS
Filtrowanie tabeli atrybutów wg złączenia relacją 1-N - 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: Filtrowanie tabeli atrybutów wg złączenia relacją 1-N (/thread-1611.html)



Filtrowanie tabeli atrybutów wg złączenia relacją 1-N - tomalos - 21-03-2018

Mam projekt a w nim jedną warstwę przestrzenną i jedną tabelę bez geometrii. Tabele złączone są relacją (Projekt > Właściwości > Relacje), warstwa_1 jako Parent, tabela_1 jako Child:
[attachment=482]

Czy da się tak odfiltrować tabelę bez geometrii (tabela_1), żeby widoczne były w niej tylko wiersze, które łączą się relacją z warstwą przestrzenną (warstwa_1)?
[attachment=483]


RE: Filtrowanie tabeli atrybutów wg złączenia relacją 1-N - Binko - 22-03-2018

A spróbuj w drugą stronę - połącz te dwie tabele.

Tzn. we właściwościach tabeli bez geometrii wykonaj połączenie z warstwą geometryczną po numerze GUID. Wybierz tylko jedną kolumnę do dodania. Wtedy w tej tabeli pokażą się dodatkowe pola. I po tych polach możesz filtrować, np.:
Kod:
TYP != 'NULL'
W tabeli powinny pokazać się jakieś wybrane, pojedyncze wartości w dodanych polach, ale to nie ma znaczenia. Znaczenie jest takie, że tam gdzie nie ma połączenia wartości w polach ze złączenia będą 'NULL'.
Smile


RE: Filtrowanie tabeli atrybutów wg złączenia relacją 1-N - tomalos - 22-03-2018

Cytat:A spróbuj w drugą stronę - połącz te dwie tabele.
Rozwiązanie dobre, jednak nie działa jak chcemy edytować  tabelę-dziecko (a ja chcę, o czym wcześniej nie wspomniałem). Żeby filtrować po dołączonych atrybutach to trzeba przekształcić warstwę w warstwę wirtualną a tej nie można edytować.


RE: Filtrowanie tabeli atrybutów wg złączenia relacją 1-N - Cardangel - 22-03-2018

Tabeli-dziecka nie można edytować wogóle.
Proponuję zrobić normalne złączenie warstwa-właśiwośc, złączenie, wyeksportowac do nowej warstwy i wtedy edytować tą nową warstwę. Póżniej sobie powrócisz do samej tabeli edytując dbf-a


RE: Filtrowanie tabeli atrybutów wg złączenia relacją 1-N - xmaziax - 22-03-2018

A w jakim formacie masz te tabele? SHP?
Ja staram się wszystkie dane trzymać w Postgisie, to zdecydowanie ułatwia wiele spraw i pozwala zapanować nad danymi.
Takie złożenia jak piszesz robię w postaci widoków.  Za ich edycję odpowiadają triggery aktualizujące dane we właściwych tabelach i wszystko działa jak należy.
Na danych pracuje kilkanaście osób i nie ma z tym żadnych problemów.
Jeśli musisz mieć dane w postaci plikowej, możesz użyć np bazy SQLite.


RE: Filtrowanie tabeli atrybutów wg złączenia relacją 1-N - tomalos - 22-03-2018

Cytat:Tabeli-dziecka nie można edytować w ogóle.

To zależy od źródła danych, to akurat nie są dbf-y, edytowałem tak zarówno .odt jak i tabele w bazie danych
[attachment=484]


RE: Filtrowanie tabeli atrybutów wg złączenia relacją 1-N - tomalos - 22-03-2018

Cytat:A w jakim formacie masz te tabele? SHP?

Głównie w Postgisie, chciałem to zrobić bezpośrednio w QGISie, bo to dla mnie łatwiejsze niż w Postgisie, ale chyba jednak spróbuję w bazie z widokami i triggerami.


RE: Filtrowanie tabeli atrybutów wg złączenia relacją 1-N - xmaziax - 22-03-2018

To się nawet nie zastanawiaj Smile 
Widokiem złożysz dokładnie te dane, które są potrzebne ludziom edytującym rekordy.
Warto poświęcić trochę czasu i to opanować.