[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)