缩放地图后格网问题

在进行批量产图过程中,地图格网一般是在模板中已添加完成。但进行缩放操作后,出现了问题,格网跟着缩放范围跑了,并未铺满整个视图范围。这个问题以后的同事就遇到过了,但一直没有解决,今天也做到这一步了,想把它解决了。

解决方式

在网上并未查到类似的问题,难道其他人就没遇到过?

方案一

以前解决方式是在不使用模板的格网,而是在出图时临时创建,这样就会避免这个问题,还可以控制格网横向和纵向的数量,使之不会因缩放操作让格网数变得过多或过少。

方案二

为什么在ArcMap里缩放一下没有问题,一定是做了某种处理,我尝试了刷新元素的方法,没有效果。最后使用了激活元素的方法解决了。

代码如下:

private  static  void ActivePageLayout(IActiveView activeView)
        {
            IGraphicsContainer graphicsContainer = activeView.GraphicsContainer;
            graphicsContainer.Reset();
            IDisplay pDisplay = activeView.ScreenDisplay as IDisplay;
            IElement element = graphicsContainer.Next();
            while (element != null)
            {
                if (element is IMapFrame)
                {
                    element.Activate(pDisplay);
                }
                element = graphicsContainer.Next();
            }
        }

引申问题

由于模板固定了格网数,可能会导致因缩放操作让格网数变得过多或过少,所以,最好的方式是采集方案二,并根据幅面大小,地理范围等对格网据进行修改。

原文地址:https://www.cnblogs.com/liweis/p/8472452.html