[FOSSGIS-Talk] eindeutige ID bei gefilterten Layern ermitteln

Max Diegelmann max.diegelmann at gmx.de
Di Sep 21 15:33:40 CEST 2021


Vielen Dank für Eure schnellen Antworten. Ich werde beide Lösungsvorschläge mal ausprobieren.

Viele Grüße,
Max

> Am 20.09.2021 um 10:26 schrieb Thomas B <rdbath.regiodata at gmail.com>:
> 
> 
> 
> Hallo Max,
> mit aggregate kann man von verschiedenen Layern die Werte abgreifen: 
> Beispiel:
> 
> max(aggregate( 'layername1','max',"feldname_layer1"),aggregate( 'layername2','max',"feldname_layer2"))
> ( also sinngemäß maximum (max_wert von Layer 1, max_wert von Layer 2)  )
> 
> Wenn die Daten aber eh schon in der Datenbank sind würde sich ggf. ja auch ein Trigger anbieten oder eine serial-Spalte/identity Spalte wie z.B.
> 
> ALTER TABLE layername 1 ADD COLUMN id SERIAL PRIMARY KEY;
> 
> bzw. zur Identity Spalte: https://www.2ndquadrant.com/en/blog/postgresql-10-identity-columns/
> 
> VG
> Thomas
> 
>> Am So., 19. Sept. 2021 um 20:29 Uhr schrieb Max Diegelmann <max.diegelmann at gmx.de>:
>> Hallo liebe Community,
>> 
>> ich würde gerne Euren Rat zu QGIS einholen.
>> 
>> Folgende Fragestellung:
>> Ich habe in PostGIS einen Layer mit Namen „hg" gespeichert, den ich im QGIS-Projekt als zwei Layer mit jeweils einer Filterung eingebunden habe. Bei dem einen Layer handelt es sich um Schächte, bei dem anderen um Straßenabläufe.
>> 
>> Wenn ich neue Objekte in den beiden Layern mit Filterung hinzufügen möchte, soll automatisch eine neue ID im Feld hg900 (Primärschlüssel) erstellt werden. Dazu benutze ich derzeit noch einen Hilfslayer, der einfach die Abfrage ausführt "select max(hg900) from hg“. Ich lasse mir also immer die höchste ID anzeigen und rechne plus 1 für die nächst höhere ID und gebe diese ID dann als neue eindeutige ID händisch in das Feld hg900 ein.
>> 
>> Habt ihr eine Idee, wie ich direkt die nächst höhere ID aus dem Layer „hg“ auf die gefilterten Layer in QGIS ausrechnen lassen kann? Der Vorgabewert „max(hg900)+1“ funktioniert leider nicht, da ich dann immer nur den höchsten Wert der gefilterten Layer ausrechne, statt dem aus dem gesamten Layer „hg“.
>> 
>> Liebe Grüße,
>> Max
>> -- 
>> ....................................................................
>> FOSSGIS Veranstaltungen
>> https://www.fossgis.de/news/fossgis-events/
>> 
>> FOSSGIS e.V, der Verein zur Förderung von Freier Software aus dem
>> GIS-Bereich und Freier Geodaten!
>> https://www.fossgis.de/             https://twitter.com/FOSSGIS_Verein
>> 
>> ____________________________________________________________________
>> FOSSGIS-Talk-Liste mailing list
>> FOSSGIS-Talk-Liste at fossgis.de
>> https://lists.fossgis.de/mailman/listinfo/fossgis-talk-liste


Mehr Informationen über die Mailingliste FOSSGIS-Talk-Liste