Select Condition

Top  Previous  Next

Die Select Condition - Anweisung ist eine komplexe Selektionsmethode die neben der Abhängigkeit zu der objektbezogenen Attributierung eine Selektionsbestimmung in Bezug zu Element, - oder Punktbezogenen Merkmalen möglich macht.

Alle Abfragekriterien lassen sich „Baukastenweise“ zusammen stellen.

Für die Select - Condition Selektions-Methode sind bisher die folgenden Select - Parameter implementiert: NEW und IOR (Neu selektieren oder Zufügen in bestehende Selektionen)

Voraussetzung

Die Datenbank muß geöffnet sein.

Vor jeder schließenden und nach jeder öffnenden Klammer muß ein Leerzeichen stehen, sonst werden die Parameter nicht korrekt ausgewertet.

 

Bemerkung

Die Lesbarkeit des Select ... condition-Befehls gewinnt, wenn das FLAG 25 für mehrzeilige Kommandos in Batchdateien auf den Wert 1 gesetzt wird.

(Siehe dazu in der Tabellenreferenz Globale Flags GLOBAL_FLAG_MULTILINE      25.)

Das Ignorieren bestimmter Elementtypen in der Selektion läßt sich über die globale Variable SYSTEM.SelectOptions steuern. Dabei gilt

1       String-Elemente ignorieren

2       Symbol-Elemente ignorieren

4        Text-Elemente ignorieren

8       Raster-Elemente ignorieren

16      Set-Elemente ignorieren

32      Attribut-Elemente ignorieren

Kombinationen sind über die Summe möglich.

Wichtig hierbei ist, dass die zu ignorierenden Elementtypen nicht im Select-Kommando aufgelistet werden, da sonst die Überprüfung der Anzahl stattfindet und evtl. nicht das gewünscht Ergebnis erzielt wird.  

Parameter

Erster Parameter der „Select-Condition“ Anweisung ist eine Kombination aus O, E und P. Diese Parameter legen fest, für wen die folgenden Parameter Gültigkeit besitzen:  Objekte (O), Elemente (E) und oder Punkte (P).

Es folgen beliebig viele Blöcke, die folgender Form entsprechen müssen:

“#( eigenschaft1 wert1 eigenschaft2 wert2 .... )“ Operator Anzahl

statt eigenschaft1 wert1 ist auch ein geschachtelter Block der Form

( eigenschaft1 Operator wert1 )

möglich.

Wichtig: Zwischen den Parametern und vor jeder schließenden und nach jeder öffnenden Klammer muß ein Leerzeichen stehen, sonst werden die Parameter nicht korrekt ausgewertet! Enthalten Werte Leerzeichen (z.B. Textinhalte), so sind diese in doppelte Anführungszeichen zu setzen. (Doppelt, da bereits der Block in Anführungszeichen steht.)

Funktionsweise

 

Die Funktion “Select NEW condition” greift per Definition auf die üblichen Pseudoattribute zurück, welche für Objekte, Texte, Strings und Punkte die bspw. bei gewöhnlichen DBquery –Abfragen verwendet werden. Diese „Pseudoattribut – Teilabfrageergebnisse“ werden nun in der „Condition - Gesamtabfragefunktionalität“,  zeilenweise für die einzelnen Objektausprägungen, wie gewünscht mit entsprechenden Bedingungen,  wie gleich, größer als, kleiner als,  usw. angegeben.

 

Pseudoattribute

Die aktuellen gültigen Pseudoattribute für Objekte, Elemente, Punkte usw. finden Sie in der Tabellenreferenz unter dem Stichwort „Pseudoattribute“. Pseudoattribute finden ihre Anwendung bei GIS typischen DBquery – Abfragen. Daher finden sie häufig verwendeten Pseudoattribute auch im Moskito Attributabfrage Dialog, im Menü unter Analyse -> Attributabfrage. Die dort zusammenstellbaren DBquery - Abfragen enthalten die Pseudoattribute die auch für Condition –Anweisung verwendet werden können. Eine typische Abfrage ist bspw. :  

DBquery($keys from open object)    

Diese Abfrage liefert alle Objektschlüssel vom geöffneten Objekt. Das Pseudoattribut ist in diesem Fall $keys.

