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 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 The Support • • • • • • • • DNC VMap WVSPlus™ Etc. GeoServer ESRI OGR Etc. Methodology – Vector Product Format (VPF) The Data The Support • DNC • GeoServer SLD • OGR Methodology – GeoSym DNC + ? = SLD Complex symbology ruleset VPF DNC GeoSym Methodology – GeoSym Symbology Assignment Files fullsym color attexp code graphics simpsym textchar textjoin textloc textabbr Methodology – GeoSym fullsym fullsym • • • • • • • id pid delin pointsym linesym areasym labatt, fcode • txrowid attexp code graphics textjoin Feature Attribute Methodology – GeoSym Formula fullsym • • • • • • • id pid delin pointsym linesym areasym labatt, fcode • txrowid pid = DNC delin = line fcode = BC030 idattexp linesym labatt feature attribute containing label txrowid label rules Methodology – GeoSym Attribute Expression File fullsym • • • • • • • id pid delin pointsym linesym areasym labatt, fcode • txrowid attexp code • cond_index • att • oper • = <> < > <= >= • value • connector • None or AND and OR Methodology – GeoSym Attribute Expression Interpretation Connector or (bfc=0 or bfc=6 or bfc=10) and (wid>0 and wid<40) Inside Parentheses Same Attribute Methodology – GeoSym Attribute Expression Interpretation Connector Different Attributes OR bsc=2 OR bot=7 AND bfc=0 AND hgt>50 Separate Independent Conditions GeoSym – Attribute Expression Interpretation Connector or and OR Att bfc hwt hwt hwt Oper Value Connector = 7 AND = 14 or = 15 or = 16 AND bfc = 7 AND (hwt = 14 or hwt = 15 or hwt = 16) Methodology – GeoSym Text Text Assignment Files • Font, Size, Color • Location • Label Join fullsym • txrowid textchar textjoin textloc textabbr Methodology – SLD SLD profile of the WMS Implementation Specification 1.1.0 Symbology Encoding Implementation Specification 1.1.0 OpenGIS Filter Encoding 2.0 Encoding Standard Extends WMS standard for geographic feature symbolization Defines styling rules Defines filtering rules Methodology – SLD Symbology Encoding • FeatureTypeStyle XML element • Rule XML elements • Feature-property conditions IF…THEN…ELSE • Map Scales 1:500E6 1:4000 Methodology – SLD Filter Encoding Logical Operators <ogc:Or> bfc=0 or bfc=6 or bfc=10 <ogc:And> bfc=0 and hgt>50 Comparison Operators… <ogc:PropertyIsEqualTo> <ogc:PropertyIsGreaterThan> bfc=0 or bfc=6 or bfc=10 bfc=0 and hgt>50 Methodology – SLD Application to GeoSym (bfc=0 or bfc=2) AND (hgt>0 and hgt<46) <sld:Rule> <ogc:Filter> … … … </ogc:Filter> <sld:MaxScaleDenominator> </sld:MaxScaleDenominator> <sld:PointSymbolizer> … </sld:PointSymbolizer> </sld:Rule> <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> Methodology – SLD VPF (DNC) SLD Automation Automate the process mono C# The Results – DNC WMS Map The Results – Good, Bad, Ugly • What worked (bfc=0 or bfc=2) AND (hgt>0 and hgt<46) • What didn’t • Next mono C# Thank You Frank Hardisty – MGIS Advisor Lonnie Hanekamp – Programmer Penn State – MGIS University CSC – Project Sponsor