[Mapserver-DE] [PHP] Query von Shapes

Michael Schulz mschulz at webgis.de
Mon Nov 15 10:37:39 CET 2004


Hallo,

der MapServer-Begrifflichkeit wegen, eine kleine Sache, das angeführte Beispiel ist eine logical 
expression, diese werden mit runden Klammern gekennzeichnet, regular expressions müssen mit forward 
slashes gekennzeichnet: /[RegExp]/

Mit einer reg. Exp. sollte diese Abfrage so (oder ähnlich ;-)) aussehen:

     $regexp = "/[19]/";
     $myLayer->queryByAttributes("DB_ID", $regexp, MS_MULTIPLE);

s.a.: http://mapserver.gis.umn.edu/doc42/mapfile-reference.html#class

Viele Grüße, Michael Schulz



Frank Broniewski schrieb:

> Ich muss mich leider selber korrigieren. Der unten genannte Ausdruck ist so
> leider nicht richtig. Es kam immer nur ein Ergebnis von Mapserver zurück,
> obwohl mehrere zu erwarten waren. Deshalb hier jetzt die Version, die bei
> mir auch korrekte Ergebnisse liefert!
> 
>    $regexp = "('[DB_ID]' = '1' OR '[DB_ID]' = '9')";
>    $myLayer->queryByAttributes("DB_ID", $regexp, MS_MULTIPLE);
> 
>                                                       
> Frank Broniewski
> Musée National d'Histoire et d'Art
> Section Préhistoire / Projet EPC
>     Tél: +352 260 281-21
> 241, Rue de Luxembourg
> L-8077 Bertrange
> 
> 
> -----Message d'origine-----
> De : mapserver-de-bounces at freegis.org
> [mailto:mapserver-de-bounces at freegis.org] De la part de Frank Broniewski
> Envoyé : Montag, 15. November 2004 09:27
> À : 'Nicol Hermann'; mapserver-de at freegis.org
> Objet : RE : [Mapserver-DE] [PHP] Query von Shapes
> 
> 
> Vielen Dank für den heissen Tip!
> 
> Nach ein bisschen Recherche in den Newsgroups habe ich die korrekte Syntax
> für den Gebrauch von Regulären Expressions in querybyattributes
> herausgefunden:
>   
>   queryByAttributes("DB_ID", "([DB_ID] = 7 | 11)", "MS_MULTIPLE");
> 
> Man muss den Ausdruck in Klammern setzen, so weiss MS, dass hier eine RegExp
> folgt.
> 
> Grüsse aus Luxembourg
> 
>                                                       
> Frank Broniewski
> Musée National d'Histoire et d'Art
> Section Préhistoire / Projet EPC
>     Tél: +352 260 281-21
> 241, Rue de Luxembourg
> L-8077 Bertrange
> 
> 
> -----Message d'origine-----
> De : Nicol Hermann [mailto:hermann at gdv.com] 
> Envoyé : Donnerstag, 11. November 2004 18:51
> À : Frank Broniewski
> Objet : Re: [Mapserver-DE] [PHP] Query von Shapes
> 
> 
> Hallo Frank,
> 
> versuch mal folgenden String:
> $layer->queryByAttributes ("<irgend_ein_feld_der_dbf_datei>",
> "'[Feldname]' ~= /(4|6)/");
> 
> Nicht getestet sollte aber gehen.
> Gruß Nicol
> 
> 
> Am Do, den 11.11.2004 schrieb Frank Broniewski um 13:33:
> 
>>Hallo zusammen
>>
>>Ich bekomme aus einer Datenbank Id's geliefert, die ihre Entsprechung
>>in einer Spalte des .dbf's eines Shapefiles finden. Nun möchte ich mir 
>>die Shapes mit den passenden Id's mittels drawQuerymap() hervorheben 
>>lassen.
>>
>>Mein bisheriger Lösungsansatz fragt mittels queryByAttribute() das
>>Layer nach den Id's ab. Dadurch kann ich mit drawQuerymap() mir _ein_ 
>>Shape hervorheben lassen, leider nur genau das letzte Shape, das dem 
>>Suchmuster entsprach.
>>
>>Ein Beispiel zur Verdeutlichung:
>>Ich bekomme die ID's 4 und 5 von der Datenbank geliefert. Mittels
>>queryByAttributes durchsuche ich das Layer nach id 4 und danach nach 
>>id 5 -> lediglich das Shape mit Id 5 ist hervorgehoben durch 
>>drawQueryMap().
>>
>>Gibt es eine Möglichkeit, dem Querystack Shapeids oder FeatureIds
>>hinzluzufügen? Oder kann man mit queryByAttributes auch regular 
>>Expressions benutzen? Was bewirkt in diesem Zusammenhang SaveQuery 
>>beim Mapobjekt?
>>
>>                                                      
>>Frank Broniewski
>>Musée National d'Histoire et d'Art
>>Section Préhistoire / Projet EPC
>>    Tél: +352 260 281-21
>>241, Rue de Luxembourg
>>L-8077 Bertrange
>>
>>_______________________________________________
>>Mapserver-DE mailing list
>>Mapserver-DE at freegis.org
>>https://freegis.org/mailman/listinfo/mapserver-de
> 
> 
> _______________________________________________
> Mapserver-DE mailing list
> Mapserver-DE at freegis.org https://freegis.org/mailman/listinfo/mapserver-de
> 
> _______________________________________________
> Mapserver-DE mailing list
> Mapserver-DE at freegis.org
> https://freegis.org/mailman/listinfo/mapserver-de
> 

-- 
-----------------------------------------------------------
Michael Schulz                                in medias res
Dipl.-Geologe                              Gesellschaft für
                                 Informationstechnologie mbH
                                      In den Weihermatten 66
		                             79108 Freiburg
                                      0761 55695-95 (Fax 96)
mschulz at webgis.de              www.webgis.de/www.zopecms.de




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