Mit Bedingungen, oder Operatoren ist die angegebenen Häufigkeit des Vorkommens der ausgewählten Merkmale (verwendete Pseudoattribute) gemeint.  Diese können Numerisch mit Gleich,  Größer kleiner, Kleiner als, usw. bestimmt werden. Die Bedingungen werden als Kürzel, größtenteils ähnlich der bekannten mathematischen MOSKITO  Funktionen (z.B. m_eq) , jedoch nur Groß geschrieben und ohne „m_“ davor angeben. Die für die Select - Condition Abfragemethode gültigen Operatoren sind:

 

Operatoren

EQ (equal)

NE (not equal)

GE (greater equal)

GT (greater then)

LE (lower equal)

LT (lower than)

IN (liste)

NOTIN (Negativliste)

BETWEEN (bereich)

 

Erläuterungsbeispiel:

 

Möchten Sie bspw. Objekte herausselektieren welche den Objektschlüssel 13120 haben und als Zusatzbedingungen den DKY - Wert 41 und den DKA - Wert 2 besitzen, und als weitere Zusatzbedingung sollen die gewünschten Objekte über nur einen Text verfügen und genau 7 Attribute besitzen, dann würde die Selektion wie folgt aussehen:

 

Select NEW condition/OE "#( $typ OBJECT  $keys 13120 )" EQ 1 \

                                         "#( $typ STRING  $dky  41  $dka 2  )" EQ 1 \

                                         "#( $typ TEXT  )" EQ 1 \

                                         "#( $typ ATTRIBUT  )" EQ 7

 

In der ersten Zeile wird festgelegt welche Planinhalte berücksichtigt werden (/OE = Objekte und Elemente) und das vom Typ OBJECT nur die Objekte die genau einen Schlüssel, mit dem Wert 13120,  herausgesucht werden. Die zweite Zeile setzt die Bedingung, so das diese Objekte nur einen STRING mit dem DKY Wert 41 und dem DKA Wert 2 haben dürfen.  Die dritte Zeile legt fest das diese Objekte nur einen Text haben dürfen und die vierte Zeile legt fest das diese Objekte über sieben Attribute verfügen müssen.

 

HINWEIS: Alle Parameter innerhalb der Klammern werden überprüft.

Wird kein $typ angegeben würden die weiteren Parameter auf jeden

Elementtyp angewendet werden.

Dialog

184 Objekte selektiert.

Nach einer Selektion wir die Anzahl der selektierten Objekte ausgegeben

 

Beispiele

Gleiche Abfragebedingungen wie im Erläuterungsbeispiel (siehe oben),  nur mit einem bestimmten Attributnamen (Test)

 

Select NEW condition/OE "#( $typ OBJECT $keys 13120 )" EQ 1 \

                       "#( $typ STRING $dky  41  $dka 2 )" EQ 1 \

                       "#( $typ TEXT  )" EQ 1 \

                       "#( $typ ATTRIBUT $name Test )" EQ 1 \

                       "#( $typ ATTRIBUT )" GE 1

 

Gleiche Abfragebedingungen wie im Erläuterungsbeispiel (siehe oben),  nur mit einem bestimmten Attributnamen (Test) und einem bestimmten Attributwert (2).

 

Select NEW condition/OE "#( $typ OBJECT $keys 13120 )" EQ 1 \

                        "#( $typ STRING $dky  41  $dka 2 )" EQ 1 \

                        "#( $typ TEXT  )" EQ 1 \

                        "#( $typ ATTRIBUT $name Test $value 2 )" EQ 1 \

                        "#( $typ ATTRIBUT )" GE 1

 

Alle Objekte Selektieren, die mindestens ein Element mit einem Punkt  mit dem Punktsymbol 2 oder 3 haben:

 

       Select NEW condition/P "#( $typ POINT $inf.EB 28 $inf.ST 4 $inf.SM 1 )" GE 1 \

                                    "#( $typ POINT ( $psy IN 2 3 ) )" GE 1

 

Alle Objekte Selektieren, die genau ein Linien-Element mit den Elementattributen EB = 11, ST = 11 und SM=1 und mindestens 1 Attribut haben:

 

Select NEW condition/EO "#( $typ OBJECT )" EQ 1 \

                         "#( $typ STRING  $inf.EB 11  $inf.ST  11  $inf.SM 1 )" EQ 1 \

