一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种实现网络动态地理信息服务的方法及实现网络动态地理信息服务不同的装置与流程

2022-03-16 05:09:46 来源:中国专利 TAG:


1.本发明涉及网络动态地理信息服务领域,具体为一种实现网络动态地理信息服务的方法及实现网络动态地理信息服务不同的装置。


背景技术:

2.随着图像数据采集与应用的发展,对于实时地理信息系统的需求逐步增长,与传统地理信息系统相比,实时地理信息系统具备实时数据采集接口,从地理信息数据库的角度来看,就是把“增、删、查、改”数据的功能做到自动和实时。
3.实时地理信息系统需要一种能够实现动态更新数据服务的方法,而基于wms、wfs、wcs等静态数据协议难以实现动态的地理信息数据自动更新需求。现有技术只能实现动态的表现层和应用层,不能实现动态的数据层,因而无法基于现有技术方案,实现视频实时拼接生成dom以及视频实时矢量、栅格ar等应用的动态地图服务。现有的地理信息系统虽然提供了实时更改数据能力,但没有形成前后端解耦的b/s架构,即表现层、应用层和数据层都耦合在一起,使得该应用只能在单台计算机上运行,不能分布式部署,无法使服务提供者和使用者之间能够保持松散的关系。


技术实现要素:

