热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

php地图显示客户位置_优化MapGIS地图显示速度,看这七招!

摘要制图过程中遇到图形显示很慢的情况,在MapGIS中有没相应的优化处理策略呢?本文针对常见的显示速度问题,提供在MapGIS中相应的处理



3d2746a28b6ff6f6a02bf6ebe02c9552.gif摘要

制图过程中遇到图形显示很慢的情况,在 MapGIS中有没相应的优化处理策略呢?本文针对常见的显示速度问题,提供在MapGIS 中相应的处理操作方法。需要提及的是,一些能够提高地图显示速度的功能,往性与美观效果不能同时兼具,用户可根据体情况灵活选择。


01


图形缓存


在客户端缓存图形信息可以避免系统频繁地访问服务器提取相关信息从而一定程度上提高系统的速度和性能。所以, MapGIS 10 缺省情况下,在客户端环境设置 —— 配置信息一项中默认选择“缓冲图形信息”。图形缓存信息是以图层的GUID命名的文件夹,存放在Temp临时目录中。


ec09962324ecece556d63b704efde716.png


客户端环境配置


  在此界面上同时可设置客户端缓存的相关参数:客户端缓存规模和客户端缓存模式。 


e4523f7ed05b61433b188edf2ac828d3.gif客户端缓存模式:客户端缓存可以有不同的配置模式,用户需要根据数据安全性及系统 性能的要求进行权衡。无客户端存的模式提供较低的系统性能,但却有较高的安全性, 适合于成块的频率不高的读写操作。无限制客户端缓存模式使客户端对数据的操作完全缓存在客户端,适合数据量小但性能要求十分高的场合。有限制客户端缓存模式采用定 额的缓存分配策略,在系统缓存资源不足时,通过淘汰部分页面,实现空间的复用,适 合大量数据的缓存,并有较好的性能。


e4523f7ed05b61433b188edf2ac828d3.gif客户端缓存规模:缓存规模是当客户端采用有限制客户端缓存模式的情况下,对缓存池 内存用量进行配置。每一个客户端实例都有自己的全局缓存池,缓存按页进行分配,一 页包含8K的内存空间,增加缓存页数值可以在一定程度上提高系统的速度和性能。但 所有客户端缓存页之和不能超过当前可用的物理内存页数。


02


建立索引


为便于空间目标的定位及各种空间数据操作,提高矢量数据的查询、访问、排序、浏览等操作,MapGIS提供了多种索引方式,包括字段索引和空间索引,如:矩形范围索引、四叉树索引、R树索引、图幅索引等。


字段索引是数据库系统或者其他计算机系统中提供键值快速定位的数据结构。字段索引提供了对特定键值的数据快速访问的能力。


空间索引是指依据空间对象的位置和形状或空间对象之间的某种空间关系按一定的顺序排列的一种数据结构,其中包含空间对象的概要信息,如对象的标识、外接矩形及指向空 间对象实体的指针。作为一种辅助性的空间数据结构,空间索引介于空间操作算法和空间对象之间,它通过筛选作用,大量与特定空间操作无关的空间对象被排除,从而提高空间操作的速度和效率。


土地利用的实际应用中,为提高服务器上(如:Oracle、SQLServer)大数据的读写和分 析速度,一般为其创建的索引类型为“图幅索引”。以下就以“图幅索引”为例说明创建索 引的一些基本依据。


c6f6f648d9ab9f15ce8084dc526a2fb6.png


创建图幅索引 


e4523f7ed05b61433b188edf2ac828d3.gif存在图幅号:当前选择数据的图元实体已分配图幅号的情况,如地图集中的入库数据,可选择此创建类型;  


e4523f7ed05b61433b188edf2ac828d3.gif仅存在分幅数据:当前选择数据的图元实体没有记录其对应图幅号的属性字段,但存在 接图表的情况,可选择此创建类型;


e4523f7ed05b61433b188edf2ac828d3.gif自动分幅:需要自动分幅的情况,提供“指定分幅比例”及“指定分幅矩形”两种方式 供选择。