"#( $typ ATTRIBUT )" GE 1

 

In Allen Objekten mit Key 100 diejenigen selektieren, die mindestens einen Attributtext mit den u.g. Eigenschaften und die dazugehörenden Attribute und insgesamt mindestens 3 Attribute haben:

 

Select NEW KEY/100

Select  AND condition/EO "#( $typ OBJECT )" EQ 1 \

"#( $typ TEXT    $dky 218  $dka 0  $size 250  $font 4  $isatx 1  $atext ""%TYP%%QUE%"" )" GE 0 \

"#( $typ ATTRIBUT $name TYP )" EQ 1 \

"#( $typ ATTRIBUT $name QUE )" EQ 1 \

"#( $typ ATTRIBUT )" GE 3

 

 

Siehe auch

SelectElements

FindByAttributes  [FND]

 

 

--------------------OLD_TEXT---------------------

Die Select Condition - Anweisung ist eine komplexe Selektionsmethode die neben der Abhängigkeit zu der objektbezogenen Attributierung eine Selektionsbestimmung in Bezug zu Element, - oder Punktbezogenen Merkmalen möglich macht.

Alle Abfragekriterien lassen sich „Baukastenweise“ zusammen stellen.

Für die Select - Condition Selektions-Methode sind bisher die folgenden Select - Parameter implementiert: NEW und IOR (Neu selektieren oder Zufügen in bestehende Selektionen)

Voraussetzung

Die Datenbank muß geöffnet sein.

Vor jeder schließenden und nach jeder öffnenden Klammer muß ein Leerzeichen stehen, sonst werden die Parameter nicht korrekt ausgewertet.

 

Bemerkung

Die Lesbarkeit des Select ... condition-Befehls gewinnt, wenn das FLAG 25 für mehrzeilige Kommandos in Batchdateien auf den Wert 1 gesetzt wird.

(Siehe dazu in der Tabellenreferenz Globale Flags GLOBAL_FLAG_MULTILINE      25.)

Das Ignorieren bestimmter Elementtypen in der Selektion läßt sich über die globale Variable SYSTEM.SelectOptions steuern. Dabei gilt

1       String-Elemente ignorieren

2       Symbol-Elemente ignorieren

4        Text-Elemente ignorieren

8       Raster-Elemente ignorieren

16      Set-Elemente ignorieren

32      Attribut-Elemente ignorieren

Kombinationen sind über die Summe möglich.

Wichtig hierbei ist, dass die zu ignorierenden Elementtypen nicht im Select-Kommando aufgelistet werden, da sonst die Überprüfung der Anzahl stattfindet und evtl. nicht das gewünscht Ergebnis erzielt wird.  

Parameter

Erster Parameter der „Select-Condition“ Anweisung ist eine Kombination aus O, E und P. Diese Parameter legen fest, für wen die folgenden Parameter Gültigkeit besitzen:  Objekte (O), Elemente (E) und oder Punkte (P).

Es folgen beliebig viele Blöcke, die folgender Form entsprechen müssen:

“#( eigenschaft1 wert1 eigenschaft2 wert2 .... )“ Operator Anzahl

statt eigenschaft1 wert1 ist auch ein geschachtelter Block der Form

( eigenschaft1 Operator wert1 )

möglich.

Wichtig: Zwischen den Parametern und vor jeder schließenden und nach jeder öffnenden Klammer muß ein Leerzeichen stehen, sonst werden die Parameter nicht korrekt ausgewertet! Enthalten Werte Leerzeichen (z.B. Textinhalte), so sind diese in doppelte Anführungszeichen zu setzen. (Doppelt, da bereits der Block in Anführungszeichen steht.)

Funktionsweise

 

Die Funktion “Select NEW condition” greift per Definition auf die üblichen Pseudoattribute zurück, welche für Objekte, Texte, Strings und Punkte die bspw. bei gewöhnlichen DBquery –Abfragen verwendet werden. Diese „Pseudoattribut – Teilabfrageergebnisse“ werden nun in der „Condition - Gesamtabfragefunktionalität“,  zeilenweise für die einzelnen Objektausprägungen, wie gewünscht mit entsprechenden Bedingungen,  wie gleich, größer als, kleiner als,  usw. angegeben.

 

