270 likes | 441 Views
Get More Out Of Your Web Map Service with SLD. Styled Layer Descriptor for Complex Symbology Matthew Wechsler Frank Hardisty – MGIS Advisor. Agenda. Overview Use Case Problem Proposal Methodology Results. Overview – SLD. XML S tyling Schema Controls Geospatial
E N D
Get More Out Of Your Web Map Service with SLD • Styled Layer Descriptor for Complex Symbology • Matthew Wechsler • Frank Hardisty – MGIS Advisor
Agenda • Overview • Use Case • Problem • Proposal • Methodology • Results
Overview – SLD • XML Styling • Schema • Controls • Geospatial • Visualization • Extends WMS • Standard
Use Case – NAVAIR Now • SureTrak • Client-Server Intranet • Simple Symbology • DNC Maps • Air & Sea Traffic Monitoring
Use Case – NAVAIR Later • Client-Server Internet • Robust Symbology • WMS • SLD
Problem – Getting the most out of SLD • Can be Difficult • Almost always Tedious SLD
Proposal – So now what? • Complex symbology ruleset • Apply SLD Standards to the ruleset • Automate the process
Proposal – So now what? • Complex symbology ruleset • VPF DNC GeoSym • Apply SLD Standards to the ruleset • Rules & Filters • Automate the process • mono C#
Methodology – Vector Product Format (VPF) • The Data • DNC • VMap • WVSPlus™ • Etc. The Support • GeoServer • ESRI • OGR • Etc.
Methodology – Vector Product Format (VPF) • The Data • DNC The Support • GeoServer • OGR SLD
Methodology – GeoSym • DNC + ? = SLD • Complex symbology ruleset • VPF DNC GeoSym
Methodology – GeoSym Symbology Assignment Files graphics code attexp color fullsym textabbr textchar textjoin textloc simpsym
Methodology – GeoSym fullsym graphics code attexp fullsym textjoin • id • pid • delin • pointsym • linesym • areasym • labatt, fcode • txrowid Feature Attribute
Methodology – GeoSym Formula • pid = DNC • delin = line • fcode = BC030 • idattexp • linesym • labatt feature attribute containing label • txrowid label rules fullsym • id • pid • delin • pointsym • linesym • areasym • labatt, fcode • txrowid
Methodology – GeoSym Attribute Expression File code attexp fullsym • cond_index • att • oper • = <> < > <= >= • value • connector • None or AND and OR • id • pid • delin • pointsym • linesym • areasym • labatt, fcode • txrowid
Methodology – GeoSym Attribute Expression Interpretation • Connector • or • (bfc=0 or bfc=6 or bfc=10) • and • (wid>0 and wid<40) Inside Parentheses SameAttribute
Methodology – GeoSym Attribute Expression Interpretation • Connector • OR • bsc=2 OR bot=7 • AND • bfc=0 AND hgt>50 DifferentAttributes Separate Independent Conditions
GeoSym – Attribute Expression Interpretation • Connector • or • and • OR • AND • bfc = 7 AND (hwt = 14 or hwt = 15 or hwt = 16) AttOperValueConnector bfc = 7 AND hwt = 14 or hwt = 15 or hwt = 16
Methodology – GeoSym Text • Text Assignment Files • Font, Size, Color • Location • Label Join fullsym textabbr textchar textjoin textloc textjoin • txrowid
Methodology – SLD SLDprofile of the WMS Implementation Specification 1.1.0 • Extends WMS standard for geographic feature symbolization Symbology Encoding Implementation Specification 1.1.0 • Defines styling rules OpenGIS Filter Encoding 2.0 Encoding Standard • Defines filtering rules
Methodology – SLD Symbology Encoding • FeatureTypeStyle XML element • Rule XML elements • Feature-property conditions • Map Scales • IF…THEN…ELSE 1:500E6 1:4000
Methodology – SLD Filter Encoding • Logical Operators • <ogc:Or> <ogc:And> • Comparison Operators… • <ogc:PropertyIsEqualTo> <ogc:PropertyIsGreaterThan> • bfc=0 orbfc=6 or bfc=10 • bfc=0 andhgt>50 • bfc=0 or bfc=6 or bfc=10 • bfc=0 andhgt>50
Methodology – SLD Application to GeoSym • (bfc=0 or bfc=2) AND (hgt>0 and hgt<46) • <ogc:And> • <ogc:Or> • <ogc:PropertyIsEqualTo> • <ogc:PropertyName>bfc</ogc:PropertyName> • <ogc:Literal>0</ogc:Literal> • </ogc:PropertyIsEqualTo> • <ogc:PropertyIsEqualTo> • … • </ogc:PropertyIsEqualTo> • </ogc:Or> • <ogc:And> • <ogc:PropertyIsGreaterThan> • … • </ogc:PropertyIsGreaterThan> • <ogc:PropertyIsLessThan> • … • </ogc:PropertyIsLessThan> • </ogc:And> • </ogc:And> • <sld:Rule> • <ogc:Filter> • … • … • … • </ogc:Filter> • <sld:MaxScaleDenominator> • </sld:MaxScaleDenominator> • <sld:PointSymbolizer> • … • </sld:PointSymbolizer> • </sld:Rule>
Methodology – SLD VPF (DNC) SLD Automation • Automate the process • mono C#
The Results – Good, Bad, Ugly • What worked • What didn’t • Next • (bfc=0 or bfc=2) AND (hgt>0 and hgt<46) • mono C#
Thank You • Frank Hardisty – MGIS Advisor • Lonnie Hanekamp – Programmer • Penn State – MGIS University • CSC – Project Sponsor