コード例 #1
0
        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>");
            }
        }
コード例 #2
0
ファイル: SLDRenderer.cs プロジェクト: jugstalt/gViewGisOS
        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);
        }
コード例 #3
0
        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);
        }