[FOSSGIS-Talk] Kürzel aus vorhandenem Attributfeld ableiten

Tom Meppiel tom.meppiel at maerkiag.ch
Do Nov 30 14:13:50 CET 2017


Hallo Eckhard

Da hast Du recht. Art müsste in doppelten Anführungszeichen stehen -> „Art“ damit ist, soweit ich das verstehe, der Attributname in der Tabelle gemeint. In einfachen Anführungszeichen steht der Wert drin ‘Rotmilan‘.
Ich baue mir das Ganze oft mit Drag and Drop im Feldrechner zusammen, da muss ich mir darüber gar keine Gedanken machen.

Tiefgründiger habe ich mich damit nicht auseinander gesetzt.

Grüsse
Tom

Von: Eckhard Schmidt [mailto:eckhard.schmidt at aol.de]
Gesendet: Donnerstag, 30. November 2017 14:01
An: Tom Meppiel <tom.meppiel at maerkiag.ch>; Fossgis-Talkliste <fossgis-talk-liste at fossgis.de>
Betreff: Kürzel aus vorhandenem Attributfeld ableiten

Hallo Tom,

du hast für die Ableitung von Kürzeln aus einem vorhandene Attributfeld diesen Formelausdruck vorgeschlagen:

CASE
WHEN 'Art' = 'Rotmilan' THEN 'Rm'
[...]
END

und:

case
when "Bezeichnung" = 'Bauernhofzone' then 'BHZ'
[...] end

Ich könnte ein ähnliches Problem bekommen.

Was mir auffällt: 'Art' (im 1. Beispiel) und "Bezeichnung" (im 2. Beispiel) sind in beiden Fällen doch die Feld-Überschriften bzw. Spalten-Namen, wenn ich es richtig verstehe.

Im ersten Beispiel ('Art') stehen sie in einfachen Anführungszeichen, im zweiten Beispiel ("Bezeichnung") in doppelten Anführungszeichen. Spielt das keine Rolle, oder wie ist die Syntax-Regel dafür?

Dazu habe ich außerdem die grundsätzlich Frage: Wo kann man die ganzen Syntax-Regeln für Formelausdrucke nachlesen? Wann muss man einfache, wann muss man doppelte Anführungszeichen setzen? Wo sind Klammern oder Schrägstriche oder Dollarzeichen oder andere Zeichen notwendig? - Ich stehe da völlig am Anfang. Gibt es irgendwo ein Vezeichnis für Syntax-Regeln in Attibuttabellen?

Vielen Dank.
Eckhard



Am 30.11.2017 um 12:00 schrieb fossgis-talk-liste-request at fossgis.de<mailto:fossgis-talk-liste-request at fossgis.de>:

Date: Wed, 29 Nov 2017 12:40:26 +0000

From: Tom Meppiel <tom.meppiel at maerkiag.ch><mailto:tom.meppiel at maerkiag.ch>

To: 'Martin Miethke' <martin.miethke at gmx.net><mailto:martin.miethke at gmx.net>, 'ML FOSSGIS'



Hallo Martin



Ich würde in der Tabelle ein virtuelles Feld anlegen mit diesem Ausdruck:



CASE

WHEN 'Art'  = 'Rotmilan' THEN 'Rm'

WHEN 'Art' = 'Neuntöter' THEN 'Nt'

WHEN 'Art' = 'Ortolan' THEN 'O'

END



Hab's bei mir anhand einem Nutzungsplan kurz durchprobiert:



case

when  "Bezeichnung" = 'Bauernhofzone' then 'BHZ'

when  "Bezeichnung" ='Gesamtüberbauung' then 'Gü' else 'rest' end



hat geklappt.



Grüsse

Tom




Mehr Informationen über die Mailingliste FOSSGIS-Talk-Liste