4.为解决上述背景技术中所存在的问题,本发明提出了一种实现网络动态地理信息服务的方法,所述方法包括:
5.客户端向网络动态地理信息服务器发出描述功能的请求,所述网络动态地理信息服务器返回所述网络动态地理信息服务器的功能描述文档;
6.所述功能描述文档包括所述网络动态地理信息服务器所支持的数据驱动器的概要描述清单;
7.所述客户端根据所述数据驱动器的概要描述清单,选择特定数据驱动器;
8.所述客户端基于所述特定数据驱动器,向所述网络动态地理信息服务器发出描述所述特定数据驱动器的请求,所述网络动态地理信息服务器返回所述特定数据驱动器的详细静态描述文档;
9.所述客户端根据所述详细静态描述文档,确定所述特定数据驱动器配置参数的键值对集合,根据所述键值对集合向所述网络动态地理信息服务器发出参数配置请求,所述网络动态地理信息服务器对所述特定数据驱动器进行参数配置并返回所述特定数据驱动器的详细动态描述文档;
10.完成参数配置的所述特定数据驱动器开始动态更新原始数据,所述客户端以特定频率向所述网络动态地理信息服务器发出读取数据的请求,得到与所述参数对应的数据。
11.进一步的,所述客户端向网络动态地理信息服务器发出描述功能的请求,所述网络动态地理信息服务器返回所述网络动态地理信息服务器的功能描述文档具体为:
12.在客户端构建获取功能描述文档操作的url,向服务器发起请求;
13.服务器解析所述获取功能描述文档操作的url,获得第一请求参数的键值对;
14.服务器在配置文件中读取所述获取功能描述文档操作所请求的第一参数;
15.服务器将所述第一参数序列化为功能描述文档,并将所述功能描述文档返回至客户端。
16.进一步的,所述客户端基于所述特定数据驱动器,向所述网络动态地理信息服务器发出描述所述特定数据驱动器的请求,所述网络动态地理信息服务器返回所述特定数据驱动器的详细静态描述文档具体为:
17.服务器解析描述数据驱动器操作的url,获得第二请求参数的键值对;
18.服务器在配置文件中读取描述数据驱动器操作所请求的第二参数;
19.服务器将所述第二参数序列化为详细静态描述文档,并将所述详细静态描述文档返回至客户端。
20.进一步的,所述客户端根据所述详细静态描述文档,确定所述特定数据驱动器配置参数的键值对集合,根据所述键值对集合向所述网络动态地理信息服务器发出参数配置请求,所述网络动态地理信息服务器对所述特定数据驱动器进行参数配置并返回所述特定数据驱动器的详细动态描述文档具体为:
21.根据所述详细静态描述文档,确定所述特定数据驱动器配置参数的键值对,根据所述特定数据驱动器配置参数的键值对向网络动态地理信息服务器发出配置数据驱动器的请求;
22.服务器解析配置数据驱动器操作的url,获得第三请求参数的键值对;
23.根据所述第三请求参数的键值对将所述第三请求参数配置到特定数据驱动器中;
24.将所述特定数据驱动器的详细动态描述文档返回至客户端。
25.进一步的,所述完成参数配置的所述特定数据驱动器开始动态更新原始数据,所述客户端以特定频率向所述网络动态地理信息服务器发出读取数据的请求,得到与所述参数对应的数据具体为:
26.完成参数配置的特定数据驱动器以特定频率发出读写原始数据的请求;
27.响应所述数据驱动器的读写请求,并完成原始数据的动态更新。
28.进一步的,所述方法还包括:
29.客户端向网络动态地理信息服务器发出获取数据驱动器的请求,所述网络动态地理信息服务器返回数据驱动器的详细动态描述文档。
30.一种实现网络动态地图服务的装置,其特征在于,包括:
31.网络动态地图服务器,用于根据上述方法所处理并反馈的实现网络动态地图服务的请求;
32.客户端,用于发送请求以及接收网络动态地图服务器的反馈信息。
33.进一步的,所述网络动态地理信息服务器至少包括一个地图数据驱动器;
34.所述地图数据驱动器用于动态更新地图的原始数据。
35.一种实现网络动态要素服务的装置,其特征在于,包括:
36.网络动态地理要素服务器,用于根据上述方法所处理并反馈的实现网络动态地理要素服务的请求;
37.客户端,用于发送请求以及接收网络动态地理要素服务器的反馈信息。
38.进一步的,所述网络动态要素服务器至少包括一个要素数据驱动器;
39.所述要素数据驱动器用于动态更新地理要素矢量数据。
40.一种实现网络动态地理场数据服务的装置,其特征在于,包括:
41.网络动态地理场数据服务器,用于根据上述方法所处理并反馈的实现网络动态地理要素服务的请求;
42.客户端,用于发送请求以及接收网络动态地理场数据服务器的反馈信息。
43.进一步的,所述网络动态地理场数据服务的装置至少包括一个地理场数据驱动器;
44.所述地理场数据驱动器用于动态更新地理场数据。
45.有益效果:本发明通过在不同的服务器设置特定数据驱动器,实现了对不同种类原始数据的动态更新,客户端通过适当的频率去请求获取原始数据,即可实现不同的动态服务;本发明创造性的将前后端分离,即将对计算机资源要求较高的主要事务逻辑放在后端服务器实现,将数据访问等简单事务逻辑放在前端浏览器实现,即形成服务提供者与使用者的低耦合关系,便于服务的分布式部署与拓展更新。
附图说明
46.图1为本发明实施例的一种实现网络动态地理信息服务的方法流程示意图;
47.图2为本发明实施例一的一种实现网络动态地图服务的方法流程示意图;
48.图3为本发明实施例二的一种实现网络动态地理要素服务的方法流程示意图;
49.图4为本发明实施例三的另一种实现网络动态地图服务的方法流程示意图;
50.图5为本发明实施例四的一种实现网络动态地理场数据服务的方法流程示意图;
51.图6为本发明实施例五的再一种实现网络动态地图服务的方法流程示意图。
具体实施方式
52.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
53.下面对本发明实施例中的技术方案进行清楚、完整地描述,显然所述的实施例仅仅是本发明的实施例之一,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所推广的其他实施例,都属于本发明保护的范围。
54.缩略语和关键术语定义
55.开放地理空间联盟(ogc:open geospatial consortium):是一个非盈利的志愿的国际标准化组织,制定了地理时空数据及其服务的一系列标准,gis厂商按照这些标准进行开发就可以保证地理时空数据的互操作性。
56.全动态视频(fmv:full motion video):一种利用元数据承载地理时空信息并与图像数据同步编码传输的视频数据,使用元数据可以实现图像空间和地理空间坐标无缝转换。
57.地图(map):是按照一定的法则,有选择地以二维或多维形式与手段在平面或球面
上表示地球(或其它星球)若干现象的图形或图像;它具有严格的数学基础、符号系统、文字注记,并能用地图概括原则,科学地反映出自然和社会经济现象的分布特征及其相互关系;它是地理时空数据的视觉表象,而不是地理时空数据本身。
58.数字正射影像地图(dom:digital orthophoto map):是以航空航天像片或遥感影像(单色/彩色)为基础,经扫描处理并经逐像元进行辐射改正、微分纠正和镶嵌,按地形图范围裁剪成的影像数据,并将地形要素的信息以符号、线画、注记、公里格网、图廓(内/外)整饰等形式填加到该影像平面上,形成以栅格数据形式存储的影像数据集(库)。
59.网络服务(ws:web service):是一个平台独立的、低耦合的、自包含的、基于可编程web的应用程序,可使用开放的xml(标准通用标记语言下的一个子集)标准来描述、发布、发现、协调和配置这些应用程序,用于开发分布式的交互操作的应用程序。xml http是web service的基础平台,http协议是最常用的因特网协议,xml提供了一种可用于不同的平台和编程语言之间的语言。
60.通用网关接口(cgi:common gateway interface):是web服务器运行时外部程序的规范,按cgi编写的程序可以扩展服务器功能;cgi应用程序能与浏览器进行交互,还可通过数据api与数据库服务器等外部数据源进行通信,从数据库服务器中获取数据;格式化为html文档后,发送给浏览器,也可以将从浏览器获得的数据放到数据库中;几乎所有服务器都支持cgi,可用任何语言编写cgi,包括流行的c、c 、java、vb和delphi等。
61.网络地图服务(wms:web map service):定义了一套标准的http接口,用于从一个或多个地理空间数据传输有地理定位的地图图像数据,其返回为jpeg、png等格式的地图数据,可用于网页或桌面客户端显示;其定义了三个主要操作:getcapabilities返回服务级元数据,它是对服务信息内容和要求参数的一种描述,服务器必须实现;getmap返回一个地图影像,其地理空间参考和大小参数是明确定义了的,服务器必须实现;getfeatureinfo返回显示在地图上的某些特殊要素的信息,服务方可选择性实现。
62.网络地理要素服务(wfs:web feature service):定义了一套标准的http接口,用于传输矢量地理要素数据,其返回的是要素级的gml编码,并提供对要素的增加、修改、删除等事务操作;它允许客户端从多个地理要素服务中,取得使用地理标记语言(gml)编码的地理空间数据;其主要包括以下操作:getcapabilites返回用xml描述的服务元数据;describefeaturetype返回描述可以提供服务的任何要素结构的xml文档;getfeature处理获取要素实例的请求;transaction处理事务请求;lockfeature处理在一个事务期间对一个或多个要素类型实例上锁的请求。
63.网络地理场数据服务(wcs:web coverage service):定义了一套标准的http接口和操作,用于提供和获取面向空间栅格数据的可共用的网络地图原始数据服务;主要由三种操作组成:getcapabilities返回以xml描述的服务和数据集的元数据文档;getcoverage操作是在getcapabilities确定什么样的查询可以执行、什么样的数据能够获取之后执行的,使用其通用输出格式返回地理场数据;describecoverage操作允许客户端请求由具体的wcs服务器提供的任一地理场数据的完全描述。
64.样式化图层描述子(sld:styled layer descriptor):是指一套图层样式的描述符规则,可以将用户自定义的地图外观描述为一系列xml编码的图层样式;sld包含一个名为styledlayerdescriptor的xml元素,该元素包含一系列已命名图层(named layer)及其
对应的已命名样式(named style)。
65.mapserver:是由美国明尼苏达大学和美国太空总署(nasa)开发的开源webgis软件;作为webgis解决方案,mapserver是面向对象的,基本配置文件mapfile和mapscript模块的api组织都是基于对象的;mapserver通过支持ogc协会的若干标准,支持分布和互操作;mapserver支持在windows、unix、linux等多种平台;mapsserver本身是由c语言编写的程序,提供了两种开发模式,一种是基于cgi的,另一种是mapscript方式;mapserver可以看作是两个独立模块的统称,即mapserver cgi模块和mapscript模块,在服务器端可以使用任一模块编写webgis程序;mapscript支持的语言:php、perl、python、java和c#等。
66.地理空间数据抽象库(gdal:geospatial data abstraction library):是一个在x/mit许可协议下的开源栅格空间数据转换库,它利用抽象数据模型来表达所支持的各种文件格式。
67.实施例一
68.基于现有的wms协议,无法表示地图数据驱动器或地图动态数据源,更无法满足地图数据驱动器运行时的配置和启停等技术需求。视频实时拼接等应用程序,其表现层、应用层和数据层需要解耦,需要消耗大量的计算资源;
69.为解决上述问题,本发明提出,将大量消耗计算资源的程序单元部署并运行在后端服务器上,使只做数据呈现的表现层能够运行在前端浏览器上,即形成b/s架构,以便应用程序能够分布式部署。本发明提出一种实现网络动态地图服务的方法及装置,所述装置包括网络动态地图服务器(wdms server)和客户端。
70.其中,网络动态地图服务(wdms)是以网络地图服务(wms)为基础进行扩展,即wdms兼容性地实现wms所定义的getcapabilities、getmap和getfeatureinfo这3个操作的http接口,同时可选地实现sld wms(sld标准允许用户修改地图图像的地图外观,sld wms是ogc wms标准的可选功能。)所定义的describelayer(指示wfs或wcs以检索有关层的其他信息)、getlegendgraphic(检索地图的图例)、getstyles(请求图层样式)、putstyles(设置图层样式)这4个操作的http接口,并扩展地实现了describedriver、getdriver和putdriver这3个操作的http接口;除此之外,wdms还须要在getcapabilities所返回的服务功能描述文档中,罗列出地图数据驱动器的概要描述,以便后续执行describedriver、getdriver和putdriver等操作请求。
71.①
getcapabilities操作(必选)
72.功能概述:获取功能文档(默认xml格式)。
73.保留字符:
74.75.标准响应:应该默认返回一个xml格式的服务功能描述文档。
76.基于wms的getcapabilites操作所返回的服务功能描述文档扩展而来,其属于wms的服务功能描述文档的部分内容参见:
77.http://schemas.opengis.net/wms/1.1.1/capabilities_1_1_0.xml;
78.wdms相对wms增加的describedriver、getdriver和putdriver这3个操作请求。其扩展的xml描述内容形式如下:
79.80.[0081][0082]
wdms相对于wms,增加了对地图数据驱动器的概要描述,表达在《driver/》节点中,并且与《request/》《exception/》《layer/》等节点并列,其扩展不限于xml描述形式,保留字符如下:
[0083][0084]

getmap操作(必选)
[0085]
功能概述:获取地图。
[0086]
保留字符:
[0087][0088]
标准响应:复用wms标准,默认根据指定的输出格式,返回地图图像。
[0089]
异常响应:复用wms标准,略。
[0090]

getfeatureinfo操作(可选)
[0091]
功能概述:获取指定的地理要素的信息。
[0092]
保留字符:
[0093][0094]
标准响应:标准响应由wdms|wms供应商自行决定,但应与最接近的(x,y)坐标的特性有关。
[0095]
异常响应:复用wms标准,略。
[0096]

