public void WriteNamedLayer(string layername, IFeatureRenderer Renderer) { if (_closed) { return; } if (Renderer is SLDRenderer) { SLDRenderer sldRenderer = (SLDRenderer)Renderer; _sw.WriteLine(sldRenderer.ToXmlString(layername)); } else { _sw.WriteLine(@" <NamedLayer> <Name>" + layername + @"</Name> <UserStyle> <Name>" + layername + "_style</Name>"); _sw.WriteLine(@"<FeatureTypeStyle> <Rule>"); WriteFeatureRenderer(Renderer); _sw.WriteLine(@"</Rule> </FeatureTypeStyle>"); _sw.WriteLine(@"</UserStyle> </NamedLayer>"); } }
public object Clone(IDisplay display) { SLDRenderer clone = new SLDRenderer(); clone._useRefScale = _useRefScale; clone._featureSRef = _featureSRef; foreach (Rule rule in _rules) { if (rule == null) { continue; } clone._rules.Add(rule.Clone(display) as Rule); } return(clone); }
async static public Task <SLDRenderer> CreateAync(IFeatureLayer featureLayer) { var renderer = new SLDRenderer(); if (featureLayer == null) { return(renderer); } if (featureLayer.FeatureRenderer is SimpleRenderer) { SimpleRenderer sRenderer = (SimpleRenderer)featureLayer.FeatureRenderer; gView.Framework.OGC.WFS.Filter filter = null; Rule.FilterType filterType = Rule.FilterType.None; if (featureLayer.FilterQuery != null) { filter = await gView.Framework.OGC.WFS.Filter.CreataAsync(featureLayer.FeatureClass, featureLayer.FilterQuery, renderer._gmlVersion); filterType = (filter != null) ? Rule.FilterType.OgcFilter : Rule.FilterType.None; } Rule rule = new Rule(filter, sRenderer.Symbol); rule.filterType = filterType; renderer._rules.Add(rule); } else if (featureLayer.FeatureRenderer is ValueMapRenderer) { } else if (featureLayer.FeatureRenderer is ScaleDependentRenderer) { } else if (featureLayer.FeatureRenderer is ScaleDependentLabelRenderer) { } return(renderer); }