一种依行政区边界的高适应性地图服务动态拆分方法技术

技术编号:32357471 阅读:17 留言:0更新日期:2022-02-20 03:19
本发明专利技术公开一种依行政区边界的高适应性地图服务动态拆分方法,包括:

【技术实现步骤摘要】
一种依行政区边界的高适应性地图服务动态拆分方法


[0001]本专利技术属于电子信息
,具体涉及地理信息系统中地图服务动态拆分方法。

技术介绍

[0002]随着地理信息产业的快速成熟发展,新的需求抛出各种新的挑战,网络地理信息不断体现出其自身的优势,在地理信息应用中发挥着不可或缺的作用,为空间查询、空间定位、路径规划等系列快捷服务提供强力支撑。各行业领域信息化程度的不断加深,在日常地理信息应用当中,以信息服务的便捷效能与安全保障的趋向为需求,突出信息服务按需化和数据服务优质化的要求,各信息服务领域需打破现有技术壁垒,突破功能限制以满足快捷安全的服务需求。在政府部门日常信息化办公过程中,为了保证数据安全性,通常按照权力级别、所属辖区等限制业务人员在系统中浏览数据的权限。空间数据多通过地图服务的方式集成至系统进行前端展示。为了限制不同行政区人员所见空间数据范围,通常对空间数据地图服务按行政区属性进行过滤展示。此方法适用于含有行政区字段的动态空间数据地图服务,但无法适用于不含行政区属性的动态空间数据地图服务和瓦片地图服务。
[0003]技术方案:本专利技术的一种依行政区边界的高适应性地图服务动态拆分方法,包括如下步骤:
[0004]步骤1、拦截解析代理地址地图图片/瓦片请求:拦截通过前端地图框架加载方法自动生成的地图/瓦片服务请求的代理地址,利用代理地址中的资源id

resourceid查询地图服务元数据信息,获取地图服务真实地址serviceUrl。
[0005]步骤2、地图服务预处理:基于地图服务发送请求所包含的请求参数,依据请求参数和步骤1得到的地图服务真实地址发送地图服务瓦片请求,获得原始加载图片servicePic,并统一为png格式。
[0006]步骤3、计算服务动态参数:基于步骤2中请求参数,提取图片加载范围、图片宽高、坐标系等参数,分析判断服务类型,根据不同服务以及不同的瓦片类型请求,依据其中差异性的参数和不同的动态加载参数构建方式进行动态加载参数的构建。
[0007]步骤4、基于请求参数提取行政区代码regionCode,根据行政区代码regionCode的级别提取行政区服务地址regionUrl,并以此判断行政区服务平台类型,若是ArcGIS服务,则根据行政区代码regionCode,行政区服务的行政区图层serviceLayer以及行政区代码字段regionField,构建行政区过滤条件regionFilter;若为超图服务,则根据服务真实地址serviceUrl请求超图服务的layers接口获取服务图形信息layersInfo,然后在图层信息找到对图层regionLayerInfo,根据图层行政区代码字段regionField构建过滤条件regionFilter。
[0008]步骤5、行政区图片获取:将步骤4获取的行政区过滤条件放入步骤3计算得到的动态加载参数dynamicParams,以dynamicParams为参数发起行政区图片请求,得到行政区图片regionPic。
[0009]步骤6、合成图片,输出结果:根据原始加载图片的宽高构建空白画布,将原始加载图片/瓦片servicePic作为背景图片绘入画布中,给图片合成设置逻辑并依据逻辑规则,将原始加载图片servicePic和行政区图片regionPic进行合成,得到合成图片/瓦片resultPic并输出。
[0010]本专利技术改进了基于属性查询提取行政区范围的方法,良好的解决了基于属性查询中字段缺失或者区域跨域性带来的提取问题,通过设置一定的合成逻辑,将具有针对性地提取的原始地图瓦片和经过过滤条件后的行政区瓦片进行叠合从而达到提取行政区瓦片的能力,实现了数据展示紧随用户权限需求的智能性,进而有效减少了数据浏览压力和前端展示压力,突破了无行政区字段进行数据展示的限制,且具有满足多平台、多服务类型的高适应性要求。
[0011]进一步的,所述步骤1中,通过拦截前端地图框架加载方法自动生成的地图/瓦片服务请求获得代理地址proxyUrl,其中要求请求中必须要有行政区代码参数regionCode,再根据代理地址中的提取资源id

resourceid,依据提取来的资源id