describedriver操作(必选)
[0097]
功能概述:获取地图数据驱动器(集)的详细静态描述。
[0098]
保留字符:
[0099][0100]
标准响应:应默认返回一个xml格式的文档,其内容为地图数据驱动器的详细静态描述,包含了通过getcapabilites请求到的驱动的概要描述,同时增加了该驱动无参的action和有参的method等可操作请求的静态描述列表;另外,由wdms供应商自行确定该驱动可选参数的静态描述。地图数据驱动器的详细静态描述,包括不限于xml文档形式,保留字符如下:
[0101][0102]
[0103]

getdriver操作(必选)
[0104]
功能概述:获取指定的地图数据驱动器(集)的详细动态描述。
[0105]
保留字符:
[0106][0107]
标准响应:应默认返回一个xml格式的文档,其内容为地图数据驱动器的详细动态描述,包含了通过getcapabilites请求到的驱动的概要描述,同时增加了该驱动无参的action和有参的method等可操作请求的动态描述;另外,由wdms供应商自行确定该驱动可选参数的动态描述。地图数据驱动器的详细动态描述,包括不限于xml文档形式,保留字符如下:
[0108][0109]

putdriver操作(必选)
[0110]
功能概述:配置指定的地图数据驱动器。
[0111]
保留字符:
[0112]
[0113][0114]
标准响应:应默认返回一个xml格式的文档,其内容形式与getdriver操作响应后返回的完全相同,即返回完成配置后的地图数据驱动器的详细动态描述。
[0115]
异常响应:参考wms标准,略。
[0116]

describelayer、getlegendgraphic、getstyles、putstyles等操作(仅sld wms)
[0117]
各维度定义皆同于sld wms,wdms直接继承sld wms不做修改,故略。
[0118]
具体的,wdms是一种web service的具体实现。web service是由网络浏览器/客户端(web browser/client)、超文本传输协议服务器(http server)、通用网关接口程序(cgi program)和数据集/数据库(dataset/database)等部分组成的;当具体实现为wdms时,则将通用网关接口程序具体实现为wdms服务器(wdms server);特别地,所述wdms服务器至少包含一个地图数据驱动器(map data driver),用以动态更新地图的原始数据。
[0119]
wdms提供网络动态地图服务的应用程序组件,该组件的核心是一个实现了wdms服务器(wdms server);该wdms服务器由网络请求调度器(web request dispatcher)、地图图像渲染器(map image renderer)、地图数据驱动器(map data driver)和时空数据驱动器(spatio-temporal data driver)组成。
[0120]
网络请求调度器:负责解析url中的具体服务类型、操作请求以及操作请求的参数键值对集合,并根据解析出的具体网络服务类型,将请求分发给对应的请求处理模块;当请求处理模块响应了请求之后,还要负责将响应的结果返回给客户端。
[0121]
地图图像渲染器:负责响应渲染指定地图数据的请求,即根据地图原始数据和指定样式去渲染地图图像并返回给请求方。
[0122]
地图数据驱动器:负责响应对自身运行状态的请求,同时根据自身实现的业务,独立请求时空数据驱动器对指定地图原始数据进行读写操作。
[0123]
时空数据驱动器:负责响应对指定地图原始数据进行读写操作的请求,其必须确保实现多进程/多线程并发读写的机制。
[0124]
需要说明的是,基于开源的mapserver平台开发实现wdms服务器,是本发明实施方式的优选方案:基于mapserver开源库实现wdms调度器(wdmsdispatcher),作为网络请求调度器,调度处理wdms和wms等请求;将mapserver提供的地图绘制接口,封装成地图图像渲染器(mapdrawer);以视频拼接器(videomosaicer),作为一种可选的地图数据驱动器;以gdal及其插件作为时空数据驱动器,提供跨进程数据读写机制。
[0125]
具体实现过程如下,
[0126]
如图2所示:
[0127]
s01:获取功能描述文档,所述功能描述文档包括地图数据驱动器的概要描述清单;所述概要描述清单,必须包含地图数据驱动器的唯一名称、元数据列表和所支持的地图数据唯一标识列表,可选包含标题、摘要和关键字列表,其作用是让客户端获知当前服务所包含的驱动、驱动对应的数据以及相关信息。
[0128]
基于wdms协议的getcapabilities操作,在网络地图客户端构建url,通过http协议向http服务器发起请求;http服务器收到请求后,通过cgi协议传递getcapabilities操作的url,向wdms服务器发起请求;wdms服务器解析getcapabilities操作的url,处理该请求;
[0129]
进一步地,在wdms服务器内部处理该getcapabilities操作请求的流程:
[0130]
首先,网络请求调度器(wdmsdispatcher),负责解析getcapabilities操作的url,获得第一请求参数的键值对,并检查服务协议是否为wdms;
[0131]
其次,wdmsdispatcher从当前地图服务的配置文件中,读取getcapabilities操作的第一请求参数;
[0132]
再而,wdmsdispatcher将getcapabilities操作的第一请求参数,默认序列化为xml格式的功能描述文档;
[0133]
最后,wdmsdispatcher将getcapabilities操作请求的功能描述文档,返回给客户端;
[0134]
客户端从getcapabilities操作返回的功能描述文档中,获取所支持的地图数据驱动器的概要描述;所述概要描述,必须包含地图数据驱动器的唯一名称、元数据列表和所支持的地图图层唯一名称列表,可选包含标题、摘要和关键字列表。
[0135]
s02:根据所述地图数据驱动器的概要描述清单,选取特定地图数据驱动器;获取所述特定地图数据驱动器的详细静态描述文档;所述详细静态描述,必须包含地图数据驱动器的唯一名称、元数据列表和所支持的操作以及操作参数的键值对集合,所述键值对的值为默认值,可选包含标题、摘要和关键字列表;
[0136]
基于所述特定地图数据驱动器的概要描述清单,以及wdms协议的describedriver操作,在客户端构建url,通过http协议向http服务器发起请求;http服务器收到请求后,通过cgi协议传递describedriver操作的url,向wdms服务器发起请求;
[0137]
进一步地,在wdms服务器内部处理该describedriver操作的请求:
[0138]
首先,wdmsdispatcher解析describedriver操作的url,获得第二请求参数的键值对,并检查服务协议是否为wdms;
[0139]
其次,wdmsdispatcher从当前地图服务的配置文件中,读取describedriver操作所请求的第二参数;
[0140]
再而,将所述第二参数默认序列化为xml格式的地图数据驱动器的详细静态描述文档,即describedriver操作的响应结果;
[0141]
最后,将describedriver操作请求的详细静态描述文档,返回给客户端。
[0142]
s03:所述客户端根据所述详细静态描述文档,确定所述特定地图数据驱动器配置参数的键值对集合,根据所述键值对集合向所述网络动态地理信息服务器发出参数配置请求,所述网络动态地理信息服务器响应所述参数配置请求,并对所述特定地图数据驱动器进行参数配置;
[0143]
基于所述详细静态描述清单,和wdms协议的putdriver操作,在网络地图的客户端构建url,通过http协议向http服务器发起请求;http服务器收到请求后,通过以cgi协议传递putdriver操作的url,向wdms服务器发起请求;
[0144]
进一步地,在wdms服务器内部处理该putdriver操作的请求:
[0145]
首先,wdmsdispatcher解析putdriver操作的url,获得第三请求参数的键值对,并检查服务协议是否为wdms;
[0146]
其次,wdmsdispatcher将putdriver操作指定的参数配置到特定地图数据驱动器中,并启动所述特定地图数据驱动器;
[0147]
完成配置的地图数据驱动器开始运行,根据自身业务逻辑,按需向gdal发出读写地图原始数据的请求;
[0148]
最后,gdal根据地理空间数据抽象库的读写锁机制,响应特定地图数据驱动器的读写请求,完成地图原始数据的动态更新;
[0149]
s04:网络地图的原始数据动态更新,根据所述动态更新的原始数据渲染出网络动态地图。
[0150]
基于wdms或wms协议的getmap操作,根据实际业务需求(如以25hz频率),在网络地图的客户端构建url,通过http协议向http服务器发起请求;http服务器收到请求后,通过cgi协议传递getmap操作的url,向wdms服务器发起请求;
[0151]
进一步地,在wdms服务器内部处理该getmap操作的请求:
[0152]
首先,wdmsdispatcher解析getmap操作的url,获得第四请求参数的键值对,并检查服务协议是否为wdms或wms;
[0153]
其次,mapdrawer收到请求后,依据自身渲染地图图像的需要,向gdal发出地图原始数据的只读请求;gdal根据地理空间数据抽象库的读写锁机制,响应mapdrawer的只读请求,返回指定参数下的地图原始数据;mapdrawer收到地图原始数据,随即完成指定样式的地图图像渲染,返回给wdmsdispatcher;
[0154]
最后,wdmsdispatcher将getmap操作请求的地图图像,返回给客户端。
[0155]
所述getmap操作复用wms标准,默认根据指定的输出格式,返回地图图像。
[0156]
可选的,客户端向服务器发出获取地图数据驱动器的请求,所述服务器返回地图数据驱动器的详细动态描述文档,所述详细动态描述文档,必须包含地图数据驱动器的唯一名称、元数据列表和所打开的数据源。
[0157]
客户端可以多次执行wdms兼容wms的获取要素信息和获取地图等的操作,或者多
次执行wdms兼容sld wms的描述图层、获取样式、配置样式等操作。
[0158]
实施例二
[0159]
在获取全动态视频的过程中,客户端需要在地图上实时呈现的传感器视场范围,该范围表现为动态变化的矢量数据;在全动态视频中开展ai检测识别时,需要在地图中动态绘制检测结果,这就需要通过ai检测识别单元、矢量数据生成单元、系统控制单元等策略性地交互机制,从数据集(库)动态读写增量式生成的矢量数据,实现了ai检测数据的动态生成与修改,而现有的矢量要素更新方式难以满足浏览器或客户端对于矢量数据的各类动态更新的需求。
[0160]
现有的wfs协议,对于矢量数据的更新,仅能提供基础的增删查改功能,但是遥感数据采集与应用需要丰富的地理要素更新方式支撑,包括但不限于:基于特定算法在区域内生成矢量数据、根据地理信息元数据动态修改矢量数据,因此,需要拓展数据更新方式。
[0161]
本实施例提供一种实现网络动态要素服务的方法及装置,所述装置包括网络动态地理要素服务器(wdfs server)和客户端。
[0162]
其中,wdfs以wfs为基础进行扩展,即wfms兼容性地实现wfs所定义的getcapabilities、describefeaturetype、getfeature、liststorequeries(返回存储在服务器内部的查询列表)和describestorequeries(返回请求参数中引用的存储查询的说明)这5个操作的http接口,同时可选地实现sld wfs定义的getpropertyvalue(返回要素类型指定字段的属性值)、lockfeature(锁定一组要素实例,当在锁定完成时,其他操作都不能修改数据)、getfeaturewithlock(提供与getfeature请求类似的功能,同时具有锁定特性的附加功能)、transaction(返回执行事务请求后的结果描述,一个事务请求包括添加要素、更新要素、替换要素、删除要素操作)、createstoredquery(创建并存储一个查询,客户机可以在稍后的时间点快速轻松地触发该查询)、dropstoredquery(从服务器中删除以前存储的查询)这6个操作的http接口,并扩展地实现了describedriver、getdriver、putdriver这3个操作的http接口;除此之外,wdfs还需要在getcapabilities所返回的服务中,增加数据驱动器的概要描述,以便后续执行describedriver、getdriver和putdriver等操作请求。
[0163]

