一种在线显示海量数据的方法及系统技术方案

技术编号:9356757 阅读:143 留言:0更新日期:2013-11-20 23:55
一种在线显示海量数据的方法及系统,该方法包括以下步骤。服务器创建底图服务和专题图服务,客户端调用底图服务和专题图服务。服务器的底图服务生成底图图片,专题图服务生成专题图图片。客户端到服务器获取底图图片及专题图图片,并将专题图图片叠加到底图图片上进行显示。该系统包括客户端及服务器,客户端连接服务器。客户端用于调用服务器的底图服务和专题图服务,并将从服务器获取的专题图图片叠加到底图图片上,进行显示。服务器用于创建底图服务和专题图服务,并以底图服务生成底图图片,专题图服务生成专题图图片。通过本发明专利技术提供的在线显示海量数据的方法及系统,在不影响运行速度的前提下,能够在浏览器显示大量的点、线及面数据。

【技术实现步骤摘要】
一种在线显示海量数据的方法及系统
本专利技术属于地理信息领域,具体涉及一种在线显示海量数据的方法及系统。
技术介绍
GIS(地理信息系统,GeographicInformationSystem)是一门综合性学科,结合了地理学、地图学、遥感和计算机科学,是用于输入、存储、查询、分析和显示地理数据的计算机系统,已经广泛的应用在不同的领域。而随着互联网应用的普及,运行于互联网环境的WEBGIS成为业界的热点。在传统的GIS中,经常会有涉及到大量点、线、面的显示,当显示数据量增大时,会严重影响系统的响应时间甚至会导致系统的崩溃。这种情况在通过浏览器访问的WEBGIS中,表现的尤为突出。以显示点状数据为例,在IE浏览器中,每一个显示的点状数据,都要消耗一定的浏览器资源,当显示的点状数据过多时(例如:2000个左右),会有明显的系统响应不及时的情况,严重时甚至会导致浏览器崩溃。针对上述问题,目前常见的解决方法有,限制浏览器每次显示的数据量,或者采用点聚合,即将空间位置上相邻的点位聚合成一个点的显示方式。但上述方法均存在不足:限制每次显示数据的数量将导致功能无法达到系统的预期。例如:需要地图上显示全市3万个监控探头的位置,通过对所有探头空间分布的显示,让系统用户了解监控的重点区域及监控盲区,如果无法一次性在地图上显示所有探头的位置,就无法实现该功能的建设目标。而采用点聚合方式显示点位,则无法显示每个点位的具体位置。于现有技术中,申请号为201210387370.6的专利技术公开了一种图片叠加的方法和系统,该方法包括:通过基于地图的应用程序接口加载第一图片作为底图,底图上的每一个点,都对应一个地理坐标,将第二图片以标注的形式添加到所需要放置的底图所对应的地理坐标位置。在上述方法中,当标注数量较多时,依然会造成页面负荷过重,而导致浏览器响应过慢的问题。综上所述,需要设计一种在线显示海量数据的方法及系统,能够在不影响浏览器正常运行速度的前提下,显示海量数据。
技术实现思路
本专利技术提供一种在线显示海量数据的方法,包括以下步骤:S1、服务器创建底图服务和专题图服务,客户端调用所述底图服务和专题图服务;S2、所述服务器的底图服务生成底图图片,专题图服务生成专题图图片;S3、客户端到服务器获取所述底图图片及专题图图片,并将所述专题图图片叠加到底图图片上,进行显示。优选的,在所述步骤S1中,客户端还向服务器发送预设的经纬度范围,且调用底图服务与调用专题图服务发送的经纬度范围相同。优选的,在所述步骤S1中,客户端通过在线地图的API创建地图对象,并在所述地图对象中分别设置底图对象及专题图对象,用底图对象调用服务器的底图服务,用专题图对象调用服务器的专题图服务。优选的,在所述步骤S2中,所述专题图图片,是由服务器的专题图服务根据服务器中存储的业务数据生成的背景透明的图片。优选的,在所述步骤S3中,客户端的底图对象获取底图图片,专题图对象获取专题图图片后,所述客户端将底图对象及专题图对象传入地图对象,地图对象叠加专题图图片及底图图片后输出。优选的,在所述步骤S3中,当客户端显示的叠加图片对应的经纬度变化时,所述客户端自动调用底图服务和专题图服务获取新的底图图片及专题图图片,并叠加显示。优选的,所述客户端至少调用一次专题图服务,并从服务器获取至少一张专题图图片,叠加在底图图片上进行显示。本专利技术还提供一种在线显示海量数据的系统,包括客户端及服务器,所述客户端连接服务器,所述客户端,用于调用服务器的底图服务和专题图服务,并将从服务器获取的专题图图片叠加到底图图片上,进行显示。所述服务器,用于创建底图服务和专题图服务,并以底图服务生成底图图片,专题图服务生成专题图图片。根据本专利技术提供的在线显示海量数据的方法及系统,客户端通过调用服务器相应服务,由服务器生成底图图片和专题图图片并提供给客户端,客户端将背景透明的专题图图片叠加到底图图片上进行显示。如此,大大降低了浏览器的资源消耗,在不影响浏览器响应速度的前提下,可以在网页上显示海量的数据。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术较佳实施例提供的在线显示海量数据的方法流程图;图2是本专利技术较佳实施例提供的在线显示海量数据的系统结构示意图。具体实施方式下文中将参考附图并结合实施例来详细说明本专利技术。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。图1是本专利技术较佳实施例提供的在线显示海量数据的方法流程图。如图1所示,本专利技术较佳实施例提供的在线显示海量数据的方法包括步骤S1~S3。步骤S1:服务器创建底图服务和专题图服务,客户端调用所述底图服务和专题图服务。具体而言,客户端通过在线地图的API创建地图对象,所述在线地图的来源包括百度地图、google地图及Openlayers。其中,OpenLayers支持的地图来源包括GoogleMaps、Yahoo、Map及微软VirtualEarth,本实施例以Openlayers为例进行说明。客户端创建地图对象的实现过程例如:varmap=null;varbaseLayer,xfsLayer;map=newGIMap.Map(′map′,{mapExtent:[120.06107915344501,30.616287482841734,121.42555724717593,32.17569101853422]});客户端创建地图对象后,在所述地图对象中分别设置底图对象及专题图对象,并用底图对象调用服务器的底图服务,用专题图对象调用服务器的专题图服务。于此,当客户端调用服务器的底图服务与专题图时,向服务器发送预设的经纬度范围,且调用底图服务与调用专题图服务发送的经纬度范围相同。本实施例中,以从底图服务中调取苏州地图、从专题图服务中调取苏州消防栓分布图为例进行说明。步骤S2:所述服务器的底图服务生成底图图片,专题图服务生成专题图图片。具体而言,底图对象调用底图服务后,所述底图服务生成苏州地图图片(即底图图片)的实现过程例如以下代码所示。baseLayer=newGIMap.ArcGISCache("苏州地图","http://地图服务地址/Layers20120118",{layername:′_alllayers′,displayInLayerSwitcher:false,tileOrigin:GIParameters.agsTileOrigin,isBaseLayer:true,type:′png′,transitionEffect:′resize′});专题图对象调用专题图服务,专题图服务生成消防栓分布图片(即专题图图片)的实现过程例如以下代码所示。xfsLayer=newGIMap.WMS("消防栓分布图","http://专题地图服务地址/services/GPS110",{layers:"XD",transparent:true,format:′image/png′});上述实现代码中,t本文档来自技高网
...
一种在线显示海量数据的方法及系统

