[Mapserver-DE] [PHP] Query von Shapes

Frank Broniewski Frank.Broniewski at mnha.etat.lu
Mon Nov 15 10:03:30 CET 2004


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




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