• 高性能地图优化策略


    1    优化案例

    1.1 初始条件

    数据

    矢量数据:以北京市范例数据,需要特别关注居民地图层,记录数176509条。

    计算机配置

    CPU : Intel Core 2 Duo 2.2GHz

    2级缓存:4M

    内存:2G DDR2

    显卡:FX570 512M

    1.2 优化步骤

    1.2.1 设置地图过滤显示

    在新建地图之后,地图属性中就已经默认设置了文本过滤显示。过滤对象尺寸设置默认值,因为需要显示的数据中没有小而碎的数据。

    1.2.2 设置图层显示比例

    数据在入库之后添加几个图层配置地图,在没有进行任何优化之前,我们测试地图的显示性能。(时间单位:毫秒)

    图层名称

    查询时间

    绘图时间

    总时间

    记录数目

    居民地R@北京

    224.076

    2598.695

    2822.771

    176509

    铁路L@北京

    11.853

    395.790

    407.643

    667

    面区界R@北京

    14.275

    17.798

    32.073

    18

    国道L@北京

    5.454

    2.297

    7.751

    16

    省道L@北京

    2.929

    1.099

    4.028

    88

    平均

    51.718

    603.136

    654.853

    35459.600

    总计

    258.588

    3015.680

    3274.267

    177298

    4-1 地图初始状态

    4-1 地图初始状态

    在全副状态下,居民地图层记录数最多,有176509条,查询时间比较高超过了200ms,绘图时间很长,那么说明这个比例尺下不适合显示。通过可见比例的设置之后,图层显示更具层次感,同时性能有明显提升。

    全副的状态下配置了区域面的单值专题图,测试刷新时间结果如下:

    图层名称

    查询时间

    绘图时间

    总时间

    记录数目

    面区界R@北京

    12.507

    18.662

    31.170

    18

    界线@北京

    8.004

    10.789

    18.793

    77

    国道L@北京

    6.167

    2.405

    8.572

    16

    平均

    8.893

    10.619

    19.512

    37.000

    总计

    26.679

    31.856

    58.535

    111

    4-2 设置显示比例后的全幅效果

    1.2.3 重采样

    在上一步的基础上进行放大,在第二级比例尺中,发现铁路线数据的绘图时间比较长。

    图层名称

    查询时间

    绘图时间

    总时间

    记录数目

    铁路L@北京

    8.851

    280.330

    289.181

    667

    面区界R@北京

    164.139

    22.187

    186

  • 相关阅读:
    Node.js Event Loop 的理解 Timers,process.nextTick()
    Ajax关于readyState(状态值)和status(状态码)的研究
    原生 JavaScript 实现 AJAX、JSONP
    Python selenium.webdriver.chrome.options.Options() Examples
    【python】统一转换日期格式dateutil.parser.parse
    python读取doc
    大规模爬虫流程总结
    如何巧妙的利用selenium和requests组合来进行操作需要登录的页面
    使用pandas进行数据清洗
    twilio打电话和发短信
  • 原文地址:https://www.cnblogs.com/reborter/p/1743851.html
Copyright © 2020-2023  润新知