Pseudoattribute

Die aktuellen gültigen Pseudoattribute für Objekte, Elemente, Punkte usw. finden Sie in der Tabellenreferenz unter dem Stichwort „Pseudoattribute“. Pseudoattribute finden ihre Anwendung bei GIS typischen DBquery – Abfragen. Daher finden sie häufig verwendeten Pseudoattribute auch im Moskito Attributabfrage Dialog, im Menü unter Analyse -> Attributabfrage. Die dort zusammenstellbaren DBquery - Abfragen enthalten die Pseudoattribute die auch für Condition –Anweisung verwendet werden können. Eine typische Abfrage ist bspw. :  

DBquery($keys from open object)    

Diese Abfrage liefert alle Objektschlüssel vom geöffneten Objekt. Das Pseudoattribut ist in diesem Fall $keys.

Mit Bedingungen, oder Operatoren ist die angegebenen Häufigkeit des Vorkommens der ausgewählten Merkmale (verwendete Pseudoattribute) gemeint.  Diese können Numerisch mit Gleich,  Größer kleiner, Kleiner als, usw. bestimmt werden. Die Bedingungen werden als Kürzel, größtenteils ähnlich der bekannten mathematischen MOSKITO  Funktionen (z.B. m_eq) , jedoch nur Groß geschrieben und ohne „m_“ davor angeben. Die für die Select - Condition Abfragemethode gültigen Operatoren sind:

 

Operatoren

EQ (equal)

NE (not equal)

GE (greater equal)

GT (greater then)

LE (lower equal)

LT (lower than)

IN (liste)

NOTIN (Negativliste)

BETWEEN (bereich)

 

Erläuterungsbeispiel:

 

Möchten Sie bspw. Objekte herausselektieren welche den Objektschlüssel 13120 haben und als Zusatzbedingungen den DKY - Wert 41 und den DKA - Wert 2 besitzen, und als weitere Zusatzbedingung sollen die gewünschten Objekte über nur einen Text verfügen und genau 7 Attribute besitzen, dann würde die Selektion wie folgt aussehen:

 

Select NEW condition/OE "#( $typ OBJECT  $keys 13120 )" EQ 1 \

                                         "#( $typ STRING  $dky  41  $dka 2  )" EQ 1 \

                                         "#( $typ TEXT  )" EQ 1 \

                                         "#( $typ ATTRIBUT  )" EQ 7

 

In der ersten Zeile wird festgelegt welche Planinhalte berücksichtigt werden (/OE = Objekte und Elemente) und das vom Typ OBJECT nur die Objekte die genau einen Schlüssel, mit dem Wert 13120,  herausgesucht werden. Die zweite Zeile setzt die Bedingung, so das diese Objekte nur einen STRING mit dem DKY Wert 41 und dem DKA Wert 2 haben dürfen.  Die dritte Zeile legt fest das diese Objekte nur einen Text haben dürfen und die vierte Zeile legt fest das diese Objekte über sieben Attribute verfügen müssen.

 

HINWEIS: Alle Parameter innerhalb der Klammern werden überprüft.

Wird kein $typ angegeben würden die weiteren Parameter auf jeden

Elementtyp angewendet werden.

Dialog

184 Objekte selektiert.

Nach einer Selektion wir die Anzahl der selektierten Objekte ausgegeben

 

Beispiele

Gleiche Abfragebedingungen wie im Erläuterungsbeispiel (siehe oben),  nur mit einem bestimmten Attributnamen (Test)

 

Select NEW condition/OE "#( $typ OBJECT $keys 13120 )" EQ 1 \

                       "#( $typ STRING $dky  41  $dka 2 )" EQ 1 \

                       "#( $typ TEXT  )" EQ 1 \

                       "#( $typ ATTRIBUT $name Test )" EQ 1 \

                       "#( $typ ATTRIBUT )" GE 1

 

Gleiche Abfragebedingungen wie im Erläuterungsbeispiel (siehe oben),  nur mit einem bestimmten Attributnamen (Test) und einem bestimmten Attributwert (2).

 

