技术领域
[0001] 本发明涉及网络地理信息系统(WebGIS)技术,更具体涉及一种网络专题地图制图方法及制图系统。
相关背景技术
[0002] 专题地图是将空间地理数据与业务专题数据结合起来,以地图的形式,形象、直观地表现出来,实现专题数据的地图可视化表达。随着互联网技术、WebGIS技术的快速发展和应用,基于网络的专题地图应用在国民经济各个行业中越来越多。为满足各种应用需要,对基于网络的专题地图制图提出了更高的要求。主要体现在以下三个方面:第一,专题图的类型和种类。由于行业类型不同,对专题数据的表达形式、方法的需求和要求也不仅相同,因此,为满足各种需要,webGIS软件应该能提供类型丰富多样的图表类型,这是衡量一个WebGIS软件功能强大和完备的重要特征。第二,网络制图响应速度。随着互联网技术、移动网络技术、云技术的快速发展和应用,各种基于云服务的制图应用越来越多,在并发访问的情况下,能否快速响应用户制图请求是其能否广泛应用的重要因素,这是webGIS软件性能的重要指标。第三,具有较好的用户体验。随着各种富客户端技术的应用,用户可以交互式操作专题地图,查看专题数据,都是具有较好的用户体验表现,因此,具有较好的用户体验也是网络专题地图今后发展的重要方向。
[0003] 现有技术中,网络专题地图主要依托于专业WebGIS软件,通过二次开发实现其功能。通过分析和比较目前主流的ArcGIS Server、SuperMapiServer等WebGIS软件,目前网络制图的流程都是客户端发送制图请求,WebGIS服务器根据请求参数,调用地图服务引擎和制图引擎,生成地图图片和专题图图片,通过图片影像合成技术,将地图和专题图合成一张图片发送到客户端,完成客户端专题地图制图响应。
[0004] 在现有技术中,由于地图制图和专题图都是在服务器端完成,因此在并发访问的webGIS软件架构体系中,容易增加服务器的计算负荷,并且网络传输的数据量大,导致制图的响应速度慢。同时,这些WebGIS软件生产的专题地图都是以一张图片的形式发送到客户端,交互性差。
具体实施方式
[0034] 下面结合附图和实例,对本发明的具体实施方式作进一步详细描述。以下实施用例仅用来说明本发明,但不用以限制本发明的范围。
[0035] 图1是根据本发明一个实施例的网络专题地图制图方法的流程图,该方法的流程如下:
[0036] 在步骤S1,客户端将包括制图参数的制图请求通过网络发送到应用服务器。制图参数在客户端输入,制图参数包含地图名称、制图图层,专题类型和制图图表类型。制图图表类型在输入参数时,地图名称以列表的形式供用户选择,每个地图名称对应地图服务器中的一个地图,在选择地图名称后,其对应的地图所包含的制图图层就显示在制图图层的列表中供选择。制图图层表示的是制作图表时对应的图元所在的图层。
[0037] 在步骤S2,应用服务器接到制图请求后,调用地图服务器。地图服务器提取地图名称对应的地图,以及地图的制图图层的各图元的唯一标识符、最小外接矩形MBR和形心地理坐标,将形心地理坐标转化为屏幕坐标。
[0038] 在步骤S3,应用服务器调用专题数据服务器,专题数据服务器提取与制图图层的各图元标识符关联且为请求的专题类型的专题数据。
[0039] 在步骤S4,应用服务器调用数据封装接口模块将专题数据服务器提取的所有专题数据封装为客户端的图表插件模块能解析格式的数据文件。
[0040] 在步骤S5,应用服务器通过网络将请求制图区域的地图、各图元唯一标识符、最小外接矩形MBR和形心地理坐标以及数据文件通过网络发送到客户端。
[0041] 在步骤S6,客户端的图表插件模块解析数据文件,形成与各图元对应的所要求的制图图表类型的图表。
[0042] 在步骤S7,每个图表通过制图图层的各图元的唯一标识符、最小外接矩形MBR和屏幕坐标配置到地图的各个部分,与地图叠加显示,由此形成客户所请求的专题地图。
[0043] 优选地,在客户端生成图表之后,可以改变制图参数中的制图图表类型,从而图表也变为改变后的制图图表类型的图表。
[0044] 优选地,在客户端生成图表之后,当其中一个图表被激活时,例如鼠标移到该图标上时,可以在该图表旁显示该图表所带的专题数据。
[0045] 图2是根据本发明一个实施例的网络专题地图制图系统的结构框图,该系统包括客户端1、应用服务器2、地图服务器3和专题数据库服务器4。
[0046] 客户端1,用于发送制图请求到应用服务器2,所述制图请求包括地图名称和制图图层;
[0047] 应用服务器2与地图服务器3、专题数据服务器4相连;地图服务器3提取与所述地图名称对应的地图,并提取所述地图的制图图层中各图元的唯一标识符;专题数据服务器4根据各图元的唯一标识符提取对应的专题数据;应用服务器4包括数据封装接口,将提取的所有专题数据封装成客户端的图表模块能解析格式的数据文件,然后将所述地图、所述数据文件和各图元唯一标识符发送到客户端1;
[0048] 客户端1包括图表模块和地图显示模块,图表模块解析所述数据文件,提取所述专题数据,生成图表;地图显示模块将所述图表与所述地图叠加显示。
[0049] 优选地,客户端1还包括参数输入模块,用于输入制图请求参数。
[0050] 下面再以一个实施例来说明本发明的具体实施过程。本实施例以北京市三品(无公害、绿色、有机)基地种植面积专题地图(环状、金字塔、柱状图等专题地图)制图为例,说明本发明的具体实施过程。
[0051] 本实施例在客户端采用的图表插件为FusionChart,FusionChart是一个基于Flash的图表组件,可以用来提供数据驱动的动态图表,用XML格式的数据输入,实现数据展示的图表化,动态化以及交互性。使用FusionChart可以方便地生成漂亮的柱状图、曲线图等图表,显示数据直观、清晰。
[0052] 本实施例在服务器端采用FusionChart图表组件的数据接口,采用Java语言制作数据封装接口,将FusionChart图表组件支持的XML数据格式等格式封装成接口。制图流程如下:
[0053] 首先,客户端输入制图参数,包括:地图名称为北京市地图,制图图层为行政区划图层,专题类型为三品(无公害、绿色、有机)基地的种植面积,制图图表类型为金字塔。制图参数输入完毕后,制图请求通过网络发送到应用服务器。
[0054] 然后,应用服务器调用地图服务器的地图服务,获取北京市地图和行政区划图层,在行政区划图层中获取各区县图元的唯一标识符、最小外接矩形MBR以及形心地理坐标。接着,通过各区县图元的唯一标识符和专题类型,在专题数据服务器中获取北京市各区县三品基地种植面积专题数据,调用FusionChart图表组件的数据接口,将专题数据转化成FusionChart所支持的XML格式文件,并将各区县图元的形心地理坐标转化成屏幕坐标,然后将北京市行政区划地图、XML格式文件以及各区县(图元)唯一标识符、最小外接矩形和屏幕坐标发送到客户端。
[0055] 当客户端接收到北京市行政区划地图、XML格式文件以及各区县(图元)唯一标识符、最小外接矩形、屏幕坐标之后,客户端的FusionChart图表插件读取XML格式文件中封装的各区县三品基地的种植面积专题数据,形成各区县的金字塔图,并通过各区县图元的唯一标识符、最小外接矩形、屏幕坐标而确定各图表的大小和在北京市行政区划图层上的位置,与北京市地图叠加显示,完成各区县三品基地种植面积专题地图的制图。
[0056] 用户在客户端也可以改变制图图表类型为三维饼状图,柱状图或环状图等制图图表类型。
[0057] 本发明的实施例通过在客户端生成图表,与服务器传送过来的地图叠加显示,不需要在服务器端生成图表,减轻了网络专题地图制图过程中服务器的计算负荷,同时也减少了网络传输的数据量,提高了网络制图的响应速度。另外,在客户端可以按需显示专题数据、调整制图图表类型,也提高了制图的交互性。