30
Introduction to SLD (Styled Layer Descriptor) การปรับแต่งสัญลักษณ์ของข้อมูล Chingchai Humhong Regional Center of Geo-Informatics and Space Technology, Lower Northern Region Naresuan University

Introduction to SLD (Styled Layer Descriptor)

Embed Size (px)

DESCRIPTION

Introduction to SLD (Styled Layer Descriptor) การปรับแต่งสัญลักษณ์ของข้อมูลสำหรับ web map service

Citation preview

Page 1: Introduction to SLD (Styled Layer Descriptor)

Introduction to SLD (Styled Layer Descriptor)

การปรบแตงสญลกษณของขอมล

Chingchai HumhongRegional Center of Geo-Informatics and Space Technology, Lower Northern Region

Naresuan University

Page 2: Introduction to SLD (Styled Layer Descriptor)

ซอฟตแวรไหนบางทใช SLD ?

Page 3: Introduction to SLD (Styled Layer Descriptor)

ผลลพธทไดจาก SLD

Page 4: Introduction to SLD (Styled Layer Descriptor)

<Rule>

<Name>amp</Name>

<Title>amp</Title>

<Abstract>amp</Abstract>

<ogc:Filter>

<ogc:PropertyIsEqualTo>

<ogc:PropertyName>AMP_CODE</ogc:PropertyName>

<ogc:Literal>1101</ogc:Literal>

</ogc:PropertyIsEqualTo>

</ogc:Filter>

<PolygonSymbolizer>

<Fill>

<CssParameter name="fill">#2ed20a</CssParameter>

<CssParameter name="fill-opacity">1</CssParameter>

</Fill>

<Stroke>

<CssParameter name="stroke">#000000</CssParameter>

<CssParameter name="stroke-width">0.26</CssParameter>

<CssParameter name="stroke-opacity">1</CssParameter>

</Stroke>

</PolygonSymbolizer>

</Rule>

<Rule>

<Name>amp</Name>

<Title>amp</Title>

<Abstract>amp</Abstract>

<ogc:Filter>

<ogc:PropertyIsEqualTo>

<ogc:PropertyName>AMP_CODE</ogc:PropertyName>

<ogc:Literal>1102</ogc:Literal>

</ogc:PropertyIsEqualTo>

</ogc:Filter>

<PolygonSymbolizer>

<Fill>

<CssParameter name="fill">#44d3f7</CssParameter>

<CssParameter name="fill-opacity">1</CssParameter>

</Fill>

<Stroke>

<CssParameter name="stroke">#000000</CssParameter>

<CssParameter name="stroke-width">0.26</CssParameter>

<CssParameter name="stroke-opacity">1</CssParameter>

</Stroke>

<?xml version="1.0" encoding="ISO-8859-1"?>

<StyledLayerDescriptor version="1.0.0"

xsi:schemaLocation="http://www.opengis.net/sld

StyledLayerDescriptor.xsd"

xmlns="http://www.opengis.net/sld"

xmlns:ogc="http://www.opengis.net/ogc"

xmlns:xlink="http://www.w3.org/1999/xlink"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

<NamedLayer>

<Name>Polygon Basic</Name>

<UserStyle>

<Title>SLD Cook Book: Polygon Label halo</Title>

<FeatureTypeStyle>

<Rule>

<PolygonSymbolizer>

<Fill>

<CssParameter name="fill">#D47FFF</CssParameter>

<CssParameter name="fill-opacity">0.5</CssParameter>

</Fill>

<Stroke>

<CssParameter name="stroke">#2D2D2D</CssParameter>

<CssParameter name="stroke-width">2</CssParameter>

</Stroke>

</PolygonSymbolizer>

<TextSymbolizer>

<Label>

<ogc:PropertyName>TAM_NAME</ogc:PropertyName>

</Label>

<Halo>

<Radius>2</Radius>

<Fill>

<CssParameter name="fill">#FFFFFF</CssParameter>

</Fill>

</Halo>

</TextSymbolizer>

</Rule>

</FeatureTypeStyle>

</UserStyle>

</NamedLayer>

</StyledLayerDescriptor>

กวาจะไดแผนทสวยๆ มา SLD กไมไดงายอยางทคดครบ

Page 5: Introduction to SLD (Styled Layer Descriptor)

PointSymbolizer

Page 6: Introduction to SLD (Styled Layer Descriptor)

<FeatureTypeStyle>

<Rule>