resourceid查询地图服务元数据信息serviceInfo并获取地图服务真实地址serviceUrl。如表1所示,区分于平台和服务类型,拦截的请求类型包含四类。
[0012]进一步的,所述步骤2中,通过地图服务平台发送地图瓦片请求,从请求中提取请求参数serviceParams,根据请求参数serviceParams和步骤1中得到的地图服务真实地址,再次发送地图服务瓦片请求,获得原始加载图片service Pic,并将图片格式统一为png,若图片格式不对,则通过format函数,对非png格式的图片(如jpg)进行格式转换。
[0013]进一步的,所述步骤3中,通过请求参数分析,辨别请求服务类型,根据不同服务以及不同的瓦片类型请求,依据其中差异性的参数和不同的动态加载参数构建方式进行动态加载参数的构建,其中:
[0014](1)针对ArcGIS服务动态图片请求,则将请求参数的加载范围bbox、大小size、坐标系imageSR分别设为动态加载参数的加载范围bounds、图片宽高imageSize、以及坐标系epsgCode,以此构建动态加载参数。
[0015](2)针对ArcGIS服务静态瓦片请求,其中请求地址中包含tile/<level>/<row>/<column>,根据请求地址中的缩放层级level从服务元数据信息serviceInfo中获取坐标系Spatial Reference,瓦片的宽高tileWidth/tileHeight如图1所示,对应级别的地图分辨率resolution(如图3所示),切片原点(originX,originY)(如图4所示)。按照公式1,计算得到瓦片地图范围bounds(左边界x坐标minx,右边界x坐标maxx,下边界y坐标miny,上边界y坐标maxy)。通过坐标系Spatial Reference,范围bounds,瓦片宽高tileWidth/tileHeight构建动态加载参数dymanicParams。
[0016][0017](3)针对超图服务动态图片请求参数,则将请求参数的加载范围viewBounds、图片宽度width、图片高度height、坐标系imageSR分别对应设为动态加载参数的加载范围、图片
宽高、以及坐标系,并以此构建动态加载参数。
[0018](4)针对超图静态瓦片请求,先由请求参数中直接提取得到瓦片宽高width/height和坐标系prjCoordSys等参数信息,再通过serviceInfo元数据信息获取坐标系单位coordUnit如图5,以及坐标系椭球体长半轴axis如图6本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种依行政区边界的高适应性地图服务动态拆分方法,其特征在于:该发明通过后端拦截前端地图加载的请求得到代理地址,进而获得查询元数据信息和服务真实地址来得到原始加载图片,根据服务类型由元数据信息计算动态加载参数和构建过滤条件来获得行政区图片,再设置相应的合成逻辑将原始加载图片和行政区图片进行合成,从而实现依行政区边界的高适应性地图服务动态拆分方法。包括如下步骤:步骤1、拦截解析代理地址地图图片/瓦片请求:拦截通过前端地图框架加载方法自动生成的地图/瓦片服务请求的代理地址proxyUrl,利用代理地址中的资源id

resourceid查询地图服务元数据信息,获取地图服务真实地址serviceUrl。步骤2、地图服务预处理:结合步骤1得到的serviceUrl和拦截的代理地址图片/瓦片请求参数,发送真实地图服务图片/瓦片请求,获得地图服务加载图片servicePic,通过format参数,对非png格式的图片进行格式转换,将servicePic统一为png格式。步骤3、计算服务动态参数:基于步骤2中请求参数,提取图片加载范围、图片宽高、坐标系等参数,分析判断服务类型,根据服务平台及服务类型的不同,依据其中差异性的参数和动态加载参数构建方式进行动态加载参数的构建。步骤4、构建行政区过滤条件regionFilter:基于请求参数提取行政区代码regionCode,根据行政区代码regionCode的级别提取行政区服务地址regionUrl,并以此判断行政区服务平台类型,若是ArcGIS服务,则根据行政区代码regionCode,行政区服务的行政区图层serviceLayer以及行政区代码字段regionField,构建行政区过滤条件regionFilter;若为超图服务,则根据服务真实地址serviceUrl请求超图服务的layers接口获取服务图形信息layersInfo,然后在图层信息找到对图层regionLayerInfo,根据图层行政区代码字段regionField构建过滤条件regionFilter。步骤5、行政区图片获取:将步骤4获取的行政区过滤条件放入步骤3计算得到的动态加载参数dynamicParams,以动态加载参数dynamicParams为参数发起行政区图片请求,得到行政区图片regionPic。步骤6、合成图片,输出结果:根据原始加载图片的宽高构建空白画布,并设置透明度为0。设置图片合成逻辑,即将原始图片透明度设置为不透明,将背景图片置于原始图片上方,合成时保留重叠部分。依据合成逻辑规则,将原始加载图片/瓦片servicePic作为背景图片绘入画布中,将原始加载图片servicePic和行政区图片regionPic进行合成,得到合成图片/瓦片resultPic并输出。2.根据权利要求1所述的依行政区边界的高适应性地图服务动态拆分方法,其特征在于:所述步骤1中,通过拦截前端地图框架加载方法自动生成的地图/瓦片服务请求获得代理地址,其中要求请求中必须要有行政区代码参数regionCode,再根据代理地址中的提取资源id

resourceid,依据提取来的资源id

resourceid查询地图服务元数据信息serviceInfo并获取地图服务真实地址serviceUrl。如表1所示,区分于平台和服务类型,拦截的请求类型包含四类。3.根据权利要求1所述的依行政区边界的高适应性地图服务动态拆分方法,其特征在于:所述步骤2中,基于地图服务平台发送地图瓦片请求,获取请求参数serviceParams,利用serviceParams和服务真实地址serviceUrl发起请求获取原始加载的图片/瓦片servicePic。判断请求到的原始图片/瓦片servicePic是否是png格式,若不是,将图片格式
转换为png格式。4.根据权利要求1所述的依行政区边界的高适应性地图服务动态拆分方法,其特征在于:所述步骤3中,基于步骤2中请求参数,提取图片加载范围、图片宽高、坐标系等参数,分析判断服务类型,根据服务平台及服务类型的不同,依据其中差异性的参数和动态加载参数构建方式进行动态加载参数的构建,其中:(4.1)针对ArcGIS服务动态图片请求,将请求参数的加载范围bbox、大小size、坐标系imageSR分别设为动态加载参数的加载范围bounds、图片宽高imageSize、以及坐标系epsgCode,以此构建动态加载参数。(4.2)针对ArcGIS服务静态瓦片请求,其中请求地址中包含tile/<level>/<row>/<column>,根据请求地址中的缩放层...

【专利技术属性】
技术研发人员:周海洋汪洋柯红军唐华
申请(专利权)人:南京市国土资源信息中心
类型:发明
国别省市:

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

1