Take the 2-minute tour ×
Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. It's 100% free, no registration required.

I have point of data in mysql server. I am displaying this layer as WMS using OpenLayers and GeoServer. How can I add label to this layer?

share|improve this question

1 Answer 1

up vote 5 down vote accepted

For labeling in WMS from geoserver, you will have to define <TextSymbolizer> which determines what text to display in the label,i.e. the field in your attribute table of the point layer (eg. 'Name' in the following example). You can define font family, color, size, weight and placement of the label. A simple example of style description for points with label is as follows:

<FeatureTypeStyle>
     <Rule>
       <PointSymbolizer>
         <Graphic>
           <Mark>
             <WellKnownName>circle</WellKnownName>
             <Fill>
               <CssParameter name="fill">#FF0000</CssParameter>
             </Fill>
           </Mark>
           <Size>6</Size>
         </Graphic>
       </PointSymbolizer>
       <TextSymbolizer>
         <Label>
           <ogc:PropertyName>name</ogc:PropertyName>
         </Label>
         <Fill>
           <CssParameter name="fill">#000000</CssParameter>
         </Fill>
       </TextSymbolizer>
     </Rule>
   </FeatureTypeStyle>

For more complex examples go through this link:

http://docs.geoserver.org/stable/en/user/styling/sld-cookbook/points.html#point-with-styled-label

share|improve this answer
1  
If you need separate control of the point symbol and the point labels you should have two Layers in OL both pointing to the same published Layer in GeoServer but using two diferent SLD: one for rendering the point as <PointSymbolizer> and the other as TextSymbolizer. –  Pedro Mendes Dec 23 '11 at 18:05

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.