getcapabilities操作(必选)
[0164]
功能概述:获取功能文档(默认xml格式)。
[0165]
保留字符:
[0166][0167]
标准响应:应该默认返回一个xml格式的服务功能描述文档。
[0168]
基于wms的getcapabilites操作所返回的服务功能描述文档扩展而来,其属于wfs的服务功能描述文档的部分内容参见:
[0169]
http://schemas.opengis.net/wfs/2.0/examples/getcapabilities/getcapabilities_res_01.xml
[0170]
wdfs相对wfs增加的describedriver、getdriver和putdriver这3个操作请求。其扩展的xml描述内容形式如下:
[0171]
[0172][0173]
wdfs相对wfs增加要素数据驱动器的描述,与《operationsmetadata/》、《featuretypelist/》、《filter_capabilities/》等节点并列,其扩展不限于xml描述形式,保留字符如下:
[0174]
[0175][0176]

getfeature操作(必选)
[0177]
功能概述:获取地理要素实例合集。
[0178]
保留字符:
[0179][0180]
标准响应:复用wfs标准,默认根据指定的输出格式,返回地理要素。
[0181]
异常响应:复用wfs标准,略。
[0182]

liststorequeries操作(可选)
[0183]
功能概述:返回存储在服务器内部的查询列表。
[0184]
保留字符:
[0185][0186]
标准响应:复用wfs标准,返回一个xml文档,它显示服务器中存储的每个查询的标识符和名称。
[0187]
异常响应:复用wfs标准,略。
[0188]

describefeaturetype操作(可选)
[0189]
功能概述:返回请求中指定的地理要素类型的结构说明,包括属性。
[0190]
保留字符:
[0191][0192]
标准响应:复用wfs标准,默认返回xml架构定义文档,其中包含指定功能类型的详细描述。
[0193]
异常响应:复用wfs标准,略。
[0194]

describestorequeries操作(可选)
[0195]
功能概述:返回请求参数中引用的存储查询的说明。
[0196]
保留字符:
[0197]
[0198]
标准响应:复用wfs标准,返回一个xml文档,它描述由storedquery_id参数指定的标识符指定的存储查询。
[0199]
异常响应:复用wfs标准,略。
[0200]

describedriver操作(必选)
[0201]
功能概述:获取要素数据驱动器(集)的详细静态描述。
[0202]
保留字符:
[0203][0204][0205]
标准响应:应默认返回一个xml格式的文档,其内容为要素数据驱动器的详细静态描述,包含了通过getcapabilites请求到的驱动的概要描述,同时增加了该驱动无参的action和有参的method等可操作请求的静态描述列表;另外,由wdfs供应商自行确定该驱动可选参数的静态描述。要素数据驱动器的详细静态描述,包括不限于xml文档形式,保留字符如下:
[0206][0207]

getdriver操作(必选)
[0208]
功能概述:获取指定的要素数据驱动器(集)的详细动态描述。
[0209]
保留字符:
[0210][0211]
标准响应:应默认返回一个xml格式的文档,其内容为要素数据驱动器的详细动态描述,包含了通过getcapabilites请求到的驱动的概要描述,同时增加了该驱动无参的
action和有参的method等可操作请求的动态描述;另外,由wdfs供应商自行确定该驱动可选参数的动态描述。要素数据驱动器的详细动态描述,包括不限于xml文档形式,保留字符如下:
[0212][0213][0214]

putdriver操作(必选)
[0215]
功能概述:配置指定的要素数据驱动。
[0216]
保留字符:
[0217][0218]
标准响应:应默认返回一个xml格式的文档,其内容形式与getdriver操作响应后返回的完全相同,即返回完成配置后的要素数据驱动的详细动态描述。
[0219]
异常响应:参考wfs标准,略。
[0220]