在建立图幅索引时应尽量避免图幅划分过于稀疏(如分幅数量过少)及图幅划分过于密集(跨越图幅的实体数过多)的情况&#xff1b;理想的分幅数量&#xff1a;>20&&<1000&#xff1b;合适的实体数量&#xff1a; 一般图幅2000 个/幅&#xff0c;跨图幅实体率<20%。系统会综合当前可用内存的条件来动态变化缓 存大小&#xff0c;但受限于最高缓存的设置参数(系统默认为500M)&#xff1b;


当然&#xff0c;在条件充分的情况下用户也可修改最高缓存参数以达到资源的合理使用&#xff0c;具体操 作如下&#xff1a;MapGIS安装路径下的program文件夹中找到“CacheConfig.ini”文件并打开→修改“CacheDBSize”的值即修改了最高缓存参数(默认单位为M)。


在创建索引对话框中&#xff0c;勾选“使用缓存”可以进一步提升系统运行速度。在访问数据库 数据时&#xff0c;设置了缓存可以将数据信息存入本地库中&#xff0c;再次访问该数据时&#xff0c;可以直接从本地中 取得&#xff0c;速度相对会提升。


如果已创建图幅索引并使用缓存仍无法达到理想的显示效果&#xff0c;此时用户可考虑设置批取内存大小参数。批取数据即一次将多条数据读取至内存中&#xff0c;设置的内存越大&#xff0c;一次缓存中读 取的数据越多&#xff0c;速度会越快。对于不同的操作环境&#xff0c;用户可设置不同的批取内存大小&#xff0c;如&#xff1a;对于非并发环境&#xff0c;用户可将批取内存设置大些&#xff0c;一批取到的数据越多&#xff0c;速度也越快&#xff1b;对于并 发环境下&#xff0c;可以将批取内存设置小些&#xff0c;降低读取速度以保证运行的正确性。


使用“同步缓存配置信息”工具进行缓存配置。运行MapGIS 安装目录\program 下SyncCacheConfig.exe&#xff0c;弹出“同步缓存信息配置”对话框。先点击“获取”按钮&#xff0c;读取本地 的缓存路径及缓存大小信息&#xff1b;勾选“采用较大批取内存”&#xff0c;即使用大批取内存(内存大小为50M)&#xff1b;若不勾选&#xff0c;则使用小批取内存(内存大小为5M)。 


a54488ad20d09ccc75031f43b72dd226.png


同步缓存配置信息


03


对象过滤


当我们拿到一个大数据量的数据&#xff0c;里面有多个类型的地物分布。若当前只对某个或某些 而不是全部的地物感兴趣&#xff0c;整图查看时&#xff0c;数据量大刷图很慢&#xff0c;图元类型区分查看混乱时会希 望只提取出感兴趣的地物类型或是某个范围。在MapGIS 10 的图层属性显示项中提供了过滤设置&#xff0c;包括“属性过滤”和“条件过滤”。


e4523f7ed05b61433b188edf2ac828d3.gif属性过滤&#xff1a;设置SQL查询条件&#xff0c;只显示满足筛选条件的图元和属性记录&#xff1b;


18d4252fad3eeca0bef5048c957e354c.png 属性过滤效果图 c0262d40cf682136494ae32f183bd0a8.pngc0262d40cf682136494ae32f183bd0a8.png


e4523f7ed05b61433b188edf2ac828d3.gif范围过滤&#xff1a;设置矩形范围&#xff0c;显示与矩形范围相交及在矩形范围内的图元和属性记录&#xff1b;


77c24bf3123f3219e3563727ed4207bb.png 范围过滤效果图(红色框为设定的过滤矩形范围)  


04


符号过滤显示 


为线对象配上符号显示、区中填充符号&#xff0c;在一定程度增加了资源的占用。当地图图层符 号显示在小于某个比例尺的范围内符号显示不清晰或是和无符号显示无差别时&#xff0c;就可以设定此图层属性→显示的“非符号绘制最大显示比率”为当前比例尺显示时的显示比率。


05


图层(动态注记)过滤 


常见的地形数据&#xff0c;包含14层数据&#xff1a;境界与政区、水系、居民地、铁路、道路等。地形 数据展示时若在全局缩放范围中都同时显示这14层数据&#xff0c;这样做的结果是图形不美观、显示速度慢、传达信息不明确。实际操作一般会对各个图层设定显示比范围&#xff0c;随着地图的放大由概略到详细逐级增加显示图层。


