CN110928901A - 基于MapServer服务协议的图层联合查询方法、设备及存储设备 - Google Patents
基于MapServer服务协议的图层联合查询方法、设备及存储设备 Download PDFInfo
- Publication number
- CN110928901A CN110928901A CN201911027725.9A CN201911027725A CN110928901A CN 110928901 A CN110928901 A CN 110928901A CN 201911027725 A CN201911027725 A CN 201911027725A CN 110928901 A CN110928901 A CN 110928901A
- Authority
- CN
- China
- Prior art keywords
- query
- layer
- condition
- mapserver
- oids
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
- G06F16/24534—Query rewriting; Transformation
- G06F16/24549—Run-time optimisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/29—Geographical information databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9537—Spatial or temporal dependent retrieval, e.g. spatiotemporal queries
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Remote Sensing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种基于MapServer服务协议的图层联合查询方法、设备及存储设备,其方法包括:综合分析MapServer协议各查询接口的特点基础上,仅在客户端运行环境下,即可实现多图层联合查询、并实现数据分页获取的机制。一种基于MapServer服务协议的图层联合查询设备及存储设备,用于实现一种基于MapServer服务协议的图层联合查询方法。本发明的有益效果是:在查询方式上,输入一次查询条件,就能获取多个图层的查询结果;查询结果能够根据页数和页码,实现分页异步查询,提升客户端响应效率,避免一次查询返回全部数据,造成***缓慢。
Description
技术领域
本发明涉及大数据查询领域,尤其涉及一种基于MapServer服务协议的图层联合查询方法、设备及存储设备。
背景技术
在基于Web GIS平台的***应用中,其技术架构为三个层次:客户端交互层、服务应用层和数据存储层。
在数据存储方面,GIS数据往往存储在企业级地理数据库中,以矢量数据(点、线、面)和影像栅格等GIS数据格式存储。在服务应用层方面,现有成熟的GIS平台都以服务中间件作为载体,将空间数据库中的GIS数据作为标准地图服务发布出来,那么根据应用场景的不同,服务的通讯协议又细分为WMTS、WMS、WFS、MapServer等等。客户端交互层往往运行在客户机,可以是PC机、平板、手机等,以Web网页、轻量的APP作为应用形态,提供满足用户个性化要求的业务***。
在上述架构下,数据存储层、服务应用层往往体现出规模集中化的特点,其运行的基础设施环境较好,能提供高速宽带和强劲的硬件能力。相反,客户端交互层运行在客户机电脑或者移动设备上,***运行效率受客户机的软硬件、网络带宽的影响较大。为此,在GIS空间数据库分层结构、地图服务使用标准协议的情况下,优化客户端***的获取数据的方法和手段,能显著提升***的运行效率。
数据分页:一种为了提升客户端响应速度的数据获取方法,能显著提升客户端响应效率的程序设计思路。在数据检索时,除了输入查询条件外,还需要输入期望查询到第几页的信息,每一页的信息量。这种设计思路能快速加载查询结果,其他信息则以索引表的形式放到内存中,当用户需要查阅特定页时,***异步获取该页数据的明细。
在基于MapServer协议查询方法下,有两种接口可实现多个图层的数据联合检索的能力,Identify、Find。这两种接口的特点是,Identify输入条件为按范围查询,每次查询返回所有匹配的数据,无法数据分页;Find支持按属性条件联查,每次查询返回所有匹配的数据,无法数据分页。这两种查询方法的缺点都在于,当查询目标图层存在大量数据满足查询条件时,服务层会将所有符合条件的结果直接推送到客户端。造成因数据传输量大、受网络带宽影响造成异步响应慢,以及客户端在解析大量数据结构造成的***运行卡顿甚至假死。
此外,在MapServer协议下,实现了Query查询接口,能够支持属性或者空间范围组合查询,可支持仅返回图形的属性索引,能够实现单一的图层分页逻辑。存在的问题是该接口仅支持单一图层查询,无法满足多图层联合查询的要求。
发明内容
为了解决上述问题,本发明提供了一种基于MapServer服务协议的图层联合查询方法,综合分析MapServer协议各查询接口的特点基础上,仅在客户端运行环境下,即可实现多图层联合查询、并实现数据分页获取的机制;
一种基于MapServer服务协议的图层联合查询方法,主要包括:
S101:接收用户输入的查询条件;所述查询条件包括查询涉及图层的数量N和用户在地图上绘制的一个任意范围geometry;
S102:根据所述查询条件,构建内部数据结构,并对所述内部数据结构进行预处理,进而构建内部数据结构对象,为后续操作过程所产生的中间数据提供存储;
S103:根据所述内部数据结构对象,采用MapServer的Query接口获取所述查询条件中的N个图层中每个图层的服务元数据;并解析各个图层的服务元数据,以获取各个图层对应的索引字段ObjectID,进而将N个图层所对应的N个ObjectID存储至所述内部数据结构对象中的自定义字符串ObjectIDFieldName中;
S104:根据所述内部数据结构对象中的空间过滤条件和与各图层相匹配的属性筛选条件,采用MapServer的Query接口获取各图层下满足查询条件的OIDs,并将获取的N个图层对应的N个OIDs存放至一个自定义的大集合CollectionAll中;其中,所述OIDs为OID数组,每个OID数组中包括多个OID值,每个OID值代表一个满足所述查询条件的记录;
S105:根据所述内部数据结构中的页码号条件和每页结果项数量,从所述大集合CollectionAll中计算出符合所述页码号条件的所有图层,进而将符合所述页码号条件的各图层所对应的OIDs组合成目标数据集合CollectionTarget;
S106:根据所述目标数据集合CollectionTarget中的各图层对应的OIDs和所述字符串ObjectIDFieldName中的对应的ObjectID的值,采用Mapserver的Query接口查询满足查询条件的记录的完整信息,并将查询到的所有的记录的完整信息存储至最终数据集合CollectionResult中;
S107:计算所述大集合CollectionAll中所有OIDs的长度之和,并与所述最终数据集合CollectionResult一并放入查询结果对象中,本次查询逻辑完成。
进一步地,步骤S102中,所述内部数据结构为JSON对象,包括需要获取的页码号pageIndex、每一页结果项数量pageItem、查询的空间范围条件spatialFilter、空间关系spatialRelation、图层信息的数组layerInfos;
所述内部数据结构对象也为JSON对象,包括输入的图层对应的查询地址url、图层对应的ObjectID字段ObjectIDFieldName、本次查询条件所符合的ObjectID索引号的数组OIDs、属性过滤条件attributesFilter;另外,空间过滤条件,即Geometry被所有图层所共享,使用全局变量存储。
进一步地,所述空间关系spatialRelation默认为几何相交,所述图层信息的数组layerInfos包含所查询的图层服务地址和属性筛选条件。
进一步地,步骤S103中,获取某个图层对应的索引字段ObjectID的具体方法如下:
根据所述内部数据结构对象,采用MapServer的Query接口获取该图层的服务元数据,并从所述服务元数据中筛选出字段类型标识为ObjectIDFieldType的字段名,即为索引字段ObjectID,并将其放入自定义的字符串ObjectIDFieldName中进行存储。
进一步地,步骤S104中,所述空间过滤条件即为用户在地图上绘制的一个任意范围geometry;所述属性筛选条件作为扩展参数,默认以1=1作为条件,即默认情况下未设置任何属性条件。
进一步地,步骤S105中,根据所述内部数据结构中的页码号和每页结果项数量,从所述大集合CollectionAll中计算出符合所述页码号条件的所有图层,进而将符合所述页码号条件的各图层所对应的OIDs组合成目标数据集合CollectionTarget;具体包括如下步骤:
S201:定义以下关键变量:
目标页的索引起点:IndexStart;基于大集合CollectionAll中的结果项搜索游标位置:pOIDIndexCursor;单一图层中检索结果游标的位置currentLayerItemCursor;当前页码结果中已经填充的结果项的数量:numCurrentFilledItemCount,该值设定不大于目标页的结果项的预期填充数量,初始值为0;剩余填充结果项的数量:numLeftItemCount;输入条件中可获取页码值:PageIndex,取值范围[1,M],其中M为正整数;每一页的结果项数量PageItem,取值范围为[1,N],其中N为正整数;
S202:定义IndexStart=(PageIndex–1)×PageItem;其中,PageIndex>=1;PageItem>1;
遍历内部数据结构对象,从大集合CollectionAll中获取每个图层的OIDs;并判断当前目标图层的OIDs的长度与pOIDIndexCursor之和是否小于IndexStart?若是,则说明当前分页的结果集还未达到起始的取值点,则到步骤S203;否则,到步骤S204;
S203:将pOIDIndexCursor更新为pOIDIndexCursor=pOIDIndexCursor+OIDs.length,以推进搜索游标的位置,并到步骤S206;其中,OIDs.length为当前目标图层的OIDs的长度;
S204:根据下式计算当前图层的检索游标起始位置currentLayerItemCursor和剩余填充结果项的数量numLeftItemCount:
currentLayerItemCursor=(IndexStart+numCurrentFilledItemCount-pOIDIndexCursor)
numLeftItemCount=PageItem–numCurrentFilledItemCount;
并基于当前图层的检索结果游标的起始位置和剩余填充结果项的数量,从当前图层的OIDs中,以currentLayerItemCursor为起始索引,获取numLeftItemCount数量的OID值,numCurrentFilledItemCount数量增加获取的OID值的长度值;
将结果并入到目标数据集合CollectionTarget;所述结果为前文所述的以currentLayerItemCursor为起始索引,获取的numLeftItemCount数量的OID值;
S205:判断目标数据集合CollectionTarget的数据长度是否小于PageItem?若是,则到步骤S206;否则,到步骤S207;
S206:返回步骤S204,以继续遍历下一图层;
S207:目标分页对应结果的索引值搜索完成。
一种计算机可读存储介质,所述计算机可读存储介质存储指令及数据用于实现一种基于MapServer服务协议的图层联合查询方法。
一种基于MapServer服务协议的图层联合查询设备,包括:处理器及所述存储设备;所述处理器加载并执行所述存储设备中的指令及数据用于实现一种基于MapServer服务协议的图层联合查询方法。
本发明提供的技术方案带来的有益效果是:本发明所提出的技术方案主要包括以下两个优点:
(1)当数据库GIS数据图层结构已经固定,且数据服务由标准的MapServer平台发布出来时,在查询结构能力不足的情况下,能够满足多图层联合查询的分页性能,提升应用层的灵活度,减少单次查询的压力,显著提升***性能;
(2)该优化方法计算复杂度低,广泛适用于Web浏览器脚本、移动应用APP;也可在服务端编码实现,作为MapServer协议查询接口的补充。
附图说明
下面将结合附图及实施例对本发明作进一步说明,附图中:
图1是本发明实施例中一种基于MapServer服务协议的图层联合查询方法的流程图;
图2是本发明实施例中查询核心逻辑的主要流程的示意图;
图3是本发明实施例中硬件设备工作的示意图。
具体实施方式
为了对本发明的技术特征、目的和效果有更加清楚的理解,现对照附图详细说明本发明的具体实施方式。
本发明的实施例提供了一种基于MapServer服务协议的图层联合查询方法、设备及存储设备。
请参考图1,图1是本发明实施例中一种基于MapServer服务协议的图层联合查询方法的流程图,具体包括如下步骤:
S101:接收用户输入的查询条件;所述查询条件包括查询涉及图层的数量N和用户在地图上绘制的一个任意范围geometry;(该空间范围也可以通过其他方式,如:通过地图服务器的查询结果或者用户在客户端上传空间图形文件,经过规则解析后均能得到geometry)
S102:根据所述查询条件,构建内部数据结构,并对所述内部数据结构进行预处理,进而构建内部数据结构对象,为后续操作过程所产生的中间数据提供存储;
S103:根据所述内部数据结构对象,采用MapServer的Query接口获取所述查询条件中的N个图层中每个图层的服务元数据;并解析各个图层的服务元数据,以获取各个图层对应的索引字段ObjectID,进而将N个图层所对应的N个ObjectID存储至所述内部数据结构对象中的自定义字符串ObjectIDFieldName中;
S104:根据所述内部数据结构对象中的空间过滤条件和与各图层相匹配的属性筛选条件,采用MapServer的Query接口获取各图层下满足查询条件的OIDs,并将获取的N个图层对应的N个OIDs存放至一个自定义的大集合CollectionAll中;其中,所述OIDs为OID数组,每个OID数组中包括多个OID值,每个OID值代表一个满足所述查询条件的记录;
S105:根据所述内部数据结构中的页码号条件和每页结果项数量,从所述大集合CollectionAll中计算出符合所述页码号条件的所有图层,进而将符合所述页码号条件的各图层所对应的OIDs组合成目标数据集合CollectionTarget;
S106:根据所述目标数据集合CollectionTarget中的各图层对应的OIDs和所述字符串ObjectIDFieldName中的对应的ObjectID的值,采用Mapserver的Query接口查询满足查询条件的记录的完整信息,并将查询到的所有的记录的完整信息存储至最终数据集合CollectionResult中;
S107:计算所述大集合CollectionAll中所有OIDs的长度之和,并与所述最终数据集合CollectionResult一并放入查询结果对象中,本次查询逻辑完成。
步骤S101中,N的取值范围为[1,n];其中,n为已经接入的服务的实际数量。
步骤S102中,所述内部数据结构为JSON对象,包括需要获取的页码号pageIndex、每一页结果项数量pageItem、查询的空间范围条件spatialFilter、空间关系spatialRelation、图层信息的数组layerInfos;
所述内部数据结构对象也为JSON对象,包括输入的图层对应的查询地址url、图层对应的ObjectID字段ObjectIDFieldName、本次查询条件所符合的ObjectID索引号的数组OIDs、属性过滤条件attributesFilter;另外,空间过滤条件,即Geometry被所有图层所共享,使用全局变量存储。
所述空间关系spatialRelation默认为几何相交,所述图层信息的数组layerInfos包含所查询的图层服务地址和属性筛选条件。
步骤S103中,获取某个图层对应的索引字段ObjectID的具体方法如下:
根据所述内部数据结构对象,采用MapServer的Query接口获取该图层的服务元数据,并从所述服务元数据中筛选出字段类型标识为ObjectIDFieldType的字段名,即为索引字段ObjectID,并将其放入自定义的字符串ObjectIDFieldName中进行存储。
步骤S104中,所述空间过滤条件即为用户在地图上绘制的一个任意范围geometry;所述属性筛选条件作为扩展参数,默认以1=1作为条件,即默认情况下未设置任何属性条件,该设计也可用于扩展自定义的属性筛选条件。
步骤S105中,根据所述内部数据结构中的页码号和每页结果项数量,从所述大集合CollectionAll中计算出符合所述页码号条件的所有图层,进而将符合所述页码号条件的各图层所对应的OIDs组合成目标数据集合CollectionTarget;具体包括如下步骤:
S201:定义以下关键变量:
目标页的索引起点:IndexStart;基于大集合CollectionAll中的结果项搜索游标位置:pOIDIndexCursor(pOIDIndexCursor≥0);单一图层中检索结果游标的位置currentLayerItemCursor(currentLayerItemCursor>0);当前页码结果中已经填充的结果项的数量:numCurrentFilledItemCount(0≤numCurrentFilledItemCount≤PageItem),该值设定不大于目标页的结果项的预期填充数量(初始值为0);剩余填充结果项的数量:numLeftItemCount(numLeftItemCount=PageItem-numCurrentFilledItemCount);输入条件中可获取页码值:PageIndex,取值范围[1,M],其中M为正整数;每一页的结果项数量PageItem,取值范围为[1,N],其中N为正整数;
S202:定义IndexStart=(PageIndex–1)×PageItem;其中,PageIndex≥1;PageItem>1;故IndexStart≥0;
遍历内部数据结构对象,从大集合CollectionAll中获取每个图层的OIDs;并判断当前目标图层的OIDs的长度与pOIDIndexCursor之和是否小于IndexStart?若是,则说明当前分页的结果集还未达到起始的取值点,则到步骤S203;否则,到步骤S204;
S203:将pOIDIndexCursor更新为pOIDIndexCursor=pOIDIndexCursor+OIDs.length,以推进搜索游标的位置,并到步骤S206;其中,OIDs.length为当前目标图层的OIDs的长度;
S204:根据下式计算当前图层的检索游标起始位置currentLayerItemCursor和剩余填充结果项的数量numLeftItemCount:
currentLayerItemCursor=(IndexStart+numCurrentFilledItemCount-pOIDIndexCursor)
numLeftItemCount=PageItem–numCurrentFilledItemCount;
并基于当前图层的检索结果游标的起始位置和剩余填充结果项的数量,从当前图层的OIDs中,以currentLayerItemCursor为起始索引,获取numLeftItemCount数量的OID值,numCurrentFilledItemCount数量增加获取的OID值的长度值;
将结果并入到目标数据集合CollectionTarget;所述结果为前文所述的以currentLayerItemCursor为起始索引,获取的numLeftItemCount数量的OID值;
S205:判断目标数据集合CollectionTarget的数据长度是否小于PageItem?若是,则到步骤S206;否则,到步骤S207;
S206:返回步骤S204,以继续遍历下一图层;
S207:目标分页对应结果的索引值(ObjectID)搜索完成。
在本发明实施例中,根据用户输入的查询条件,构建的输入参数结构,即内部数据结构如下:
以上参数结构为JSON对象,pageIndex为需要获取的页码号(1-N);pageItem为每一页的结果项数量;spatialFilter定义为查询的空间范围条件;spatialRelation为定义的空间关系,默认为几何相交;layerInfos为图层信息的数组,包含所查询的图层服务地址和属性筛选条件。
查询核心逻辑的主要流程如图2所示,其中,大集合(CollectionAll)为包含查询结果索引号的全集。
在本发明实施例中,构建的内部数据结构对象具体如下:
其中,url为输入的该图层对应的查询地址,ObjectIDFieldName为该图层对应的ObjectID字段,OIDs为本次查询条件所符合的ObjectID索引号的数组,attributesFilter为属性过滤条件。另外空间过滤条件(Geometry)被所有图层信息所共享,使用全局变量存储。
请参见图3,图3是本发明实施例的硬件设备工作示意图,所述硬件设备具体包括:一种基于MapServer服务协议的图层联合查询设备301、处理器302及存储设备303。
一种基于MapServer服务协议的图层联合查询设备301:所述一种基于MapServer服务协议的图层联合查询设备301实现所述一种基于MapServer服务协议的图层联合查询方法。
处理器302:所述处理器302加载并执行所述存储设备303中的指令及数据用于实现所述一种基于MapServer服务协议的图层联合查询方法。
计算机可读存储介质303:所述计算机可读存储介质303存储指令及数据;所述存储设备303用于实现所述一种基于MapServer服务协议的图层联合查询方法。
本发明的有益效果是:本发明所提出的技术方案主要包括以下两个优点:
(1)当数据库GIS数据图层结构已经固定,且数据服务由标准的MapServer平台发布出来时,在查询结构能力不足的情况下,能够满足多图层联合查询的分页性能,提升应用层的灵活度,减少单次查询的压力,显著提升***性能;
(2)该优化方法计算复杂度低,广泛适用于Web浏览器脚本、移动应用APP;也可在服务端编码实现,作为MapServer协议查询接口的补充。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种基于MapServer服务协议的图层联合查询方法,其特征在于:包括以下步骤:
S101:接收用户输入的查询条件;所述查询条件包括查询涉及图层的数量N和用户在地图上绘制的一个任意范围geometry;
S102:根据所述查询条件,构建内部数据结构,并对所述内部数据结构进行预处理,进而构建内部数据结构对象,为后续操作过程所产生的中间数据提供存储;
S103:根据所述内部数据结构对象,采用MapServer的Query接口获取所述查询条件中的N个图层中每个图层的服务元数据;并解析各个图层的服务元数据,以获取各个图层对应的索引字段ObjectID,进而将N个图层所对应的N个ObjectID存储至所述内部数据结构对象中的自定义字符串ObjectIDFieldName中;
S104:根据所述内部数据结构对象中的空间过滤条件和与各图层相匹配的属性筛选条件,采用MapServer的Query接口获取各图层下满足查询条件的OIDs,并将获取的N个图层对应的N个OIDs存放至一个自定义的大集合CollectionAll中;其中,所述OIDs为OID数组,每个OID数组中包括多个OID值,每个OID值代表一个满足所述查询条件的记录;
S105:根据所述内部数据结构中的页码号条件和每页结果项数量,从所述大集合CollectionAll中计算出符合所述页码号条件的所有图层,进而将符合所述页码号条件的各图层所对应的OIDs组合成目标数据集合CollectionTarget;
S106:根据所述目标数据集合CollectionTarget中的各图层对应的OIDs和所述字符串ObjectIDFieldName中的对应的ObjectID的值,采用Mapserver的Query接口查询满足查询条件的记录的完整信息,并将查询到的所有的记录的完整信息存储至最终数据集合CollectionResult中;
S107:计算所述大集合CollectionAll中所有OIDs的长度之和,并与所述最终数据集合CollectionResult一并放入查询结果对象中,本次查询逻辑完成。
2.如权利要求1所述的一种基于MapServer服务协议的图层联合查询方法,其特征在于:步骤S102中,所述内部数据结构为JSON对象,包括需要获取的页码号pageIndex、每一页结果项数量pageItem、查询的空间范围条件spatialFilter、空间关系spatialRelation、图层信息的数组layerInfos;
所述内部数据结构对象也为JSON对象,包括输入的图层对应的查询地址url、图层对应的ObjectID字段ObjectIDFieldName、本次查询条件所符合的ObjectID索引号的数组OIDs、属性过滤条件attributesFilter;另外,空间过滤条件,即Geometry被所有图层所共享,使用全局变量存储。
3.如权利要求2所述的一种基于MapServer服务协议的图层联合查询方法,其特征在于:所述空间关系spatialRelation默认为几何相交,所述图层信息的数组layerInfos包含所查询的图层服务地址和属性筛选条件。
4.如权利要求1所述的一种基于MapServer服务协议的图层联合查询方法,其特征在于:步骤S103中,获取某个图层对应的索引字段ObjectID的具体方法如下:
根据所述内部数据结构对象,采用MapServer的Query接口获取该图层的服务元数据,并从所述服务元数据中筛选出字段类型标识为ObjectIDFieldType的字段名,即为索引字段ObjectID,并将其放入自定义的字符串ObjectIDFieldName中进行存储。
5.如权利要求1所述的一种基于MapServer服务协议的图层联合查询方法,其特征在于:步骤S104中,所述空间过滤条件即为用户在地图上绘制的一个任意范围geometry;所述属性筛选条件作为扩展参数,默认以1=1作为条件,即默认情况下未设置任何属性条件。
6.如权利要求1所述的一种基于MapServer服务协议的图层联合查询方法,其特征在于:步骤S105中,根据所述内部数据结构中的页码号和每页结果项数量,从所述大集合CollectionAll中计算出符合所述页码号条件的所有图层,进而将符合所述页码号条件的各图层所对应的OIDs组合成目标数据集合CollectionTarget;具体包括如下步骤:
S201:定义以下关键变量:
目标页的索引起点:IndexStart;基于大集合CollectionAll中的结果项搜索游标位置:pOIDIndexCursor;当前图层中检索结果游标的位置currentLayerItemCursor;当前页码结果中已经填充的结果项的数量:numCurrentFilledItemCount,该值设定不大于目标页的结果项的预期填充数量,初始值为0;剩余填充结果项的数量:numLeftItemCount;输入条件中可获取页码值:PageIndex,取值范围[1,M],其中M为正整数;每一页的结果项数量PageItem,取值范围为[1,N],其中N为正整数;
S202:定义IndexStart=(PageIndex–1)×PageItem;其中,PageIndex≥1;PageItem>1;
遍历内部数据结构对象,以从大集合CollectionAll中获取每个图层的OIDs;并判断当前目标图层的OIDs的长度与pOIDIndexCursor之和是否小于IndexStart?若是,则说明当前分页的结果集还未达到起始的取值点,则到步骤S203;否则,到步骤S204;
S203:将pOIDIndexCursor更新为pOIDIndexCursor=pOIDIndexCursor+OIDs.length,以推进搜索游标的位置,并到步骤S206;其中,OIDs.length为当前目标图层的OIDs的长度;
S204:根据下式计算当前图层的检索游标起始位置currentLayerItemCursor和剩余填充结果项的数量numLeftItemCount:
currentLayerItemCursor=(IndexStart+numCurrentFilledItemCount-pOIDIndexCursor)
numLeftItemCount=PageItem–numCurrentFilledItemCount,
并基于当前图层的检索结果游标的起始位置和剩余填充结果项的数量,从当前图层的OIDs中,以currentLayerItemCursor为起始索引,获取numLeftItemCount数量的OID值,numCurrentFilledItemCount数量增加获取的OID值的长度值;
将结果并入到目标数据集合CollectionTarget;所述结果为前文所述的以currentLayerItemCursor为起始索引,获取的numLeftItemCount数量的OID值;
S205:判断目标数据集合CollectionTarget的数据长度是否小于PageItem?若是,则到步骤S206;否则,到步骤S207;
S206:返回步骤S204,以继续遍历下一图层;
S207:目标分页对应结果的索引值搜索完成。
7.一种计算机可读存储介质,其特征在于:所述计算机可读存储介质存储指令及数据用于实现权利要求1~6所述的任意一种基于MapServer服务协议的图层联合查询方法。
8.一种基于MapServer服务协议的图层联合查询设备,其特征在于:包括:处理器及存储设备;所述处理器加载并执行存储设备中的指令及数据用于实现权利要求1~6所述的任意一种基于MapServer服务协议的图层联合查询方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911027725.9A CN110928901B (zh) | 2019-10-28 | 2019-10-28 | 基于MapServer服务协议的图层联合查询方法、设备及存储设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911027725.9A CN110928901B (zh) | 2019-10-28 | 2019-10-28 | 基于MapServer服务协议的图层联合查询方法、设备及存储设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110928901A true CN110928901A (zh) | 2020-03-27 |
CN110928901B CN110928901B (zh) | 2022-05-31 |
Family
ID=69849563
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911027725.9A Active CN110928901B (zh) | 2019-10-28 | 2019-10-28 | 基于MapServer服务协议的图层联合查询方法、设备及存储设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110928901B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112650779A (zh) * | 2021-01-12 | 2021-04-13 | 浪潮云信息技术股份公司 | 一种基于ElasticSearch支持深度跳页查询的云审计方法 |
CN112711646A (zh) * | 2021-01-11 | 2021-04-27 | 中国地质大学(北京) | 基于地学信息的找矿方法及装置、电子设备、存储介质 |
CN112925954A (zh) * | 2021-03-05 | 2021-06-08 | 北京中经惠众科技有限公司 | 用于在图数据库中查询数据的方法和装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080059889A1 (en) * | 2006-09-01 | 2008-03-06 | Cheryl Parker | System and Method of Overlaying and Integrating Data with Geographic Mapping Applications |
CN103886022A (zh) * | 2014-02-24 | 2014-06-25 | 上海上讯信息技术股份有限公司 | 一种基于主键字段进行分页查询的查询设备及其方法 |
CN104298788A (zh) * | 2014-11-13 | 2015-01-21 | 中国建设银行股份有限公司 | 一种分页查询方法和*** |
CN106055668A (zh) * | 2015-12-11 | 2016-10-26 | 中国地质调查局发展研究中心 | 数据与服务混合加载*** |
CN110069556A (zh) * | 2019-03-14 | 2019-07-30 | 武汉众智鸿图科技有限公司 | 一种dwg格式矢量地图服务发布方法及装置 |
CN110119266A (zh) * | 2019-04-30 | 2019-08-13 | 航天恒星科技有限公司 | 一种基于OpenLayers的WebGIS应用开发技术框架 |
-
2019
- 2019-10-28 CN CN201911027725.9A patent/CN110928901B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080059889A1 (en) * | 2006-09-01 | 2008-03-06 | Cheryl Parker | System and Method of Overlaying and Integrating Data with Geographic Mapping Applications |
CN103886022A (zh) * | 2014-02-24 | 2014-06-25 | 上海上讯信息技术股份有限公司 | 一种基于主键字段进行分页查询的查询设备及其方法 |
CN104298788A (zh) * | 2014-11-13 | 2015-01-21 | 中国建设银行股份有限公司 | 一种分页查询方法和*** |
CN106055668A (zh) * | 2015-12-11 | 2016-10-26 | 中国地质调查局发展研究中心 | 数据与服务混合加载*** |
CN110069556A (zh) * | 2019-03-14 | 2019-07-30 | 武汉众智鸿图科技有限公司 | 一种dwg格式矢量地图服务发布方法及装置 |
CN110119266A (zh) * | 2019-04-30 | 2019-08-13 | 航天恒星科技有限公司 | 一种基于OpenLayers的WebGIS应用开发技术框架 |
Non-Patent Citations (3)
Title |
---|
DAI RONG等: "Research on Constructing a Traditional Knowledge Database Information System Based on Arc GIS Server", 《2012 FIFTHINTERNATIONALCONFERENCE ON INTELLIGENT NETWORK AND INTELLIGENT SYSTEM》 * |
李文瑞: "基于WebGIS的采油厂生产运行信息管理***设计与开发", 《中国优秀博硕士学位论文全文数据库(硕士)信息科技辑》 * |
郭利利: "基于ArcGIS Server的综合测绘信息服务***的开发与实现", 《中国优秀博硕士学位论文全文数据库(硕士)基础科学辑》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112711646A (zh) * | 2021-01-11 | 2021-04-27 | 中国地质大学(北京) | 基于地学信息的找矿方法及装置、电子设备、存储介质 |
CN112711646B (zh) * | 2021-01-11 | 2023-05-16 | 中国地质大学(北京) | 基于地学信息的找矿方法及装置、电子设备、存储介质 |
CN112650779A (zh) * | 2021-01-12 | 2021-04-13 | 浪潮云信息技术股份公司 | 一种基于ElasticSearch支持深度跳页查询的云审计方法 |
CN112925954A (zh) * | 2021-03-05 | 2021-06-08 | 北京中经惠众科技有限公司 | 用于在图数据库中查询数据的方法和装置 |
CN112925954B (zh) * | 2021-03-05 | 2024-05-24 | 北京中经惠众科技有限公司 | 用于在图数据库中查询数据的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110928901B (zh) | 2022-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110928901B (zh) | 基于MapServer服务协议的图层联合查询方法、设备及存储设备 | |
US20220400259A1 (en) | Transferring system for huge and high quality images on network and method thereof | |
US10102227B2 (en) | Image-based faceted system and method | |
US20100169326A1 (en) | Method, apparatus and computer program product for providing analysis and visualization of content items association | |
CN107092623B (zh) | 一种兴趣点查询方法及装置 | |
US10275486B2 (en) | Multi-system segmented search processing | |
CN108304585B (zh) | 一种基于空间关键字搜索的结果数据选取方法及相关装置 | |
CN104050213B (zh) | 包括数据分类的查询处理*** | |
US20090125488A1 (en) | Geographic XML database management system | |
CN111506621A (zh) | 一种数据统计方法及装置 | |
CN105760469A (zh) | 云计算环境下基于倒排lsh的高维近似图象检索方法 | |
CN105760468A (zh) | 移动环境下基于倒排位置敏感哈希索引的大规模图象查询*** | |
US9453741B2 (en) | Navigation system with indexed term searching and method of operation thereof | |
CN114356971A (zh) | 数据处理方法、装置以及*** | |
CN114328981A (zh) | 基于模式映射的知识图谱建立和数据获取方法、装置 | |
JP5470082B2 (ja) | 情報蓄積検索方法及び情報蓄積検索プログラム | |
US10817511B2 (en) | Search dimensionality expansion | |
Carlson et al. | Ambient ocean: A web search engine for context-aware smart resource discovery | |
US20040119611A1 (en) | System and method for progressive spatial data service | |
JP5430436B2 (ja) | 情報蓄積検索方法及び情報蓄積検索プログラム | |
CN104699848B (zh) | 受限Web数据库的数据抽取方法及装置 | |
CN116502603A (zh) | 编码方法、设备、***及存储介质 | |
KR100944655B1 (ko) | 비공간정보를 포함하는 데이터 생성장치 및 방법, 그리고 데이터 검색장치 및 방법 | |
CN116737999A (zh) | 一种数据处理方法和装置 | |
JP6065708B2 (ja) | 情報処理方法、装置及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder | ||
CP01 | Change in the name or title of a patent holder |
Address after: 430000 Wuda science and Technology Park, Jiangxia Avenue, Miaoshan District, Donghu Development Zone, Wuhan City, Hubei Province Patentee after: Geospace Information Technology Co.,Ltd. Address before: 430000 Wuda science and Technology Park, Jiangxia Avenue, Miaoshan District, Donghu Development Zone, Wuhan City, Hubei Province Patentee before: WUDA GEOINFORMATICS Co.,Ltd. |