Mehr

Auswahl nach Ausdrucksfunktionen in QGIS 2.8.2 (Windows)?


Bitte verzeihen Sie mir, wenn dies offensichtlich ist, aber nachdem ich eine neu installierte Version von QGIS unter Windows geöffnet habe, kann ich die Liste der normalerweise vorhandenen Funktionen (wie im Mac-Bild gezeigt) im Feld 'Nach Ausdruck auswählen' nicht sehen. Weiß jemand wie man diese zurückbekommt?


Ziehen Sie die Trennwand nach rechts. Das sollte die Funktionsliste einblenden.


[email protected]#$%^& und ! Wollen Sie damit sagen, dass es unmöglich ist, diese Dinge so zu programmieren, dass sie nie in Vergessenheit geraten? Nach stundenlanger Frustration bin ich hier zufällig über dieses hier gestolpert. Dies verdient den dringenden Hinweis, dass es auf der Titelseite des Handbuchs eine FAQ geben sollte, um ahnungslosen Benutzern einige Hinweise zu geben, wenn offensichtliche Dinge nach Upgrades nicht mehr zu funktionieren scheinen. War bereit, meinen Schülern zu raten, Geld zu sparen, um Arcgis zu kaufen!


PHP gibt keine Daten von der Funktion zurück

Ich versuche, einen Kategorienamen für einen gesuchten Eintrag zurückzugeben, nachdem ich festgestellt habe, ob die Kategorie das niedrigste Kind ist.

Meine SQL-Anweisung gibt mehrere doppelte Einträge zurück (für jede Kategorie und Unterkategorie, in der sie enthalten ist - dh wenn sich ein Eintrag in Autos > Teile > Motor > Kurbelwellen befindet, wird er viermal angezeigt, jeder von Ihnen, der Expression Engine verwendet, sollte wissen, dass es macht dies :) )

Dies ist die SQL-Anweisung, die die Ergebnisse zurückgibt:

Der folgende Code soll versuchen, die tiefste untergeordnete Kategorie abzuleiten, damit der Eintrag nicht viermal angezeigt wird.

Der obige Code gibt die richtige Kategorie wieder, gibt sie jedoch nicht an die Variable $cat_name in der foreach-Schleife unten zurück.

Ich hoffe, ich habe mich klar genug ausgedrückt und danke für jede Hilfe!


Sie können zwei klare Verbesserungen vornehmen, in der Reihenfolge ihrer Wichtigkeit:

  1. Machen Sie 1 Pass über den Tisch anstelle von 2 Passes
  2. Vereinfachen Sie die Wo-Bedingung Ihrer zweiten Abfrage

Zuerst den 2. Punkt behandeln:

Die Where-Bedingung kann mit just so geändert werden, dass nur ein Vergleich möglich ist einer Regex-Test. Dieser Ausdruck:

kann einfach ausgedrückt werden:

Um als Nächstes nur einen Durchlauf über die Tabelle zu machen, verwenden Sie sum() unter der Bedingung, die Anzahl der Treffer gleichzeitig mit der Erfassung von count(*) zu erfassen. Unter Verwendung der obigen Verbesserung als Bedingung kann Ihre Abfrage zu Folgendem werden:

Außer du brauchen einer Store-Prozedur können Sie jetzt ganz darauf verzichten, da Sie das Ergebnis in einer einfachen Abfrage haben.

Wenn Sie dringend eine gespeicherte Prozedur benötigen (nicht empfohlen), wäre dies nur ein dünner Wrapper (ohne Wert hinzuzufügen) um die obige Abfrage:

Beachten Sie, dass ich vermute, dass Ihre letzte Bedingung hausnummer

'([a-z,A-Z])' ist nicht das, was Sie beabsichtigen. Erstens sind die Klammern überflüssig und können ohne Änderung der Bedeutung entfernt werden, dh es ist dasselbe wie hausnummer

'[a-z,A-Z]' und ist wahr, wenn Hausnummer einen Buchstaben oder ein Komma enthält.

Wenn das so ist nicht was Sie beabsichtigen, hinterlassen Sie einen Kommentar zu dieser Antwort, in dem Sie erklären, was Sie tatsächlich wollen.


Schau das Video: QGIS DOWNLOAD AND INSTALL (Oktober 2021).