Selektion/Filter

CreateUserFilter

Erstellt einen Filter auf eine generische Ebene exklusiv für den anfordernden Benutzer.

Syntax

Hinweis: alle mit einem * in der Beschreibung gekennzeichneten Angaben sind optional

CreateUserFilter( 
theLayer:value,
theStmt:value,
FilterTarget:value);

theLayer

der Name einer in dem aktuellen Projekt vorhandenen Ebene.

theStmt

FilterTarget

Legt die Gültigkeit des Filters fest. Mögliche Werte sind: "DRAW", "SELECT" oder "ALL" (Standard).
Hinweise

Wird als Statement "DROP" angegeben, wird der Filter entfernt.
Ein vorher mit CreateUserFilter beschriebenere Filter wird ersetzt.
Hat dieser Filter eine Angaben einer ILF-Datei, überschreibt diese die Symboldefinition der Basisebene

Der Filter der Basisebene wird in jedem Fall berücksichtigt.
Wird FilterTarget nicht angegeben, wird "ALL" angenommen.

Beispiele
Go;
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Beispiel


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/

End;
Verwandte Themen

http://www.webmapserver.de/ISQL

 

ExecuteTheSelection

führt eine Sachdaten- oder geografisch basierte Suche durch

Syntax

Hinweis: alle mit einem * in der Beschreibung gekennzeichneten Angaben sind optional

ExecuteTheSelection( 
MaxIs:value,
theType:value,
theLayerList:value,
theField:value,
theValue:value,
theJoinType:value,
theGeometry:value,
FetchGeo:value);

MaxIs

Maximale Anzahl zu selektierender Objekte

theType

"ATTR" - Suche im Attributsatz, oder ... "GEOM" - geografische VerschneidungAbhängig von diesem Parameter gelten im folgenden unterschiedliche Argumente.Der Bezug ist jeweils in Klammern angegeben.

theLayerList

Name der Ebene in der gesucht werden soll.

theField

(ATTR)ein oder mehrere Feldname(n) im Sachdatensatz, in dem gesucht werden soll;bei Angabe von mehreren Feldnamen erfolgt die Trennung durch "|" (Feld1|Feld2|Feld3)

theValue

(ATTR)ein oder mehrere Wert(e) entsprechend den Feldnamen in theField, (Wert zu Feld1|Wert zu Feld2|Wert zu Feld3)

theJoinType

(ATTR)bestimmt, wie eine Liste von Angaben verknüpft wird "OR" oder "AND"

theGeometry

(GEOM)Legt eine Geometrie fest, die für eine Verschneidungsoperation mit der angegebenen Ebene benutzt wird.

FetchGeo

(ATTR, GEOM)legt fest, ob die Selektion auch die Geometriedaten der gefundenen Elemente zurückliefern soll(diese können in einer iws-Datei über das Selection-Objekt ausgelesen werden)
Hinweise

Bei der Sachdatensuche (theType=ATTR) kann nur immer ein Wert pro angegebenem Feld angegeben werden. Sollen komplexere Abfragen erstellt werden, dann muss ein Feld mehrmals angegeben und entsprechend kombiniert werden. (siehe Beispiel)

Bei der Verschneidung eines Punkt- oder Linienshapefiles mit einer Punkt-Geometrie wird ein Suchpuffer von einem Meter erzeugt.
Bei der Verschneidung eines Punktelayers mit einer Liniengeometrie sind keine Ergebnisse zu erwarten.

Beispiele
Go;
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Sachdatensuche mit einem Feld-Wert-Paar


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
ret=ExecOld("ExecuteTheSelection", theLayerList:"STRASSE", theType:"ATTR", theField:"NAME" theValue:"Hauptstraße");
End;
Go;
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Sachdatensuche mit mehreren Feld-Wert-Paaren


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
ret=ExecOld("ExecuteTheSelection", theLayerList:"GEBAEUDE", theType:"ATTR", theField:"STRASSE|HAUSNUMMER", theValue:"Hauptstraße|15");
End;
Go;
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Sachdatensuche mehrerer Werte in einem Feld


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
ret=ExecOld("ExecuteTheSelection", theLayerList:"STRASSE", theType:"ATTR", theField:"NAME|NAME|NAME", theValue:"Hauptstraße|Bahnhofstraße|Musterstraße", theJoinType:"OR"); /* (ACHTUNG: unbedingt theJoinType auf OR setzen, da sonnst keinesfalls etwas gefunden werden kann)
End;
Go;
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Geografische Verschneidung mit Punk (Karteneinheiten)


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
ret=ExecOld("ExecuteTheSelection, theLayerList:"GEBAEUDE", theType:"GEOM", theGeometry:"gPoint:5436556|5686343");
End;
Go;
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Geografische Verschneidung mit Polygon (Bildeinheiten)


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
ret=ExecOld("ExecuteTheSelection", theLayerList=GEBAEUDE", theType=GEOM", theGeometry=iPoly:0|100|100|100|100|0|0|0");
End;
Verwandte Themen

ExecuteTheSelectionEx, theGeometry

ExecuteTheSelectionEx

Führt eine SQL ähnliche Selektion auf die Geometrie oder Sachdaten einer Ebene aus.

Syntax

Hinweis: alle mit einem * in der Beschreibung gekennzeichneten Angaben sind optional

ExecuteTheSelectionEx( 
theLayer:value,
FetchGeo:value,
theStmt:value);

theLayer

der Name einer vorhandenen Ebene

FetchGeo

legt fest, ob die Selektion auch die Geometriedaten der gefundenen Elemente zurückliefern soll (diese können in einer iws-Datei über das Selection-Objekt ausgelesen werden)

theStmt

ein ISQL Statement zur Beschreibung der Selektionskriterien.
Hinweise
Beispiele
Go;
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Beispiel


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
sql="SELECT MY.* FROM $SELF AS MY " +" WHERE KREIS LIKE " +"''''BAUTZEN'''' AND BEVOELK >= 5092 AND KREIS_ST <> ''''N''''"; ret=ExecOld("ExecuteTheSelectionEx", theLayer:"ELBE", FetchGeo:false, theStmt:sql); if(not(ret)); print(GetLastError()); endif; Print(sql+"

");
End;
Verwandte Themen

ExecuteTheSelection, ISQL