在MapGIS10中&#xff0c;图层显示范围由显示比率来控制。显示比率(用γ表示)和当前显示 数据范围(用Extent表示)的基本关系是&#xff1a;γ&#61;地图视图像素范围/Extent。地图视图固定不 变&#xff0c;随着地图的放大&#xff0c;显示比率增大。下图所示为显示比率设置界面&#xff1a;


ef2065b17c9b68f66bd2838643c43f4d.png


设置显示比率 


MapGIS10的显示比率还可控制对图层动态注记的显示。动态注记并没有存储在某个临 时的hdf文件中&#xff0c;而是根据当前地图视图中显示的图元&#xff0c;实时计算绘制(查询图元对应显示字段的值→计算绘制位置→绘制注记)。对图层设置显示动态注记&#xff0c;相当于绘制了2层数据&#xff0c; 相较只显示该图层时必然会增加绘制的时间&#xff0c;进而影响显示速度。


对于图元数较多的图层&#xff0c;复位状态显示动态注记&#xff0c;会出现注记因不能完全标注而避让不 显示或是注记过小、过密达不到读图的要求&#xff0c;因此一般不会在复位状态下显示。此时可以通过设置动态注记显示比率范围使得动态注记达到某个显示比时才显示。


37a3d167b008fe5da90f07aee33e1d79.png


动态注记显示比率设置 


若在某个显示比率下&#xff0c;动态注记符合读图要求但是显示速度不能达到要求时&#xff0c;建议将动态注记另存为注记类。使用静态注记&#xff0c;可以避免每次移动或更新地图视图后动态注记实时计 算绘制造成的绘制时间消耗&#xff0c;在一定程度上提高显示速度。c0262d40cf682136494ae32f183bd0a8.png 


ebb8d3a2005e5409c4dbf74307658814.png


另存为注记类


06


创建金字塔  


为减小影像的传输数据量和优化显示性能&#xff0c;有时需要为影像建立影像金字塔。


影像金字塔是一种典型的分层数据结构形式&#xff0c;在同一空间参照下&#xff0c;根据用户需要通过影像重采样方法&#xff0c;以不同分辨率进行存储与显示&#xff0c;形成分辨率由粗到细、数据量由小到大的金 字塔结构。不同分辨率的影像图层分割存储&#xff0c;并建立相应的空间索引机制&#xff0c;从而提高缩放浏览影像时的显示速度。


为影像建立了影像金字塔之后&#xff0c;以后每次浏览该影像时&#xff0c;系统都会获取其影像金字塔来显示数据&#xff0c;当您将影像放大或缩小时&#xff0c;系统会自动基于用户的显示比例尺选择最合适的金字塔等级来显示该影像。


如下图所示&#xff0c;为影像金字塔结构的简单示例图&#xff0c;底部是影像的原始最高分辨率的表示&#xff0c;为256×256图像分辨率&#xff0c;越往上的影像的分辨率越小&#xff0c;分别为128×128、64×64&#xff0c;顶部是影 像金字塔的最低分辨率的图像32×32&#xff0c;因此这个影像金字塔共有4层&#xff0c;即4个等级的分辨率。显然影像的行列值(或是数据量)越大&#xff0c;影像金字塔的等级越多。


1e2541fffd7a8df420509c60fdaef1c1.png


影像创建金字塔示例


07


地图缓存


地图缓存是一种用于改善地图浏览用户体验的优化策略。服务器端创建了地图缓存之 后&#xff0c;客户端用户的每一次地图浏览&#xff0c;比如平移、放大、缩小地图&#xff0c;都会向服务器端发送一个URL请求&#xff0c;此时&#xff0c;服务器端按照匹配的条件&#xff0c;将已缓存的图片返回到客户端。通常将服务器 端在发布地图服务之前&#xff0c;已经创建的地图缓存称为预缓存。


