Re: [mapserver-users] RE Mapfile, EXPRESSION for CLASS >> NAME
Hi, I had the same issue, but as an added complication the number of classes could change dynamically based on users adding and editing data. I solved this by intercepting any web requests to this particular layer and using MapScript to build the classes on-the-fly, then passing the Layer object to generate the image. for c in classes: clsObj = mapscript.fromstring(c) layer.classes.append(clsObj) ... req = mapscript.OWSRequest() req.loadParamsFromURL(querystring) try: dispatch_status = mymap.OWSDispatch(req) #strip all the headers from the output as we add these through wsgi server content_type = mapscript.msIO_stripStdoutBufferContentType() mapscript.msIO_stripStdoutBufferContentHeaders() resp = mapscript.msIO_getStdoutBufferBytes() except Exception as ex: logging.error(ex) logging.error(querystring) resp, content_type = str(ex), "text/plain" return resp, content_type If you have static, or rarely changing data, then it would be simpler to just use a script to build the classes once and save them as an INCLUDE to your MAP file. Python and Jinja2 (a templating library for Python) are handy for this. Seth On 30/03/2016 19:00, Lime, Steve D (MNIT) wrote: Won't work. Bobb is trying to use feature-level properties at the legend/layer-level. Can't be done... Steve From: mapserver-users [mapserver-users-boun...@lists.osgeo.org] on behalf of steve.tout...@inspq.qc.ca [steve.tout...@inspq.qc.ca] Sent: Wednesday, March 30, 2016 10:32 AM To: Basques, Bob (CI-StPaul) Cc: mapserver-users@lists.osgeo.org; mapserver-users Subject: [mapserver-users] RE Mapfile, EXPRESSION for CLASS >> NAME Perhaps you can use CLASS TITLE instead of NAME "Basques, Bob (CI-StPaul)"@lists.osgeo.org Envoyé par : "mapserver-users" 2016-03-25 16:44 A "mapserver-users@lists.osgeo.org" cc Objet [mapserver-users] Mapfile, EXPRESSION for CLASS >> NAME All, I think I’m trying to be too clever . . . I have this MAPFILE chunk: CLASS COLOR 0 255 0 OUTLINECOLOR 0 0 0 SIZE 10 SYMBOL 'circle' NAME '[FOLDERTYPE]' TEXT '[FOLDERTYPE]' LABEL FORCE TRUE COLOR 255 255 0 OUTLINECOLOR 0 0 0 POSITION ur TYPE TRUETYPE FONT 'arial-bold' SIZE 11 END END and I’m trying to use an Expression for the Label in the Legend graphic. The FOLDERTYPE and is the two later code for map labels, while the FOLDERDESC is the long pretty name for the Legend. Question, is it possible?? Ideas?? Before you say a separate class for each one, there are 120 FOLDERTYPEs in all, that would be a big, and hard to maintain Mapfile. thanks bobb ___ mapserver-users mailing list mapserver-users@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/mapserver-users ___ mapserver-users mailing list mapserver-users@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/mapserver-users ___ mapserver-users mailing list mapserver-users@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/mapserver-users
Re: [mapserver-users] RE Mapfile, EXPRESSION for CLASS >> NAME
Won't work. Bobb is trying to use feature-level properties at the legend/layer-level. Can't be done... Steve From: mapserver-users [mapserver-users-boun...@lists.osgeo.org] on behalf of steve.tout...@inspq.qc.ca [steve.tout...@inspq.qc.ca] Sent: Wednesday, March 30, 2016 10:32 AM To: Basques, Bob (CI-StPaul) Cc: mapserver-users@lists.osgeo.org; mapserver-users Subject: [mapserver-users] RE Mapfile, EXPRESSION for CLASS >> NAME Perhaps you can use CLASS TITLE instead of NAME "Basques, Bob (CI-StPaul)"@lists.osgeo.org Envoyé par : "mapserver-users" 2016-03-25 16:44 A "mapserver-users@lists.osgeo.org" cc Objet [mapserver-users] Mapfile, EXPRESSION for CLASS >> NAME All, I think I’m trying to be too clever . . . I have this MAPFILE chunk: CLASS COLOR 0 255 0 OUTLINECOLOR 0 0 0 SIZE 10 SYMBOL 'circle' NAME '[FOLDERTYPE]' TEXT '[FOLDERTYPE]' LABEL FORCE TRUE COLOR 255 255 0 OUTLINECOLOR 0 0 0 POSITION ur TYPE TRUETYPE FONT 'arial-bold' SIZE 11 END END and I’m trying to use an Expression for the Label in the Legend graphic. The FOLDERTYPE and is the two later code for map labels, while the FOLDERDESC is the long pretty name for the Legend. Question, is it possible?? Ideas?? Before you say a separate class for each one, there are 120 FOLDERTYPEs in all, that would be a big, and hard to maintain Mapfile. thanks bobb ___ mapserver-users mailing list mapserver-users@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/mapserver-users ___ mapserver-users mailing list mapserver-users@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/mapserver-users
[mapserver-users] RE Mapfile, EXPRESSION for CLASS >> NAME
Perhaps you can use CLASS TITLE instead of NAME "Basques, Bob (CI-StPaul)"@lists.osgeo.org Envoyé par : "mapserver-users" 2016-03-25 16:44 A "mapserver-users@lists.osgeo.org" cc Objet [mapserver-users] Mapfile, EXPRESSION for CLASS >> NAME All, I think I?m trying to be too clever . . . I have this MAPFILE chunk: CLASS COLOR 0 255 0 OUTLINECOLOR 0 0 0 SIZE 10 SYMBOL 'circle' NAME '[FOLDERTYPE]' TEXT '[FOLDERTYPE]' LABEL FORCE TRUE COLOR 255 255 0 OUTLINECOLOR 0 0 0 POSITION ur TYPE TRUETYPE FONT 'arial-bold' SIZE 11 END END and I?m trying to use an Expression for the Label in the Legend graphic. The FOLDERTYPE and is the two later code for map labels, while the FOLDERDESC is the long pretty name for the Legend. Question, is it possible?? Ideas?? Before you say a separate class for each one, there are 120 FOLDERTYPEs in all, that would be a big, and hard to maintain Mapfile. thanks bobb ___ mapserver-users mailing list mapserver-users@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/mapserver-users ___ mapserver-users mailing list mapserver-users@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/mapserver-users