[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