zoukankan      html  css  js  c++  java
  • 缩放地图后格网问题

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

    解决方式

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

    方案一

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

    方案二

    为什么在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();
                }
            }
    

    引申问题

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

  • 相关阅读:
    分布式算法(一致性Hash算法)
    浅析Postgres中的并发控制(Concurrency Control)与事务特性(上)
    PostgreSQL内核分析——BTree索引
    源码安装postgresql数据库
    QEMU漏洞挖掘
    mysql远程连接数据库
    C++学习之路(十一):C++的初始化列表
    搭建本地git服务器
    C++面试常见问题
    SkipList 跳表
  • 原文地址:https://www.cnblogs.com/liweis/p/8472452.html
Copyright © 2011-2022 走看看