zoukankan      html  css  js  c++  java
  • 高性能地图优化策略

    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

  • 相关阅读:
    浅析:setsockopt()改善socket网络程序的健壮性
    神奇的vfork
    2008级 毕业设计 题目
    Linux之父访谈录:设计内核只为了好玩
    启用Fedora的root账户登录
    Linux系统所使用的真实内存——free
    linux内核源码中常见宏标志tag
    c语言中的 顺序点
    tcpdump
    双系统中从Windows访问Linux分区 ext2 ext3 的三种方法
  • 原文地址:https://www.cnblogs.com/reborter/p/1743851.html
Copyright © 2011-2022 走看看