<PointSymbolizer>

<Graphic>

<Mark>

<WellKnownName>circle</WellKnownName>

<Fill>

<CssParameter name="fill">#FF0000</CssParameter>

</Fill>

</Mark>

<Size>6</Size>

</Graphic>

</PointSymbolizer>

</Rule>

</FeatureTypeStyle>

PointSymbolizer

Page 7: Introduction to SLD (Styled Layer Descriptor)

<Graphic>

</Graphic>

Tag Description

<ExternalGraphic> ระบไฟลรปภาพทจะใชเปนสญลกษณ

<Mark> ระบไฟลรปราง <WellKnownName> ทจะใชเปนสญลกษณ

<Opacity>ก าหนดความทบแสง (โปรงใส) ของสญลกษณ โดยเรมตงแต 0 (โปรงใสอยางสมบรณ) ถง 1 (ทบแสงอยางสมบรณ) โดยคาเรมตนคอ 1

<Size> เปนการก าหนดขนาดของสญลกษณ

<Rotation>ก าหนดการหมนของสญลกษณ ในรปองศา และจะหมนเพมขนในทศทางตามเขมนาฬกา คาลบบงชถงการหมนทวนเขมนาฬกา โดยคาเรมตนเปน 0

Syntax PointSymbolizer

Page 8: Introduction to SLD (Styled Layer Descriptor)

<ExternalGraphic>

</ExternalGraphic>

Syntax PointSymbolizer

Tag Description

<OnlineResource> จะเปน path ทเราเกบไฟลไว หรอสามารถเปนทง URL กไดเชนกน

<Format> ไฟลนามสกลของภาพ ทสามารถรองรบบนเวบได

<Graphic>

<ExternalGraphic>

<OnlineResource

xlink:type="simple"

xlink:href="sanfly.png" />

<Format>image/png</Format>

</ExternalGraphic>

<Size>30</Size>

</Graphic>

Page 9: Introduction to SLD (Styled Layer Descriptor)

<Mark>

</Mark>

Tag Description

<WellKnownName>ชอของรปรางทใชบอย (อยางงาย) โดยจะมใหเลอกอยหลายแบบ เชน circle, square, triangle, star, cross หรอ x โดยคาเรมตนคอ square

<Fill>

เปนการก าหนดสของสญลกษณ<CssParameter name="fill">#RRGGBB</CssParameter>#FF0000 เปนสอะไร?

<Stroke>

เปนการก าหนดสเสนขอบของสญลกษณ<CssParameter name="stroke">#000000</CssParameter><CssParameter name="stroke-width">2</CssParameter>

Syntax PointSymbolizer

Page 10: Introduction to SLD (Styled Layer Descriptor)

<Graphic>

<Mark>

<WellKnownName>triangle</WellKnownName>

<Fill>

<CssParameter name="fill">#009900</CssParameter>

<CssParameter name="fill-opacity">0.2</CssParameter>

</Fill>

<Stroke>

<CssParameter name="stroke">#000000</CssParameter>

<CssParameter name="stroke-width">2</CssParameter>

</Stroke>

</Mark>

<Size>12</Size>

</Graphic>

Syntax PointSymbolizer

Page 11: Introduction to SLD (Styled Layer Descriptor)

<Graphic>

<Mark>

<WellKnownName>square</WellKnownName>

<Fill>

<CssParameter name="fill">#009900</CssParameter>

</Fill>

</Mark>

<Size>12</Size>

<Rotation>45</Rotation>

</Graphic>

Syntax PointSymbolizer

Page 12: Introduction to SLD (Styled Layer Descriptor)

LineSymbolizer

Page 13: Introduction to SLD (Styled Layer Descriptor)

<FeatureTypeStyle>

<Rule>

<LineSymbolizer>

<Stroke>

<CssParameter name="stroke">#000000</CssParameter>

<CssParameter name="stroke-width">3</CssParameter>

</Stroke>

</LineSymbolizer>

</Rule>

</FeatureTypeStyle>

LineSymbolizer

Page 14: Introduction to SLD (Styled Layer Descriptor)

<Stroke>

</Stroke>

Tag Description

<GraphicStroke> เปนการน าเอากราฟก มาซอนทบกบขอมลเสน ท าใหขอมลเสนเปนแบบลกผสม

<CssParameter> เปนการก าหนดคาพารามเตอรใหกบขอมลเสน

Syntax LineSymbolizer

Page 15: Introduction to SLD (Styled Layer Descriptor)