getpropertyvalue、getfeaturewithlock、lockfeature、transaction、createstoredquery、dropstoredquery等操作(仅sld wfs)
[0221]
各维度定义皆同于sld wfs,wdfs直接继承sld wfs不做修改,故略。
[0222]
wdfs是一种web service的具体实现。web service是由网络浏览器/客户端(web browser/client)、超文本传输协议服务器(http server)、通用网关接口程序(cgi program)和数据集/数据库(dataset/database)等部分组成的;当具体实现为wdfs时,则将通用网关接口程序具体实现为wdfs服务器(wdfs server);特别地,所述wdfs服务器至少包含一个要素数据驱动(feature data driver)。
[0223]
wdfs提供网络动态地理要素服务的应用程序组件,该组件的核心是实现了一个wdfs服务器(wdfs server);该wdfs服务器由网络请求调度器(web request dispatcher)、要素数据驱动器(feature data driver)和时空数据驱动器(spatio-temporal data driver)组成。
[0224]
网络请求调度器:负责解析url中的具体服务类型、操作请求以及操作请求的参数键值对集合,并根据解析出的具体网络服务类型,将请求分发给对应的请求处理模块,例如要素数据驱动器等;当请求处理模块响应了请求之后,还要负责将响应的结果返回给网络浏览器/客户端。
[0225]
要素数据驱动器:负责响应对自身运行状态的请求,同时根据自身实现的业务,独立请求时空数据驱动器对指定矢量数据进行读写操作。
[0226]
时空数据驱动器:负责响应对指定原始矢量数据进行读写操作的请求,其必须确
保实现多进程/多线程并发读写的机制。
[0227]
需要说明的是,基于开源的mapserver平台二次开发实现wdms服务器,是本发明实施方式的优选方案:以增加了wdfs协议解析能力的wdfsdispatcher,作为网络请求调度器;以我司自研的ai检测器(aidetector),作为一种可选的要素数据驱动;以gdal及其插件作为抽象数据驱动器,提供跨进程数据读写机制。
[0228]
具体实现过程如下,如图3所示:
[0229]
s11:获取功能描述文档,所述功能描述文档包括要素数据驱动器的概要描述清单;所述概要描述清单,必须包含要素数据驱动器的唯一名称、元数据列表和所支持的要素数据唯一标识列表,可选包含标题、摘要和关键字列表,其作用是让客户端获知当前服务所包含的驱动、驱动对应的数据以及相关信息。
[0230]
基于wdfs协议的getcapabilities操作,在网络客户端构建url,通过http协议向http服务器发起请求;http服务器收到请求后,通过cgi协议传递getcapabilities操作的url,向wdfs服务器发起请求;wdfs服务器解析getcapabilities操作的url,处理该请求;
[0231]
进一步地,在wdfs服务器内部处理该getcapabilities操作请求的流程:
[0232]
首先,网络请求调度器wdfsdispatcher,负责解析getcapabilities操作的url,获得第一请求参数的键值对,并检查服务协议是否为wdfs;
[0233]
其次,wdfsdispatcher从当前地图服务的配置文件中,读取getcapabilities操作的第一请求参数;
[0234]
再而,wdfsdispatcher将getcapabilities操作的第一请求参数,默认序列化为xfl格式的功能描述文档;
[0235]
最后,wdfsdispatcher将getcapabilities操作请求的功能描述文档,返回给客户端;
[0236]
客户端从getcapabilities操作返回的功能描述文档中,获取所支持的要素数据驱动器的概要描述;所述概要描述,必须包含要素数据驱动器的唯一名称、元数据列表和所支持的要素数据唯一标识列表,可选包含标题、摘要和关键字列表,其作用是让客户端获知当前服务所包含的驱动、驱动对应的数据以及相关信息。
[0237]
s12:根据所述要素数据驱动器的概要描述清单,选取特定要素数据驱动器;获取所述特定要素数据驱动器的详细静态描述文档;所述详细静态描述文档,必须包含要素数据驱动器的唯一名称、元数据列表和所支持的操作以及操作参数的键值对集合,所述键值对的值为默认值,可选包含标题、摘要和关键字列表,其作用是让客户端获知当前服务所包含的驱动对应操作的相关信息。
[0238]
基于所述特定要素数据驱动器的概要描述清单,以及wdfs协议的describedriver操作,在客户端构建url,通过http协议向http服务器发起请求;http服务器收到请求后,通过cgi协议传递describedriver操作的url,向wdfs服务器发起请求;
[0239]
进一步地,在wdfs服务器内部处理该describedriver操作的请求:
[0240]
首先,wdfsdispatcher解析describedriver操作的url,获得第二请求参数的键值对,并检查服务协议是否为wdfs;
[0241]
其次,wdfsdispatcher从当前要素服务的配置文件中,读取describedriver操作所请求的第二参数;
[0242]
再而,将所述第二参数默认序列化为xfl格式的要素数据驱动器的详细静态描述文档,即describedriver操作的响应结果;
[0243]
最后,将describedriver操作请求的详细静态描述文档,返回给客户端。
[0244]
s13:根据所述详细静态描述文档,确定所述指定要素数据驱动器配置参数的键值对,对所述要素数据驱动器进行参数配置,服务器动态更新网络原始矢量数据;
[0245]
具体为:基于所述详细静态描述清单,和wdfs协议的putdriver操作,在网络要素的客户端构建url,通过http协议向http服务器发起请求;http服务器收到请求后,通过以cgi协议传递putdriver操作的url,向wdfs服务器发起请求;
[0246]
进一步地,在wdfs服务器内部处理该putdriver操作的请求:
[0247]
首先,wdfsdispatcher解析putdriver操作的url,获得第三请求参数的键值对,并检查服务协议是否为wdfs;
[0248]
其次,wdfsdispatcher将putdriver操作指定的参数配置到特定要素数据驱动器中,并启动所述特定要素数据驱动器;
[0249]
完成配置的特定要素数据驱动器开始运行,根据自身业务逻辑,按需向gdal发出读写原始矢量数据的请求;
[0250]
最后,gdal根据地理空间数据抽象库的读写锁机制,响应特定要素数据驱动器的读写请求,完成要素原始数据的动态更新;
[0251]
所述putdriver操作是为了配置指定的要素数据驱动器,其标准响应为默认返回一个xml格式的文档,即返回完成配置后的要素数据驱动器的详细动态描述。
[0252]
s14:基于wdfs或wfs协议的getfeature操作,根据实际业务需求(如以25hz频率),在客户端构建url,通过http协议向http服务器发起请求;http服务器收到请求后,通过cgi协议传递getfeature操作的url,向wdfs服务器发起请求。
[0253]
进一步地,在wdfs服务器内部处理该getfeature操作的请求:
[0254]
首先,wdfsdispatcher解析getfeature操作的url,获得第四请求参数的键值对,并检查服务协议是否为wdfs或wfs;
[0255]
其次,wdfsdispatcher根据getfeature操作的第四请求参数,向gdal发出原始矢量数据的只读请求;gdal根据全局的读写锁机制,响应wdfsdispatcher的只读请求,返回第四请求参数下的原始矢量数据;
[0256]
最后,wdfsdispatcher将getfeature操作请求的矢量数据,返回给客户端。
[0257]
可选的,客户端向服务器发出获取要素数据驱动器的请求,所述服务器返回要素数据驱动器的详细动态描述文档;所述详细动态描述文档,必须包含要素数据驱动器的唯一名称、元数据列表和所打开的数据源,其作用是让客户端获知当前服务正在运行的驱动的相关信息。
[0258]
实施例三
[0259]
本实施例通过wms协议与wdfs协议的结合,实现网络动态地图服务,具体实现过程如下,如图4所示:
[0260]
s21:获取功能描述文档,所述功能描述文档包括要素数据驱动器的概要描述清单;
[0261]
基于wdfs协议的getcapabilities操作,在网络客户端构建url,通过http协议向
http服务器发起请求;http服务器收到请求后,通过cgi协议传递getcapabilities操作的url,向wdfs服务器发起请求;wdfs服务器解析getcapabilities操作的url,处理该请求;
[0262]
进一步地,在wdfs服务器内部处理该getcapabilities操作请求的流程:
[0263]
首先,网络请求调度器wdfsdispatcher,负责解析getcapabilities操作的url,获得第一请求参数的键值对,并检查服务协议是否为wdfs;
[0264]
其次,wdfsdispatcher从当前地图服务的配置文件中,读取getcapabilities操作的第一请求参数;
[0265]
再而,wdfsdispatcher将getcapabilities操作的第一请求参数,默认序列化为xfl格式的功能描述文档;
[0266]
最后,wdfsdispatcher将getcapabilities操作请求的功能描述文档,返回给客户端;
[0267]
客户端从getcapabilities操作返回的功能描述文档中,获取所支持的要素数据驱动器中ai检测器(aidetector)的概要描述清单;
[0268]
s22:根据所述要素数据驱动器的概要描述清单,选取特定要素数据驱动器;获取所述特定要素数据驱动器的详细静态描述文档;
[0269]
所述详细静态描述文档,必须包含要素数据驱动器的唯一名称、元数据列表和所支持的操作以及操作参数的键值对集合,所述键值对的值为默认值,可选包含标题、摘要和关键字列表,其作用是让客户端获知当前服务所包含的驱动对应操作的相关信息。
[0270]
基于所述特定要素数据驱动器的概要描述清单,以及wdfs协议的describedriver操作,在客户端构建url,通过http协议向http服务器发起请求;http服务器收到请求后,通过cgi协议传递describedriver操作的url,向wdfs服务器发起请求;
[0271]
进一步地,在wdfs服务器内部处理该describedriver操作的请求:
[0272]
首先,wdfsdispatcher解析describedriver操作的url,获得第二请求参数的键值对,并检查服务协议是否为wdfs;
[0273]
其次,wdfsdispatcher从当前要素服务的配置文件中,读取describedriver操作所请求的第二参数;
[0274]
再而,将所述第二参数默认序列化为xfl格式的要素数据驱动器的详细静态描述文档,即describedriver操作的响应结果;
[0275]
最后,将describedriver操作请求的详细静态描述文档,返回给客户端。
[0276]
s23:根据所述详细静态描述文档,确定所述指定要素数据驱动器配置参数的键值对,对所述要素数据驱动器进行参数配置,服务器动态更新网络原始矢量数据。
[0277]
具体为:基于所述详细静态描述清单,和wdfs协议的putdriver操作,在网络要素的客户端构建url,通过http协议向http服务器发起请求;http服务器收到请求后,通过以cgi协议传递putdriver操作的url,向wdfs服务器发起请求;
[0278]
进一步地,在wdfs服务器内部处理该putdriver操作的请求:
[0279]
首先,wdfsdispatcher解析putdriver操作的url,获得第三请求参数的键值对,并检查服务协议是否为wdfs;
[0280]
其次,wdfsdispatcher将putdriver操作指定的参数配置到特定要素数据驱动器中,并启动所述特定要素数据驱动器;
[0281]
完成配置的特定要素数据驱动器开始运行,根据自身业务逻辑,按需向gdal发出读写原始矢量数据的请求;
[0282]
最后,gdal根据地理空间数据抽象库的读写锁机制,响应特定要素数据驱动器的读写请求,完成要素原始数据的动态更新;
[0283]
所述putdriver操作是为了配置指定的要素数据驱动器,其标准响应为默认返回一个xml格式的文档,即返回完成配置后的要素数据驱动器的详细动态描述。
[0284]
s24:基于wms协议的getcapabilities操作,在网络地图客户端构建url,通过http协议向http服务器发起请求;http服务器收到请求后,通过cgi协议传递getcapabilities操作的url,向地图服务器发起请求;wdfs服务器解析getcapabilities操作的url,处理该请求,并向客户端返回对应的功能描述文档;
[0285]
基于wdfs或wfs协议的getfeature操作,根据实际业务需求,在wms服务器上构建url,通过http协议向http服务器发起请求;http服务器收到请求后,通过cgi协议传递getfeature操作的url,向wdfs服务器发起请求;
[0286]
进一步地,在wdfs服务器内部处理该getfeature操作的请求:
[0287]
首先,wdfsdispatcher解析getfeature操作的url,获得第四请求参数的键值对,并检查服务协议是否为wdfs或wfs,向gdal发出原始矢量数据的只读请求;
[0288]
gdal根据全局的读写锁机制,响应wdfsdispatcher的只读请求,返回第四请求参数下的原始矢量数据;
[0289]
最后,wdfsdispatcher将getfeature操作请求的原始矢量数据,返回给wms服务器。
[0290]
基于wms协议的getmap操作,根据实际业务需求,在网络地图的客户端构建url,通过http协议向http服务器发起请求;http服务器收到请求后,通过cgi协议传递getmap操作的url,向wms服务器发起请求,wms服务器将从wdfs服务器获取到的矢量数据渲染后,将getmap请求的数据返回客户端。
[0291]
实施例四
[0292]
现有技术常基于wcs协议获取数据源,所述数据源为静态数据源,无法表示数据驱动器,也无法对数据源进行更改,更无法满足数据驱动运行时配置和操作等技术需求。也就是说在现有的wcs协议下,获取对应数据源返回的数据都是静态的,这没有办法满足实时生产的数据作为数据源的场景。
[0293]
本实施例提供一种实现网络动态地理场数据服务的方法及装置,所述装置包括网络动态地理场数据服务器(wdcs server)和客户端。
[0294]
wdcs(version=1.0.0)以wcs(version=1.1.0)为基础进行扩展,即wdcs兼容性地实现wcs所定义的getcapabilities、describecoverage和getcoverage这3个操作的http接口,并扩展地实现了describedriver、getdriver和putdriver这3个操作的http接口;除此之外,wdcs还须要在getcapabilities所返回的服务功能描述文档中,罗列出数据驱动器的概要描述,以便后续执行describedriver、getdriver和putdriver等操作请求。
[0295]

