SLD Converter 구현을 위해서 간략하게 SLD를 정리해 보았다.
SLD 변환도구는 이전글: SLD(Styled Layer Descriptor) Converter & Editor? 참조
▣ SLD의 기본 구조
예)
<?xml version="1.0" encoding="utf-8"?> <sld:StyledLayerDescriptor xmlns="http://www.opengis.net/sld" xmlns:sld="http://www.opengis.net/sld" xmlns:ogc="http://www.opengis.net/ogc" xmlns:gml="http://www.opengis.net/gml" version="1.0.0"> <sld:NamedLayer> <sld:Name>firestation</sld:Name> <sld:UserStyle> <sld:Name>firestation</sld:Name> <sld:FeatureTypeStyle> <sld:Name>Simple Renderer</sld:Name> <sld:Title>Simple Renderer</sld:Title> <sld:Rule> <sld:PointSymbolizer> <sld:Graphic> <sld:Mark> <sld:WellKnownName>square</sld:WellKnownName> <sld:Fill> <sld:CssParameter name="fill">#FF0000</sld:CssParameter> </sld:Fill> </sld:Mark> <sld:Size> <ogc:Literal>8</ogc:Literal> </sld:Size> </sld:Graphic> </sld:PointSymbolizer> </sld:Rule> </sld:FeatureTypeStyle> </sld:UserStyle> </sld:NamedLayer> </sld:StyledLayerDescriptor>▣ Symbolizer의 종류
Symbolizer는 PointSymbolizer, LineSymbolizer, PolygonSymbolizer, TextSymbolizer, RasterSymbolizer로 구성
▣ Graphic, Stroke, Fill Symbol- 모든 심볼은 Opacity 속성을 이용해서 투명도를 조절할수 있음(0~1값이며 0은 투명)
- Graphic은 Point, Stroke는 Line, Fill은 Polygon을 표현하며
- Graphic은 여러개의 GraphicalSymbol을 가질 수 있으며 Mark와 ExternalGraphic으로 분류
- GeoServer에서 WellKnownName("square", "circle", "triangle", "star", "cross", "x") 외에 shape, ttf 확장이 가능하다.
- http://2010.foss4g.org/presentations/3588.pdf 참조
▣ RasterSymbolizer 구성요소
- ColorMap은 여러개의 ColorMapEntry를 가질 수 있음
- 현재 GeoServer에서는 ChannelSelection, ContrastEnhancement, ColorMap만 지원하며, ImageOutline, OverlapBehavior, ShadedRelief은 미지원
▣ TextSymbolzier 구성요소
- TextSymbolizer는 Label(하나 또는 여러 필드의 조합), Font, Halo, Label의 위치 등을 설정할 수 있음
- LabelPlacement는 PointPlacement와 LinePlacement로 구성됨
- PointPlacement는 일반적으로 포인트와 폴리곤의 라벨을 처리하며 Rotation을 설정해서 회전이 가능
- LinePlacement는 라인 피쳐의 라벨리에 사용되며 GeoServer에서는 이 외 다양한 Vendor 옵션이 있음
▣ 참고
- http://www.opengeospatial.org/standards/sld
- http://docs.geotools.org/latest/userguide/library/opengis/se.html
- http://docs.geoserver.org/stable/en/user/styling/index.html
댓글 없음:
댓글 쓰기