<CssParameter>

Tag Description

name="stroke"ก าหนดคาสใหกบขอมลเสน ในรปแบบ # RRGGBB โดยคาเรมตนเปนสด า (# 000000)

name="stroke-width" ระบความกวางของขอมลเสนในหนวยพกเซล เรมตนคอ 1

name="stroke-opacity"ก าหนดความทบแสง (โปรงใส) ของสญลกษณ โดยเรมตงแต 0 (โปรงใสอยางสมบรณ) ถง 1 (ทบแสงอยางสมบรณ) โดยคาเรมตนคอ 1

name="stroke-linejoin"

เปนการก าหนดรปแบบของขอมลเสนของเสนขอบหรอ segments ของขอมลเสน และจดตดทางแยกของเสน โดยคาทจะประกอบไปดวย 3 คา ไดแก- mitre = จะท ามม(ทางโคง)ของเสนจะคมชด ลกษณะจะเปนเหลยม- round = ลกษณะของขอมลเสนจะโคงมน- bevel = ลกษณะของขอมลเสนจะเปนแบบไปในทศทางมมทแยงโดยคาเรมตนเปน mitre

name="stroke-linecap"

เปนการก าหนดรปแบบของขอมลในสวนปลาย (node/endnode)ของเสนโดยคาทจะประกอบไปดวย 3 คา ไดแก- butt = แสดงลกษณะของขอมลจะเตมขอบของเสน- round = แสดงลกษณะของขอมลเสนจะโคงมน- square = ลกษณะของขอมลเสนจะเปนแบบขอบสเหลยมโดยคาเรมตนเปน butt

Syntax LineSymbolizer

Page 16: Introduction to SLD (Styled Layer Descriptor)

Tag Description

name="stroke-dasharray" เปนการก าหนดรปแบบของขอมลเสนแบบเสนประ

name="stroke-dashoffset"

เปนการก าหนดรปแบบของขอมลเสน โดยใชเรองของระยะทางในหนวยของพกเซลโดยยดตามรปแบบ dasharray โดยคาเรมตนคอ 0 ซงมกจะใชกบขอมลเสนทแสดงผลแบบจด

Syntax LineSymbolizer

</CssParameter>

Page 17: Introduction to SLD (Styled Layer Descriptor)

mitre

bevel

round

name="stroke-linejoin"

Page 18: Introduction to SLD (Styled Layer Descriptor)

butt round

square

name="stroke-linecap"

Page 19: Introduction to SLD (Styled Layer Descriptor)

<FeatureTypeStyle>

<Rule>

<LineSymbolizer>

<Stroke>

<CssParameter name="stroke">#0000FF</CssParameter>

<CssParameter name="stroke-width“>6</CssParameter>

<CssParameter name="stroke-linecap">round</CssParameter>

</Stroke>

</LineSymbolizer>

</Rule>

</FeatureTypeStyle>

<FeatureTypeStyle>

<Rule>

<LineSymbolizer>

<Stroke>

<CssParameter name="stroke">#FF0000</CssParameter>

<CssParameter name="stroke-width">3</CssParameter>

<CssParameter name="stroke-linecap">round</CssParameter>

</Stroke>

</LineSymbolizer>

</Rule>

</FeatureTypeStyle>

การเขยนสไตสแบบ 2 ชน

Page 20: Introduction to SLD (Styled Layer Descriptor)

การเขยนสไตสแบบลกผสม<FeatureTypeStyle>

<Rule><LineSymbolizer><Stroke>

<CssParameter name="stroke">#0000FF</CssParameter><CssParameter name="stroke-width">1</CssParameter><CssParameter name="stroke-dasharray">10 10</CssParameter>

</Stroke></LineSymbolizer><LineSymbolizer><Stroke>

<GraphicStroke><Graphic><Mark><WellKnownName>circle</WellKnownName><Stroke><CssParameter name="stroke">#FF0000</CssParameter><CssParameter name="stroke-width">1</CssParameter>

</Stroke></Mark><Size>6</Size>

</Graphic></GraphicStroke><CssParameter name="stroke-dasharray">5 15</CssParameter><CssParameter name="stroke-dashoffset">7.5</CssParameter>

</Stroke></LineSymbolizer>

</Rule></FeatureTypeStyle>

Page 21: Introduction to SLD (Styled Layer Descriptor)

PolygonSymbolizer

Page 22: Introduction to SLD (Styled Layer Descriptor)