Select NEW condition/OE "#( $typ OBJECT $keys 13120 )" EQ 1 \

                        "#( $typ STRING $dky  41  $dka 2 )" EQ 1 \

                        "#( $typ TEXT  )" EQ 1 \

                        "#( $typ ATTRIBUT $name Test $value 2 )" EQ 1 \

                        "#( $typ ATTRIBUT )" GE 1

 

Alle Objekte Selektieren, die mindestens ein Element mit einem Punkt  mit dem Punktsymbol 2 oder 3 haben:

 

       Select NEW condition/P "#( $typ POINT $inf.EB 28 $inf.ST 4 $inf.SM 1 )" GE 1 \

                                    "#( $typ POINT ( $psy IN 2 3 ) )" GE 1

 

Alle Objekte Selektieren, die genau ein Linien-Element mit den Elementattributen EB = 11, ST = 11 und SM=1 und mindestens 1 Attribut haben:

 

Select NEW condition/EO "#( $typ OBJECT )" EQ 1 \

                         "#( $typ STRING  $inf.EB 11  $inf.ST  11  $inf.SM 1 )" EQ 1 \

"#( $typ ATTRIBUT )" GE 1

 

In Allen Objekten mit Key 100 diejenigen selektieren, die mindestens einen Attributtext mit den u.g. Eigenschaften und die dazugehörenden Attribute und insgesamt mindestens 3 Attribute haben:

 

Select NEW KEY/100

Select  AND condition/EO "#( $typ OBJECT )" EQ 1 \

"#( $typ TEXT    $dky 218  $dka 0  $size 250  $font 4  $isatx 1  $atext ""%TYP%%QUE%"" )" GE 0 \

"#( $typ ATTRIBUT $name TYP )" EQ 1 \

"#( $typ ATTRIBUT $name QUE )" EQ 1 \

"#( $typ ATTRIBUT )" GE 3

 

 

Siehe auch

SelectElements

FindByAttributes  [FND]

 

 

--------------------OLD_TEXT---------------------

The Select Condition - instruction is a complicated selection method beside the dependence to the object-related Attributierung a selection regulation in relation to element, - or makes point drawees to signs possible.

All query criteria let themselves put together "box of building blocks manner".

For the Select - Condition selection method are up to now the following Select - parametre implements: NEW and IOR (Anew select or adding in existing selections)

Condition

The data bank must be opened.

Before every closing and after every opening clip a blank must stand, but the parametres are not correctly evaluated.

 

Remark

The legibility of the Select... of condition order wins if the FLAG 25 is put for multiline commands in Batchdateien on the value 1.

(See in addition in the table reference global Flags GLOBAL_FLAG_MULTILINE 25.)

The disregarding of certain element types in the selection can be steered about the global variable SYSTEM.SelectOptions. Besides, is valid

1 string elements ignore

2 symbolic elements ignore

4 text elements ignore

8 grid elements ignore

16 set elements ignore

32 attribute elements ignore

Combinations are possible above the sum.

Importantly, on this occasion, it is that the element types to be ignored are not listed in the Select command, because, otherwise, the examination of the number takes place and is not achieved perhaps wished result.

Parametre

The first parametre of the "Select-Condition" instruction is a combination from O, E and P. These parametres fix for whom the following parametres own validity: Objects (O), elements (E) and or points (P).

There follow arbitrarily many blocks which must correspond to the following form:

ô# (eigenschaft1 wert1 eigenschaft2 wert2....)“ operator number

instead of eigenschaft1 wert1 is also a geschachtelter block of the form

(eigenschaft1 operator wert1)

possibly.

Importantly: Between the parametres and before every closing and after every opening clip a blank must stand, but the parametres are not correctly evaluated! If worth blanks (e.g., text contents) contain, these are to be put in double quotation marks. (Twice, because already the block stands in quotation mark.)

Functionality

 

The function "Select NEW condition" falls back by definition on the usual pseudo attributes which are used for objects, texts, string and points, for example, by usual queries DBquery. Now this „pseudo attribute – partial query results“ become in the „Condition - whole query functionality“, line-by-line for the single object stamping, as desired with suitable conditions, like immediately, greater than, smaller than, etc. given.

 

Pseudo attributes

