zoukankan      html  css  js  c++  java
  • 修改图层的symbol(AE+C#)

    取出一个图层的symbol 在其基础上对其进行修改

       private void button1_Click(object sender, EventArgs e)
            {
      mp;nbsp;          //设定要改变symbol的图层
                ILayer pLayer=m_mapControl.get_Layer(0);
                IGeoFeatureLayer pGeoFeatLayer = pLayer as IGeoFeatureLayer;

                //得到此图层的symbol
                ISimpleMarkerSymbol pMarkerSymbol=new SimpleMarkerSymbolClass();
                pMarkerSymbol=GetFeatureLayerSymbol(pLayer) as ISimpleMarkerSymbol;

                //对symbol进行改变操作
                pMarkerSymbol.Size=20;    

                //把改变后的symbol赋给此图层
                ISimpleRenderer pRenderer=new SimpleRendererClass();
                pRenderer.Symbol=pMarkerSymbol as ISymbol;
                pGeoFeatLayer.Renderer = pRenderer as IFeatureRenderer;

              
            }

            /// <summary> 得到指定图层的symbol</summary>
            /// <param name="layer"></param>
            /// <returns></returns>
            public ISymbol GetFeatureLayerSymbol(ILayer layer)
            {
                ISymbol pSymbol = null;

                IGeoFeatureLayer pGeoFeatLayer = (IGeoFeatureLayer)layer;
                IFeatureClass pFeatClass = pGeoFeatLayer.FeatureClass;
                IFeatureCursor pFeatCursor = pFeatClass.Search(null, true);
                IFeature pFeature = pFeatCursor.NextFeature();

                if (pFeature == null)
                {
                    pFeature = pFeatCursor.NextFeature();
                }
                else
                {
                    IFeatureRenderer pFeatRen;
                    pFeatRen = pGeoFeatLayer.Renderer;
                    pSymbol = pFeatRen.get_SymbolByFeature(pFeature);
                }
                return pSymbol;
            }

  • 相关阅读:
    java实现LFU算法
    2.1 测试函数-Rastrigin函数
    VM虚拟机如何与主机共享文件夹
    .bashrc文件和.bash_profile文件的区别
    1.2 准备工作
    1.1 JSOP架构
    vue中页面跳转拦截器的实现方法
    Javascript性能优化阅读笔记
    理解 e.clientX,e.clientY e.pageX e.pageY e.offsetX e.offsetY
    Vue.directive()的用法和实例
  • 原文地址:https://www.cnblogs.com/CSharpLover/p/5970155.html
Copyright © 2011-2022 走看看