[FOSSGIS-Talk] FOSSGIS-Talk-Liste Nachrichtensammlung, Band 98, Eintrag 19
R. Reiterer
r.reiterer at posteo.at
Di Mär 21 13:36:59 CET 2017
Hallo Eckart,
der Feldrechner ist etwas anderes als virtuelle Layer:
http://qgis.org/en/site/forusers/visualchangelog214/#feature-virtual-layers
Du musst nur in der Layerverwaltungswerkzeugleiste auf das Icon für
virtuelle Layer klicken, die SQL Anweisung reinkopieren, 'meinlayer' und
'meinbezugsfeld' durch den jeweiligen Layer- bzw. Feldnamen ersetzen und
mit'Okay' bestätigen.
PS: Anstelle von Leerzeichen würde ich einen Unterstrich (_) verwenden:
flaeche_nr
Schöne Grüße,
Reinhard
Am 21.03.2017 11:27 schrieb Eckhard Schmidt:
> Hallo Reinhard,
>
> vielen Dank für deinen Tipp.
>
> Ich komme allerdings leider noch nicht ganz damit klar. Ich habe,
> nachdem ich ein Integer-Feld ("flaeche nr") angelegt habe, den
> Feldrechner geöffnet, im Pulldownmenü das Ziel-Feld ("flaeche nr")
> gewählt, die Checkbox "Vorhandenes Feld erneuern" aktiviert und "Neues
> Feld anlegen" deaktiviert - und dann die von dir angegebene
> Befehlsfolge
>
> SELECT rowid AS "flaechen_id" /*:int*/, * FROM "meinlayer" ORDER BY
> "meinbezugsfeld" ASC;
>
> folgendermaßen in das Ausdrucks-Eingabefeld eingegeben:
>
> SELECT rowid AS "flaeche nr" /*:int*/, * FROM "Abbauflaechen_Kopie"
> ORDER BY "X_Y" ASC;
>
> "flaeche nr" ist, wie gesagt, das neu angelegte Integer-Feld, das die
> Flächennummerierung enthalten soll; "Abbauflaechen_Kopie" ist der
> Layer, in dem sich alles abspielt (ist selektiert und befindet sich im
> Editiermodus).
>
> "X_Y" ist das Bezugsfeld, an dem sich die Nummerierungs-Reihenfolge
> orientieren soll, d.h., der Datensatz (Zeile) mit dem niedrigsten Wert
> in "X_Y" soll in "flaeche nr" eine "1" bekommen, der Datensatz mit dem
> höchsten Wet in "X_Y" die höchste Ziffer in "flaeche nr".
>
> Nun meldet mir der Feldrechner :
>
> "Ausdruck ist ungültig
> Parsingfehler: syntax error, unexpected COLUMN_REF, expecting $end
> Auswertungsfehler: Kein Wurzelknoten! Parsen gescheitert?"
>
> Mit der Meldung bin ich leider überfordert ("Parsing" und
> "Wurzelknoten" sind mir keine Begriffe).
>
> Ist evtl. an den gewählten Feldnamen etwas nicht ok? (verbotene /
> missverständlich Zeichen etc.?).
>
> Wie kann ich weiter vorgehen? - Oder habe ich irgend etwas völlig
> falsch aufgefasst? (was ich nicht ganz ausschließen möchte).
>
> Nochmals vielen Dank im Voraus
> und Grüße nach Österreich,
> Eckhard
>
>
>
>
>
> Am 20.03.2017 um 12:00 schrieb fossgis-talk-liste-request at fossgis.de:
>> Hallo Eckart,
>>
>> die Sortierung der Attributtabelle dient - wie du schon festgestellt
>> hast - nur zur Anzeige. Eine Änderung der Datenstruktur ist hier nicht
>> erwünscht. Die Neusortierung der Daten könntest du über einen
>> virtuellen
>> Layer vornehmen:
>>
>> SELECT
>> rowid AS "flaechen_id" /*:int*/,
>> *
>> FROM "meinlayer"
>> ORDER BY "meinbezugsfeld" ASC;
>>
>> Mittels Rechtsklick kannst du den virutellen Layer - wie jeden anderen
>> Layer - in einem neuen Format speichern.
>>
>> Bei Layer- und Feldnamen würde ich übrigens von Großbuchstaben,
>> Sonderzeichen, Umlauten und Bindestrichen (könnten als Minuszeichen
>> interpretiert werden) absehen.
>>
>> Schöne Grüße,
>>
>> Reinhard
>>
Mehr Informationen über die Mailingliste FOSSGIS-Talk-Liste