I'm seeing the same (or similar) problem. First I query a MSsql database and get a result set. The parcel ids from the result set are inserted into an expression in a class which is inserted into a layer of the map which has its geometry data in a postgres database. (Don't ask why two databases! We hope to move the data soon.) The parcels are then highlighted on the map.
The problem we are seeing is when there are lots of parcels, the resulting map has missing parcels in the highlighted set. My solution to this was to reduce the number of parcels in each class to 100 and insert many identical classes. My results seem more stable but I still have and error when the number of parcels exceeds 500 or so. Each parcel id is 9 characters long and the form of expression is "([tag] in '123456789,987654321')" -----Original Message----- From: [email protected] [mailto:[email protected]] On Behalf Of Steve Lime Sent: Wednesday, October 21, 2009 11:20 AM To: Mapserver Mailinglist ENG; Rafael Szajbel Subject: Re: [mapserver-users] long expression statement doesn't work anymore Any chance you could create a simple test case showing the problem? The fact it shows some features is puzzling. If it was just a matter of the expression getting truncated then you should see an expression parse error. Steve >>> Rafael Szajbel <[email protected]> 10/21/2009 6:58 AM >>> Hello, in an older MapServer version (4.10.0) it is possible to use a very long Expression or Filter statement. Like this one with over 1000 comma separated values: EXPRESSION ('[NR]' IN 'ID1,ID2,.................,ID1100') This works fine: With newer MapServer versions (whether cgi (expression in mapfile) or phpmapscript (expression set with setExpression)) like 5.2.1 or 5.6.0 beta3 only o small part of the polygons appears: So is there a limit on expression statement since version 5? There are no errors in the log-file with debug set to 5. This is my layer definition: LAYER DATA "shapes/fs.shp" NAME "FS" STATUS ON TYPE POLYGON CLASS NAME "FS" EXPRESSION ('[NR]' IN 'ID1,ID2,.............................,ID1100') # <-- of course without the points ;) STYLE COLOR 255 255 200 OUTLINECOLOR 0 0 0 END END END Thanks for any hint. Rafael PS: It is not possible to classify on attributes. _______________________________________________ mapserver-users mailing list [email protected] http://lists.osgeo.org/mailman/listinfo/mapserver-users _______________________________________________ mapserver-users mailing list [email protected] http://lists.osgeo.org/mailman/listinfo/mapserver-users
