[Mapserver-DE] setExpression

Ralph Anthes anthes at ive-mbh.de
Die Jul 26 10:59:52 CEST 2005


Hallo Liste,

ich brauche Hilfe im Zusammenhang mit den Expressions. Ich habe einen 
Layer mit dem Attribut der Höhe. Je nach Höhe soll die Farbe geändert 
werden:

Versuch 1:
$neuclassObj = ms_newClassObj($neulayerObj);
$neuclassObj->set(name, "800m");
$neuclassObj->setexpression("800");
$neustyleObj = ms_newStyleObj($neuclassObj);
$neustyleObj->color->setRGB(255,207,140);
Diese Abfrage filtert alle Attribute mit dem Wert 800 und das 
funktioniert. Jedoch würde das den Quellcode aufblähen, sobald ich für 
jeden einzelnen Wert einen Style anlegen muss ;o)

$neuclassObj->setexpression("[Lower] > 1200 AND [Lower] <= 2000");
Diese Abfrage funktioniert leider nicht. Warum? Meine Vermutung ist, 
dass das Attribut als [Lower] als String betrachtet wird und somit die 
Bedingung nicht wahr wird. Sollte ich [Lower] vorher umwandeln?

$neuclassObj->setexpression("[1200|1300|1400|1500|1600|1700|1800|1900|2000]");
Da die Höhenwert immer in 100erter Schritten angegeben sind, habe ich es 
so versucht. Funktioniert leider auch nicht. Gibt es denn eine gute 
Beschreibung für die Regex irgendwo oder was ist die Grundlage dafür? 
Ich habe bis dato keine ausführliche Beschreibung des Expression-Befehls 
gefunden :o(

Vielen Dank
Ralph Anthes








This site is hosted by Intevation GmbH (Datenschutzerklärung und Impressum | Privacy Policy and Imprint)