[Chameleon] Dynamic SLD and TextSymbolizer

Paul Spencer pspencer at dmsolutions.ca
Thu Oct 14 20:56:13 EDT 2004


Tim,

(I think this is more of a mapserver question ... but I am not sure)

is there anyway you can send us a simple test case that should work? 
Assefa did the SLD implementation in MapServer so I've cc'd him for his 
opinion.

Cheers,

Paul

Pascoe,Tim [Burlington] wrote:
>         I’ve been working on a way to incorporate a dynamically 
> generated SLD, which I am using to provide custom filter capabilities on 
> a point layer. I’ve managed to get a simple widget developed which 
> passes a form variable to the SLD script file, permitting a dynamic 
> filter value to be passed. It works great, but now I’m having trouble 
> getting the TextSymbolizer in the SLD to correctly format the labels.
> 
>         The TextSymbolizer will change the color of the labels, but not 
> the font or the point size – the font is installed with Mapserver in the 
> correct directory. The map file layer, and appropriate SLD script is below.
> 
> Thanks for any suggestions – I’m sure I’m missing something simple……
> 
> Here is the extract of the TextSymbolizer script:
> 
> $strScriptOut = $strScriptOut . "                               
> <TextSymbolizer>";
> 
> $strScriptOut = $strScriptOut . "                                 
> <Geometry>";
> 
> $strScriptOut = $strScriptOut . "                                   
> <PropertyName>site</PropertyName>";
> 
> $strScriptOut = $strScriptOut . "                                 
> </Geometry>";
> 
> $strScriptOut = $strScriptOut . "                                 
> <Label>site</Label>";
> 
> $strScriptOut = $strScriptOut . "                                 <Font>";
> 
> $strScriptOut = $strScriptOut . "                                   
> <CssParameter name='font-family'>vera</CssParameter>";
> 
> $strScriptOut = $strScriptOut . "                                   
> <CssParameter name='font-style'>normal</CssParameter>";
> 
> $strScriptOut = $strScriptOut . "                                   
> <CssParameter name='font-weight'>normal</CssParameter>";
> 
> $strScriptOut = $strScriptOut . "                                   
> <CssParameter name='font-size'>8</CssParameter>";
> 
> $strScriptOut = $strScriptOut . "                                 </Font>";
> 
> $strScriptOut = $strScriptOut . "                                 <Fill>";
> 
> $strScriptOut = $strScriptOut . "                                   
> <CssParameter name='fill'>#000000</CssParameter>";
> 
> $strScriptOut = $strScriptOut . "                                 </Fill>";
> 
> $strScriptOut = $strScriptOut . "                                 
> <LabelPlacement>";
> 
> $strScriptOut = $strScriptOut . "                                   
> <PointPlacement>";
> 
> $strScriptOut = $strScriptOut . "                                     
> <AnchorPoint>";
> 
> $strScriptOut = $strScriptOut . "                                       
> <AnchorPointX>0.5</AnchorPointX>";
> 
> $strScriptOut = $strScriptOut . "                                       
> <AnchorPointY>0.5</AnchorPointY>";
> 
> $strScriptOut = $strScriptOut . "                                     
> </AnchorPoint>";
> 
> $strScriptOut = $strScriptOut . "                                     
> <Displacement>";
> 
> $strScriptOut = $strScriptOut . "                                       
> <DisplacementX>20</DisplacementX>";
> 
> $strScriptOut = $strScriptOut . "                                       
> <DisplacementY>10</DisplacementY>";
> 
> $strScriptOut = $strScriptOut . "                                     
> </Displacement>";
> 
> $strScriptOut = $strScriptOut . "                                     
> <Rotation>20</Rotation>";
> 
> $strScriptOut = $strScriptOut . "                                   
> </PointPlacement>";
> 
> $strScriptOut = $strScriptOut . "                             
> </LabelPlacement>";
> 
> $strScriptOut = $strScriptOut . "                                 <Halo />";
> 
> $strScriptOut = $strScriptOut . "                           
> </TextSymbolizer>";
> 
> 
> Here is the Mapfile layer:
> 
>   LAYER
> 
>     NAME "CABINPoints"
> 
>     GROUP "Sample Points"
> 
>     STATUS ON
> 
>     TYPE RASTER
> 
>     TOLERANCE 5
> 
>     TOLERANCEUNITS PIXELS
> 
>     TEMPLATE "tt.html"
> 
>     CONNECTIONTYPE WMS
> 
>     CONNECTION 
> "http://localhost/scripts/mapserv.exe?map=C:/Documents%20and%20Settings/TimP/My%20Documents/CABIN/Maps/map/pointswms.map"
> 
>     METADATA
> 
>           "wms_onlineresource" "http://localhost/scripts/mapserv.exe?"
> 
>           "wms_sld_url" ""
> 
>         "wms_title" "CABIN Points test layer"
> 
>         "wms_abstract" "Test Access to CABIN SQL-Server Database on 
> ECBURAS1"
> 
>         "wms_srs" "EPSG:42304"
> 
>         "wms_name" "CABINPoints"  # Eventually change this to the name 
> of the Project being mapped??
> 
>         "wms_formatlist" "image/png,image/gif,image/jpeg,image/wbmp"
> 
>         "wms_format" "image/png"
> 
>         "selected" "0"
> 
>         "wms_server_version" "1.1.1"
> 
>         "wms_title" "Site Location"
> 
>     END
> 
>     LABELITEM "site"
> 
>     CLASS
> 
>         name 'CABINPoints'
> 
>         LABEL
> 
>           COLOR 0 0 0
> 
>         TYPE TRUETYPE
> 
>         FONT fritqat
> 
>         SIZE 8
> 
>         POSITION LR
> 
>         END
> 
>     END
> 
>     PROJECTION
> 
>       "init=epsg:4326"
> 
>     END
> 
>     DUMP TRUE
> 
>   END
> 
> Timothy Pascoe
> 
> Environment Canada / Environnement Canada
> Canada Centre for Inland Waters / Centre Canadien des Eaux Intérieures
> 867 Lakeshore Road / 867, chemin Lakeshore
> Burlington, Ontario / Burlington (Ontario)
> 
> L7R 4A6
> 
> Tel/Tél: (905) 336-6239
> Fax/Téléc: (905) 336-4699
> E-mail/C. élec: ___tim.pascoe at ec.gc.ca_ <mailto:tim.pascoe at ec.gc.ca>
> Government of Canada/Gouvernement du Canada
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> Chameleon mailing list
> Chameleon at lists.maptools.org
> http://lists.maptools.org/mailman/listinfo/chameleon



More information about the Chameleon mailing list