【技术保护点】
一种在线显示海量数据的方法,其特征在于,包括以下步骤:S1、服务器创建底图服务和专题图服务,客户端调用所述底图服务和专题图服务;S2、所述服务器的底图服务生成底图图片,专题图服务生成专题图图片;S3、客户端到服务器获取所述底图图片及专题图图片,并将所述专题图图片叠加到底图图片上,进行显示。

【技术特征摘要】
1.一种在线显示海量数据的方法,其特征在于,包括以下步骤:S1、服务器创建底图服务和专题图服务,客户端调用所述底图服务和专题图服务;S2、所述服务器的底图服务生成底图图片,专题图服务生成专题图图片;S3、客户端到服务器获取所述底图图片及专题图图片,并将所述专题图图片叠加到底图图片上,进行显示;在所述步骤S1中,客户端还向服务器发送预设的经纬度范围,且调用底图服务与调用专题图服务发送的经纬度范围相同;在所述步骤S1中,客户端通过在线地图的API创建地图对象,并在所述地图对象中分别设置底图对象及专题图对象,用底图对象调用服务器的底图服务,用专题图对象调用服务器的专题图服务。2.根据权利要求1所述的方法,其特征在于,在所...

【专利技术属性】
技术研发人员:周为群林金炼黄晖王康
申请(专利权)人:苏州数字地图网络科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1