[FOSSGIS-Talk] Sybolisierung ändern durch in Bezihung stehenden (1:n) Tabellenlayer

Bernd Vogelgesang bernd.vogelgesang at gmx.de
Mo Nov 15 11:56:19 CET 2021


Hi,

die Aufgabenstellung erinnert mich etwas an mein Nistkastenprojekt. Dort
habe ich einen Layer mit über tausend Nistkästen (Punkte), und dazu eine
Kontrolltabelle, ausgeführt als simple Exceltabelle (weil einfach
komfortabler bearbeitbar außerhalb von QGIS). In dieser steht die
Kastennummer als Referenz zum Kastenlayer, und dann Angaben zu Status
(vorhanden, nicht vorhanden, vorhanden  aber nicht am Standort,
vorhanden aber nicht am Baum), Zustand (in Ordnung, beschädigt),
Reinigung (gereinigt, nicht gereinigt), Bemerkungen, Kontrolldatum.

Da ich vorher recht schnell den Überblick verloren habe, z.B. welche
Kästen und vor allem wo verschwunden sind und ersetzt werden müssen,
welche beschädigt sind und repariert werden müssen, vom Baum gefallen
und nur wieder aufgehängt werden müssen, schon gereinigt wurden, oder
noch gereinigt werden müssen etc, habe ich mir einen Virtuellen Layer
mit diversen Abfragen gebastelt und diesem eine ausgefeilte
Symbolisierung zugeordnet.

Der erste Schritt ist, für jeden Kasten denjenigen Eintrag mit dem
neuesten Kontrolldatum der Liste zu filtern. Dann erzeugt die Abfrage
eine neue Spalte "Code", in der die verschiedenen Kombinationen der
Ausprägungen eine Abkürzung erhalten, z.B. der einfachste, bzw
wünschenswerte: vorhanden, in Ordnung, gereinigt -> io -> grüner Punkt ;
vorhanden, in Ordnung, nicht gereinigt -> nk ; vorhanden, beschädigt ->
bs -> rotes Kreuz, ; nicht vorhanden -> nv -> roter Punkt etc etc etc

Mit diesem Virtuellen Layer kann ich dann auf einen Blick sehen, welchen
für mich relevanten Zustand ein Kasten hat, bzw wo Handlungsbedarf ist.
Der Layer kann nicht bearbeitet werden, alle Aktualisierungen finden in
der Exceltabelle statt, als neuer Eintrag mit neuem Datum, womit man
dann auch eine Chronologie für jeden Kasten über die Zeit hat. Durch
filtern des Layers kann ich dann z.B. die aktuell nachzubestellende
Anzahl an Kästen je Kastentyp ermitteln.

Bei Deinem Projekt kommt aber mindestens eine Komplexitätsstufe
zusätzlich hinzu, da Du ja neben dem Standort (wäre bei mir der Baum) ja
noch 1:n Untereinheiten am selben Standort hast, wozu ich spontan keine
gute Idee habe. Wahrscheinlich durch eine Verknüpfung von  Pfostenlayer
-> Schildtabelle ->Schildstatustabelle

Um mal einen Eindruck zu bekommen, die bereits länglich beschriebene
Abfrage des Virtuellen Layers

SELECT a.geometry,
a.typ,a.kasten_nr,a.kastenart,a.lage,a.bemerkung,a.zielart,a.revier,a.gebiet,a.kasten_abkz,kommentar,b.status,b.zustand,b.reinigung,b.kontroll_datum,
b.code
FROM Kaesten AS a  LEFT JOIN
(SELECT kasten_nr, status, zustand, reinigung, kommentar, kontroll_datum,
     CASE
         WHEN status isnull THEN 'NA'
         WHEN status ='nv' THEN 'nv'
         WHEN (status ='v' AND zustand !='io') THEN 'bs'
         WHEN (datum < '2020-10-01' AND status ='v' AND zustand ='io')
OR (datum > '2020-10-01' AND status ='v' AND zustand ='io' AND
reinigung!='g')  THEN 'nk'
         WHEN (datum > '2020-10-01' AND status ='v' AND reinigung ='g'
AND zustand='io') THEN 'io'
         WHEN status ='vns' OR status ='vnS' THEN 'vns'
         WHEN status ='vnb' or status='vnB' THEN 'vnb'
         ELSE '?'
     END AS code
FROM
     (SELECT * ,max(datum) as kontroll_datum
     FROM kastenkontrolle
     GROUP BY kasten_nr)) as b
ON a.kasten_nr= b.kasten_nr  WHERE a.aktiv=1


im Anhang dann, wie das in der Karte aussieht.

Gruß,

Bernd

On 14.11.21 20:35, marcus.mm2 at web.de wrote:
> Ein Dateianhang mit HTML-Daten wurde abgetrennt...
> URL: <http://lists.fossgis.de/pipermail/fossgis-talk-liste/attachments/20211114/23e0bc56/attachment.htm>
> -------------- nächster Teil --------------
> Ein Dateianhang mit Binärdaten wurde abgetrennt...
> Dateiname   : QGIS Fragen.docx
> Dateityp    : application/vnd.openxmlformats-officedocument.wordprocessingml.document
> Dateigröße  : 244991 bytes
> Beschreibung: nicht verfügbar
> URL         : <http://lists.fossgis.de/pipermail/fossgis-talk-liste/attachments/20211114/23e0bc56/attachment.docx>
-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname   : VL_Beispiel.jpg
Dateityp    : image/jpeg
Dateigröße  : 32901 bytes
Beschreibung: nicht verfügbar
URL         : <http://lists.fossgis.de/pipermail/fossgis-talk-liste/attachments/20211115/3a8f31af/attachment.jpg>


Mehr Informationen über die Mailingliste FOSSGIS-Talk-Liste