Etc. you find the topical valid pseudo attributes for objects, elements, points in the table reference under the headword "Pseudo attributes". Pseudo attributes find her use with G SHARP typical DBquery – queries. Hence, they find to often used pseudo attributes also in the Moskito attribute query dialogue, in the menu under analysis -> attribute query. The DBquery puttable together there - queries contain the pseudo attributes also for Condition instruction can be used. A typical query is, for example:

DBquery ($keys from open object)

This query delivers all object keys of the open object. In this case the pseudo attribute is $keys.

With conditions, or operators the given frequency of the occurence of the well-chosen signs (used pseudo attributes) is meant. These can be determined Numerically with Immediately, Greater smaller, little one than, etc. The conditions are written as an abbreviation, mainly similarly the known mathematical Moskito functions (e.g., m_eq), however, Only largely and brag without „m _“ before it. For the Select - Condition query method to valid operators are:

 

Operators

EQ (equal)

(equal)

(greater equal)

GT (greater then)

LE (lower equal)

LT (lower than)

IN (lists)

NOTIN (negative list)

BETWEEN (bereich)

 

Explanation example:

 

If you liked to have, for example, objects herausselektieren which the object key 13120 and own the DKY - value 41 and the DKA - value 2 as additional terms, and as an other additional condition the desired objects should dispose of only one text and own exactly 7 attributes, then the selection would look as follows:

 

Select NEW condition/OE "# ($typ OBJECT $keys 13120)" EQ 1 \

á"# ($typ STRING $dky 41$dka 2)" EQ 1 \

á"# ($typ TEXT)" EQ 1 \

á"# ($typ ATTRIBUTE)" EQ 7

 

In the first line it will be considered agreedly which plan contents (/OE = objects and elements) and by the type OBJECT only the objects exactly one keys, with the value 13120, are picked out. The second line puts the condition, thus these objects only one STRING with the value DKY 41 and the value DKA 2 may have. The third line firmly lays these objects only one text may have and the fourth line this firmly lays these objects more than seven attributes must dispose.

 

TIP: All parametres within the clips are checked.

Becomes nobody $typ the other parametres on everybody would be given

Element type are applied.

Dialogue

184 objects selects.

After a selection we the number of the selected objects spent

 

Examples

The same query terms like in the explanation example (see above), only with a certain attribute name (test)

 

Select NEW condition/OE "# ($typ OBJECT $keys 13120)" EQ 1 \

á"# ($typ STRING $dky 41$dka 2)" EQ 1 \

á"# ($typ TEXT)" EQ 1 \

á"# ($typ ATTRIBUTE $name test)" EQ 1 \

á"# ($typ ATTRIBUTE)" 1

 

The same query terms like in the explanation example (see above), only with a certain attribute name (test) and a certain attribute value (2).

 

Select NEW condition/OE "# ($typ OBJECT $keys 13120)" EQ 1 \

"# ($typ STRING $dky 41$dka 2)" EQ 1 \

"# ($typ TEXT)" EQ 1 \

"# ($typ ATTRIBUTE $name test $value 2)" EQ 1 \

"# ($typ ATTRIBUTE)" 1

 

All objects selecting which have at least one element with a point with the point symbol 2 or 3:

 

Select NEW condition/P "# ($typ POINT $inf. EB 28$inf. SAINT 4$inf. N.M. 1)" 1 \

"# ($typ POINT ($psy in 2 3))" 1

 

All objects selecting which have exactly one line element with the element attributes EB = 11, SAINT = 11 and SM=1 and at least 1 attribute:

 

Select NEW condition/EO "# ($typ OBJECT)" EQ 1 \

á"# ($typ STRING $inf. EB 11$inf. SAINT 11$inf. N.M. 1)" EQ 1 \

"# ($typ ATTRIBUTE)" 1

 

In All objects with Key 100 those select, at least one attribute text with u.g. Qualities and the belonging to it attributes and a total of at least 3 attributes have:

 

Select NEW KEY / 100

Select AND condition/EO "# ($typ OBJECT)" EQ 1 \

"# ($typ TEXT $dky 218$dka 0$size 250$font 4$isatx 1$atext ""%TYP %% % QUE"")" 0 \

"# ($typ ATTRIBUTE $name TYPE)" EQ 1 \

"# ($typ ATTRIBUTE $name QUE)" EQ 1 \

"# ($typ ATTRIBUTE)" 3

 

 

See also

SelectElements

FindByAttributes [FND]