只需要付出一次缓存的代价&#xff0c;就可以快速的响应提供给客户端地图显示。地图缓存是以 一系列不同比例尺下地图图片(jpg/gif/png)形式提供的&#xff0c;因此不受矢量地图显示上的约束&#xff0c;比如地图信息量的大小、地物的复杂程度、是否带有标注、所使用的地图符号等限制。因为&#xff0c; 一般情况下&#xff0c;地图渲染的细节越多&#xff0c;承载的信息量越丰富&#xff0c;同等环境下&#xff0c;绘制矢量地图就越慢&#xff0c;但使用了地图缓存&#xff0c;客户端在获得了同样分辨率显示效果的同时&#xff0c;等待时间却大大缩短&#xff0c; 增强了用户的体验&#xff0c;满足系统对快速地图响应的要求。


f1b6cd5732cad47c0ccf1ece6c2785ed.png

本文为原创&#xff0c;转载请注明出处


7bb8758b9e28c085378cb4e5a1fa9a7a.png

f7f2b945354ed182abd1e0827538119a.png





推荐阅读
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • 本文介绍了Java工具类库Hutool,该工具包封装了对文件、流、加密解密、转码、正则、线程、XML等JDK方法的封装,并提供了各种Util工具类。同时,还介绍了Hutool的组件,包括动态代理、布隆过滤、缓存、定时任务等功能。该工具包可以简化Java代码,提高开发效率。 ... [详细]
  • 本文介绍了Oracle数据库中tnsnames.ora文件的作用和配置方法。tnsnames.ora文件在数据库启动过程中会被读取,用于解析LOCAL_LISTENER,并且与侦听无关。文章还提供了配置LOCAL_LISTENER和1522端口的示例,并展示了listener.ora文件的内容。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • 本文讨论了在数据库打开和关闭状态下,重新命名或移动数据文件和日志文件的情况。针对性能和维护原因,需要将数据库文件移动到不同的磁盘上或重新分配到新的磁盘上的情况,以及在操作系统级别移动或重命名数据文件但未在数据库层进行重命名导致报错的情况。通过三个方面进行讨论。 ... [详细]
  • 本文介绍了如何使用C#制作Java+Mysql+Tomcat环境安装程序,实现一键式安装。通过将JDK、Mysql、Tomcat三者制作成一个安装包,解决了客户在安装软件时的复杂配置和繁琐问题,便于管理软件版本和系统集成。具体步骤包括配置JDK环境变量和安装Mysql服务,其中使用了MySQL Server 5.5社区版和my.ini文件。安装方法为通过命令行将目录转到mysql的bin目录下,执行mysqld --install MySQL5命令。 ... [详细]
  • Oracle seg,V$TEMPSEG_USAGE与Oracle排序的关系及使用方法
    本文介绍了Oracle seg,V$TEMPSEG_USAGE与Oracle排序之间的关系,V$TEMPSEG_USAGE是V_$SORT_USAGE的同义词,通过查询dba_objects和dba_synonyms视图可以了解到它们的详细信息。同时,还探讨了V$TEMPSEG_USAGE的使用方法。 ... [详细]
  • 怎么在PHP项目中实现一个HTTP断点续传功能发布时间:2021-01-1916:26:06来源:亿速云阅读:96作者:Le ... [详细]
  • Windows7 64位系统安装PLSQL Developer的步骤和注意事项
    本文介绍了在Windows7 64位系统上安装PLSQL Developer的步骤和注意事项。首先下载并安装PLSQL Developer,注意不要安装在默认目录下。然后下载Windows 32位的oracle instant client,并解压到指定路径。最后,按照自己的喜好对解压后的文件进行命名和压缩。 ... [详细]
  • 在Oracle11g以前版本中的的DataGuard物理备用数据库,可以以只读的方式打开数据库,但此时MediaRecovery利用日志进行数据同步的过 ... [详细]
  • 从Oracle安全移植到国产达梦数据库的DBA实践与攻略
    随着我国对信息安全和自主可控技术的重视,国产数据库在党政机关、军队和大型央企等行业中得到了快速应用。本文介绍了如何降低从Oracle到国产达梦数据库的技术门槛,保障用户现有业务系统投资。具体包括分析待移植系统、确定移植对象、数据迁移、PL/SQL移植、校验移植结果以及应用系统的测试和优化等步骤。同时提供了移植攻略,包括待移植系统分析和准备移植环境的方法。通过本文的实践与攻略,DBA可以更好地完成Oracle安全移植到国产达梦数据库的工作。 ... [详细]
author-avatar
睿芬惠洁育瑋
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有