<FeatureTypeStyle>

<Rule>

<PolygonSymbolizer>

<Fill>

<CssParameter name="fill">#aaffff</CssParameter>

</Fill>

<Stroke>

<CssParameter name="stroke">#00557f</CssParameter>

<CssParameter name="stroke-width">2</CssParameter>

</Stroke>

</PolygonSymbolizer>

</Rule>

</FeatureTypeStyle>

PolygonSymbolizer

Page 23: Introduction to SLD (Styled Layer Descriptor)

<PolygonSymbolizer>

</PolygonSymbolizer>

Tag Description

<Fill>เปนการก าหนดสของสญลกษณ polygon<CssParameter name="fill">#RRGGBB</CssParameter>

<Stroke>

เปนการก าหนดสเสนขอบของสญลกษณ polygon<CssParameter name="stroke">#00557f</CssParameter><CssParameter name="stroke-width">2</CssParameter>

Syntax PolygonSymbolizer

<Fill>

</Fill>

Tag Description

<GraphicFill> เปนการก าหนดสญลกษณโดยใชกราฟกหรอรปภาพ

<CssParameter> เปนการก าหนดคาพารามเตอรใหกบสญลกษณ Polygon

Page 24: Introduction to SLD (Styled Layer Descriptor)

<CssParameter>

</CssParameter>

Tag Description

name="fill"

เปนการก าหนดสของสญลกษณ polygon<CssParameter name="fill">#RRGGBB</CssParameter>โดยคาเรมตน เปนสเทา (#808080)

name="fill-opacity"ก าหนดความทบแสง (โปรงใส) ของสญลกษณ โดยเรมตงแต 0 (โปรงใสอยางสมบรณ) ถง 1 (ทบแสงอยางสมบรณ) โดยคาเรมตนคอ 1

Syntax PolygonSymbolizer

Page 25: Introduction to SLD (Styled Layer Descriptor)

TextSymbolizer

Page 26: Introduction to SLD (Styled Layer Descriptor)

<TextSymbolizer>

</TextSymbolizer>

Tag Description

<Label> ระบเนอหาของปายขอความหรอปายก ากบขอมล (ชอหว Field)

<Font>ระบขอมลตวอกษรและคณสมบตของตวอกษรส าหรบปายก ากบขอมล

<LabelPlacement> ก าหนดคาต าแหนงของตวอกษรส าหรบปายก ากบขอมล

<Halo>สรางพนหลงสรอบ ๆ ปายขอความส าหรบเพมความเดนชดในการแสดงผลของปายก ากบขอมล

<Fill> การก าหนดเตมสของปายก ากบขอมล

Syntax TextSymbolizer

Page 27: Introduction to SLD (Styled Layer Descriptor)

<Label>

<ogc:PropertyName>VILL_NAM_T</ogc:PropertyName>

</Label>

Syntax TextSymbolizer

ชอของ field ในขอมลตารางของ Shapefile

Page 28: Introduction to SLD (Styled Layer Descriptor)

<Font>

<CssParameter name="font-family">Tahoma</CssParameter>

<CssParameter name="font-size">11</CssParameter>

<CssParameter name="font-style">normal</CssParameter>

<CssParameter name="font-weight">bold</CssParameter>

</Font>

Syntax TextSymbolizer

name="font-family"> : เปนชอของฟอนตทเราจะก าหนดใหเปนปายก ากบขอมลname="font-size : ก าหนดขนาดของตวอกษรในหนวยพกเซล เรมตนคอ 10name="font-style"> : ก าหนดรปแบบของตวอกษร โดยมรปแบบใหเลอกใช

ไดแก normal, italic และ obliqueโดยเรมตนคอ normal

name="font-weight" : ก าหนดความหนาของตวอกษร โดยมตวเลอกเปน normalและ bold เรมตนเปน normal

Page 29: Introduction to SLD (Styled Layer Descriptor)

<Halo>

<Radius>3</Radius>

<Fill>

<CssParameter name="fill">#FFFFFF</CssParameter>

</Fill>

</Halo>

Syntax TextSymbolizer

<Radius> : ก าหนดขนาดรศมของปายก ากบในพกเซล เรมตนคอ 1<Fill> : ก าหนดคาสของรศมในรปแบบของ # RRGGBB เรมตนเปนสขาว (# FFFFFF)

Page 30: Introduction to SLD (Styled Layer Descriptor)

SLD Workshop