getcapabilities操作(必选)
[0296]
功能概述:获取功能文档(默认xml格式)。
[0297]
保留字符:
[0298][0299]
标准响应:应该默认返回一个xml格式的服务功能描述文档。
[0300]
基于wcs的getcapabilites操作所返回的服务功能描述文档扩展而来,其属于wcs的服务功能描述文档的部分内容参见:
[0301]
schemas.opengis.net/wcs/1.1.0/examples/examplecapabilities1.xml;
[0302]
wdcs相对wcs增加的describedriver、getdriver和putdriver这3个操作请求。其扩展的xml描述内容形式如下:
[0303]
[0304][0305]
wdcs相对wcs增加数据驱动器的描述,与《operationsmetadata/》《content/》等节点并列,其扩展不限于xml描述形式,保留字符如下:
[0306][0307]

getcoverage操作(必选)
[0308]
功能概述:获取地理场数据。
[0309]
保留字符:
[0310][0311]
标准响应:复用wcs标准,默认根据指定的输出格式,返回地理场数据。
[0312]
异常响应:复用wcs标准,略。
[0313]

describecoverage操作(可选)
[0314]
功能概述:获取一个或多个场数据的详细的描述文档。
[0315]
保留字符:
[0316][0317]
标准响应:应该默认返回一个xml格式的服务功能描述文档。基于wcs的describecoverage操作所返回的服务功能描述文档扩展而来,其属于wcs的服务功能描述文档的部分内容参见:
[0318]
schemas.opengis.net/wcs/1.1.0/examples/exampledescribecoverage1.xml。
[0319]
异常响应:复用wcs标准,略。
[0320]

