FOSSGIS-Talk-Liste Nachrichtensammlung, Band 98, Eintrag 19

Eckhard Schmidt eckhard.schmidt at aol.de
Di Mär 21 11:27:07 CET 2017


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