1. 程式人生 > >縮放地圖後格網問題

縮放地圖後格網問題

screen 有效 phi 過多 img 臨時 res body pri

在進行批量產圖過程中,地圖格網一般是在模板中已添加完成。但進行縮放操作後,出現了問題,格網跟著縮放範圍跑了,並未鋪滿整個視圖範圍。這個問題以後的同事就遇到過了,但一直沒有解決,今天也做到這一步了,想把它解決了。

技術分享圖片

解決方式

在網上並未查到類似的問題,難道其他人就沒遇到過?

方案一

以前解決方式是在不使用模板的格網,而是在出圖時臨時創建,這樣就會避免這個問題,還可以控制格網橫向和縱向的數量,使之不會因縮放操作讓格網數變得過多或過少。

方案二

為什麽在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();
            }
        }

引申問題

由於模板固定了格網數,可能會導致因縮放操作讓格網數變得過多或過少,所以,最好的方式是采集方案二,並根據幅面大小,地理範圍等對格網據進行修改。

縮放地圖後格網問題