describedriver操作(必选)
[0321]
功能概述:获取数据驱动器(集)的详细静态描述。
[0322]
保留字符:
[0323][0324][0325]
标准响应:应默认返回一个xml格式的文档,其内容为数据驱动器的详细静态描述,包含了通过getcapabilities请求到的驱动的概要描述,同时增加了该驱动无参的action和有参的method等可操作请求的静态描述列表;另外,由wdcs供应商自行确定该驱动可选参数的静态描述。数据驱动器的详细静态描述,包括不限于xml文档形式,保留字符如下:
[0326][0327]

getdriver操作(必选)
[0328]
功能概述:获取指定地理场数据驱动器(集)的详细动态描述。
[0329]
保留字符:
[0330][0331]
标准响应:应默认返回一个xml格式的文档,其内容为数据驱动器的详细动态描述,包含了通过getcapabilities请求到的驱动的概要描述,同时增加了该驱动无参的
action和有参的method等可操作请求的动态描述;另外,由wdcs供应商自行确定该驱动可选参数的动态描述。数据驱动器的详细动态描述,包括不限于xml文档形式,保留字符如下:
[0332][0333][0334]

putdriver操作(必选)
[0335]
功能概述:配置指定地理场数据驱动器。
[0336]
保留字符:
[0337]
[0338][0339]
标准响应:应默认返回一个xml格式的文档,其内容形式与getdriver操作响应后返回的完全相同,即返回完成配置后地理场数据驱动器的详细动态描述。
[0340]
异常响应:参考wcs标准,略。
[0341]
wdcs是一种web service的具体实现。web service是由网络浏览器/客户端(web browser/client)、超文本传输协议服务器(http server)、通用网关接口程序(cgi program)和数据集/数据库(dataset/database)等部分组成的;当具体实现为wdcs时,将通用网关接口程序具体实现为wdcs服务器(wdcs server);特别地,所述wdcs服务器至少包含一个地理场数据驱动器(coverage data driver),用以动态更新地理场数据。如此,网络浏览器/客户端通过wdcs协议,便可请求wdcs服务器获取数据或者调用特定地理场数据驱动更改数据,实现了使用动态修改数和获取据源的目的。
[0342]
wdcs提供网络动态地理场数据服务的应用程序组件,该组件的核心是一个实现了wdcs协议的wdcs服务器(wdcs server);该wdcs服务器由网络请求调度器(web request dispatcher)、地理场数据驱动器(coverage data driver)和时空数据驱动器(spatio-temporal data driver)组成。
[0343]
网络请求调度器:负责解析url中的具体服务类型、操作请求以及操作请求的参数键值对集合,并根据解析出的具体网络服务类型,将请求分发给对应的请求处理模块,例如地理场数据驱动器等;当请求处理模块响应了请求之后,还要负责将响应的结果返回给客户端。
[0344]
地理场数据驱动器:负责响应对自身运行状态的请求,同时根据自身实现的业务,独立请求时空数据驱动器对指定地理场数据的原始数据进行读写操作。
[0345]
时空数据驱动器:负责响应对指定原始地理场数据进行读写操作的请求,其必须确保实现多进程/多线程并发读写的机制。
[0346]
其中,基于开源的mapsever平台二次开发实现wdcs服务器,是本发明实施方式的优选方案:以增加wdcs协议解析能力的wdcsdispatcher服务程序,作为网络请求调度器;以我司自研的图像拼接器(imagemosaicer),作为一种可选的地理场数据驱动器;以gdal作为时空数据驱动器,提供跨进程数据读写机制。
[0347]
具体实现过程如下,如图5所示:
[0348]
s31:获取功能描述文档,所述功能描述文档包括地理场数据驱动器的概要描述清单;所述概要描述清单,必须包含地理场数据驱动器的唯一名称、元数据列表和所支持的地理场数据唯一标识列表,可选包含标题、摘要和关键字列表,其作用是让客户端获知当前服
务所包含的驱动、驱动对应的数据以及相关信息。
[0349]
基于wdcs协议的getcapabilities操作,在网络客户端构建url,通过http协议向http服务器发起请求;http服务器收到请求后,通过cgi协议传递getcapabilities操作的url,向wdcs服务器发起请求;wdcs服务器解析getcapabilities操作的url,处理该请求;
[0350]
进一步地,在wdcs服务器内部处理该getcapabilities操作请求的流程:
[0351]
首先,网络请求调度器wdcsdispatcher,负责解析getcapabilities操作的url,获得第一请求参数的键值对,并检查服务协议是否为wdcs;
[0352]
其次,wdcsdispatcher从当前地图服务的配置文件中,读取getcapabilities操作的第一请求参数;
[0353]
再而,wdcsdispatcher将getcapabilities操作的第一请求参数,默认序列化为xml格式的功能描述文档;
[0354]
最后,wdcsdispatcher将getcapabilities操作请求的功能描述文档,返回给客户端;
[0355]
客户端从getcapabilities操作返回的功能描述文档中,获取所支持的地理场数据驱动器的概要描述清单;所述概要描述清单,必须包含地理场数据驱动器的唯一名称、元数据列表和所支持的地理场数据唯一标识列表,可选包含标题、摘要和关键字列表,其作用是让客户端获知当前服务所包含的驱动、驱动对应的数据以及相关信息。
[0356]
s32:根据所述地理场数据驱动器的概要描述清单,选取特定地理场数据驱动器;获取所述特定地理场数据驱动器的详细静态描述文档;
[0357]
所述详细静态描述文档,必须包含地理场数据驱动器的唯一名称、元数据列表和所支持的操作以及操作参数的键值对集合,所述键值对的值为默认值,可选包含标题、摘要和关键字列表,其作用是让客户端获知当前服务所包含的驱动对应操作的相关信息。
[0358]
基于所述特定地理场数据驱动器的概要描述清单,以及wdcs协议的describedriver操作,在客户端构建url,通过http协议向http服务器发起请求;http服务器收到请求后,通过cgi协议传递describedriver操作的url,向wdcs服务器发起请求;
[0359]
进一步地,在wdcs服务器内部处理该describedriver操作的请求:
[0360]
首先,wdcsdispatcher解析describedriver操作的url,获得第二请求参数的键值对,并检查服务协议是否为wdcs;
[0361]
其次,wdcsdispatcher从当前地理场服务的配置文件中,读取describedriver操作所请求的第二参数;
[0362]
再而,将所述第二参数默认序列化为xml格式的地理场数据驱动器的详细静态描述文档,即describedriver操作的响应结果;
[0363]
最后,将describedriver操作请求的详细静态描述文档,返回给客户端。
[0364]
s33:根据所述详细静态描述文档,确定所述指定地理场数据驱动器配置参数的键值对,对所述地理场数据驱动器进行参数配置,服务器动态更新网络地理场数据。
[0365]
具体为:基于所述详细静态描述清单,和wdcs协议的putdriver操作,在网络地理场的客户端构建url,通过http协议向http服务器发起请求;http服务器收到请求后,通过以cgi协议传递putdriver操作的url,向wdcs服务器发起请求;
[0366]
进一步地,在wdcs服务器内部处理该putdriver操作的请求:
[0367]
首先,wdcsdispatcher解析putdriver操作的url,获得第三请求参数的键值对,并检查服务协议是否为wdcs;
[0368]
其次,wdcsdispatcher将putdriver操作的第三请求参数配置到特定地理场数据驱动器中,并启动所述特定地理场数据驱动器;
[0369]
完成配置的特定地理场数据驱动器开始运行,根据自身业务逻辑,按需向gdal发出读写地理场数据的请求;
[0370]
最后,gdal根据地理空间数据抽象库的读写锁机制,响应特定地理场数据驱动器的读写请求,完成原始地理场数据的动态更新;
[0371]
所述putdriver操作是为了配置指定的地理场数据驱动器,其标准响应为默认返回一个xml格式的文档,即返回完成配置后的地理场数据驱动器的详细动态描述。
[0372]
s34:基于wdcs或wcs协议的getcoverage操作,根据实际业务需求(如以25hz频率),在客户端构建url,通过http协议向http服务器发起请求;http服务器收到请求后,通过cgi协议传递getcoverage操作的url,向wdcs服务器发起请求。
[0373]
进一步地,在wdcs服务器内部处理该getcoverage操作的请求:
[0374]
首先,wdcsdispatcher解析getcoverage操作的url,获得第四请求参数的键值对,并检查服务协议是否为wdcs或wcs;
[0375]
其次,wdcsdispatcher根据getcoverage操作的第四请求参数,向gdal发出原始地理场数据的只读请求;gdal根据全局的读写锁机制,响应wdcsdispatcher的只读请求,返回第四请求参数对应的地理场数据;
[0376]
最后,wdcsdispatcher将getcoverage操作请求的地理场数据,返回给客户端。
[0377]
可选的,客户端向服务器发出获取地理场数据驱动器的请求,所述服务器返回地理场数据驱动器的详细动态描述文档;所述详细动态描述文档必须包含地理场数据驱动器的唯一名称、元数据列表和所打开的数据源,其作用是让客户端获知当前服务正在运行的驱动的相关信息。
[0378]
实施例五
[0379]
本实施例通过wms协议与wdcs协议的结合,实现地理场数据网络动态地图服务,具体实现过程如下,如图6所示:
[0380]
s41:获取功能描述文档,所述功能描述文档包括地理场数据驱动器的概要描述清单;
[0381]
基于wdcs协议的getcapabilities操作,在网络地图客户端构建url,通过http协议向http服务器发起请求;http服务器收到请求后,通过cgi协议传递getcapabilities操作的url,向wdcs服务器发起请求;wdcs服务器解析getcapabilities操作的url,处理该请求;
[0382]
进一步地,在wdcs服务器内部处理该getcapabilities操作请求的流程:
[0383]
首先,网络请求调度器wdcsdispatcher,负责解析getcapabilities操作的url,获得第一请求参数的键值对,并检查服务协议是否为wdcs;
[0384]
其次,wdcsdispatcher从当前地图服务的配置文件中,读取getcapabilities操作的第一请求参数;
[0385]
再而,wdcsdispatcher将getcapabilities操作的第一请求参数,默认序列化为
xml格式的功能描述文档;
[0386]
最后,wdcsdispatcher将getcapabilities操作请求的功能描述文档,返回给客户端;
[0387]
客户端从getcapabilities操作返回的功能描述文档中,获取所支持的地理场数据驱动器的概要描述清单;
[0388]
s42:根据所述地理场数据驱动器的概要描述清单,选取特定地理场数据驱动器;获取所述特定地理场数据驱动器的详细静态描述文档;
[0389]
所述详细静态描述文档,必须包含地理场数据驱动器的唯一名称、元数据列表和所支持的操作以及操作参数的键值对集合,所述键值对的值为默认值,可选包含标题、摘要和关键字列表,其作用是让客户端获知当前服务所包含的驱动对应操作的相关信息。
[0390]
基于所述特定地理场数据驱动器的概要描述清单,以及wdcs协议的describedriver操作,在客户端构建url,通过http协议向http服务器发起请求;http服务器收到请求后,通过cgi协议传递describedriver操作的url,向wdcs服务器发起请求;
[0391]
进一步地,在wdcs服务器内部处理该describedriver操作的请求:
[0392]
首先,wdcsdispatcher解析describedriver操作的url,获得第二请求参数的键值对,并检查服务协议是否为wdcs;
[0393]
其次,wdcsdispatcher从当前地理场服务的配置文件中,读取describedriver操作所请求的第二参数;
[0394]
再而,将所述第二参数默认序列化为xml格式的地理场数据驱动器的详细静态描述文档,即describedriver操作的响应结果;
[0395]
最后,将describedriver操作请求的详细静态描述文档,返回给客户端。
[0396]
s43:根据所述详细静态描述文档,确定所述指定地理场数据驱动器配置参数的键值对,对所述地理场数据驱动器进行参数配置,服务器动态更新网络地理场数据。
[0397]
具体为:基于所述详细静态描述清单,和wdcs协议的putdriver操作,在网络地理场的客户端构建url,通过http协议向http服务器发起请求;http服务器收到请求后,通过以cgi协议传递putdriver操作的url,向wdcs服务器发起请求;
[0398]
进一步地,在wdcs服务器内部处理该putdriver操作的请求:
[0399]
首先,wdcsdispatcher解析putdriver操作的url,获得第三请求参数的键值对,并检查服务协议是否为wdcs;
[0400]
其次,wdcsdispatcher将putdriver操作的第三请求参数配置到特定地理场数据驱动器中,并启动所述特定地理场数据驱动器;
[0401]
完成配置的特定地理场数据驱动器开始运行,根据自身业务逻辑,按需向gdal发出读写原始矢量数据的请求;
[0402]
最后,gdal根据地理空间数据抽象库的读写锁机制,响应特定地理场数据驱动器的读写请求,完成原始地理场数据的动态更新;
[0403]
所述putdriver操作是为了配置指定的地理场数据驱动器,其标准响应为默认返回一个xml格式的文档,即返回完成配置后的地理场数据驱动器的详细动态描述。
[0404]
s44:基于wms协议的getcapabilities操作,在网络地图客户端构建url,通过http协议向http服务器发起请求;http服务器收到请求后,通过cgi协议传递getcapabilities
操作的url,向地图服务器发起请求;wdcs服务器解析getcapabilities操作的url,处理该请求,并向网络地图客户端返回对应的功能描述文档;
[0405]
基于wdcs或wcs协议的getcoverage操作,根据实际业务需求(如以25hz频率),在wms服务器上构建url,通过http协议向http服务器发起请求;http服务器收到请求后,通过cgi协议传递getcoverage操作的url,向wdcs服务器发起请求;
[0406]
进一步地,在wdcs服务器内部处理该getcoverage操作的请求:
[0407]
首先,wdcsdispatcher解析getcoverage操作的url,获得第四请求参数的键值对,并检查服务协议是否为wdcs或wcs,向gdal发出原始地理场数据的只读请求;gdal根据全局的读写锁机制,响应wdcsdispatcher的只读请求,返回第四请求参数对应的原始地理场数据;
[0408]
最后,wdcsdispatcher将getcoverage操作请求的地理场数据,返回给wms服务器。
[0409]
基于wms协议的getmap操作,根据实际业务需求(如以25hz频率),在网络地图客户端构建url,通过http协议向http服务器发起请求;http服务器收到请求后,通过cgi协议传递getmap操作的url,向wms服务器发起请求,wms服务器将从wdcs服务器获取到的地理场数据渲染后,将getmap请求的数据返回网络地图客户端,此时网络地图客户端就可以实时显示地理场数据,从而实现网络地图服务中栅格地图的动态服务。
[0410]
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0411]
以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术专利的保护范围应以所附权利要求为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献