首页> 中国专利> 一种动态地图投影下的网络地图配准及绘制方法

一种动态地图投影下的网络地图配准及绘制方法

摘要

本发明公开了一种动态地图投影下的网络地图配准及绘制方法,首先根据客户端与服务器端的投影类型比较,进行地理范围值投影转换计算;然后利用瓦片地图切割规则和所请求参数,反计算获得需加载的所有瓦片的行列号和地图级别,并采用多个特征点获取得到的瓦片地图误差偏移值对每个瓦片的地理范围值进行误差校正。在下载完每个瓦片时候,利用DES加密算法进行加密,并按顺序保存到一个与此地图瓦片同名的ini格式文件中。待所有所需地图瓦片下载完成后,再解密ini文件,读取到校正后地理范围值等数值,实现每个地图瓦片的绘制。本发明实现了对网络瓦片地图的误差校准后再绘制,大大提高了数据的准确性,增强了数据的可分析性。

著录项

  • 公开/公告号CN103065544A

    专利类型发明专利

  • 公开/公告日2013-04-24

    原文格式PDF

  • 申请/专利权人 江苏省城市规划设计研究院;

    申请/专利号CN201210555879.7

  • 发明设计人 韦胜;

    申请日2012-12-19

  • 分类号G09B29/00(20060101);H04L9/06(20060101);H04L29/06(20060101);H04L29/08(20060101);

  • 代理机构32200 南京经纬专利商标代理有限公司;

  • 代理人朱小兵

  • 地址 210036 江苏省南京市鼓楼区草场门大街88号江苏建设大厦

  • 入库时间 2024-02-19 19:20:08

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2014-08-13

    授权

    授权

  • 2013-05-29

    实质审查的生效 IPC(主分类):G09B29/00 申请日:20121219

    实质审查的生效

  • 2013-04-24

    公开

    公开

说明书

技术领域

本发明涉及大众地图网络发布、城市规划公众参与、不同地理信息整合领域,具体涉 及一种动态地图投影下瓦片地图配准、加密绘制及更新方法。

背景技术

随着网络地图在日常生活中的广泛应用,人们对于网络地图的速度、美观性及时效性 提出了更高的要求,对此,瓦片地图是一种很好的解决方案,如Google在线WEB地图、 中国的天地图WEB版。瓦片地图采用了一种多分辨率层次模型,从瓦片金字塔的底层到 顶层,分辨率越来越低,但表示的地理范围不变。

瓦片地图的制作方法以ESRI公司的ArcGIS软件为例做介绍:

首先用ArcGIS软件对地图数据进行处理,配成需要的图层方案,并保存方案。再用软 件自带功能进行切片,切片过程中选择切片方案,根据所选方案不同,例如金字塔级别不 同,地图切片范围不同等,都会影响到切片的速度。切片之后的数据称为瓦片。每个瓦片 可以按照行列号进行唯一的编号,并具有一个唯一的地图等级属性,即所在的多分辨率层 次模型中某一层数。切割规则一般是将一定区域的地图按层次切割成大小相同的图片,这 个图片一般是正方形,如像素为256×256的png格式图像,这样每个瓦片都会对应一个固 定的地理范围值,如果给定一个地理范围值和所在的层次数,便可以求出所需要的所有瓦 片,并按照所在的行列号进行统计出来。

由于不同的地图服务供应商和政府机构所提供的地图服务的地理参考系不同,地图之 间也存在几何误差。如果用户希望能够快速和高质量地叠加各种不同地图服务,需要解决 地理参考系动态转换及几何误差的问题。

当前,主要是对瓦片地图的发布、更新及缓存处理等方面的研究较多,而对瓦片地图 的几何误差及对每一个瓦片加密的研究工作较少,其中瓦片的加密问题在社会应用中关注 极少,不利于我国在线网络地图的广泛应用。另外实际应用中,客户端往往希望能够在C/S 环境下去访问网络瓦片地图,因为在C/S环境下,用户能够将自身数据和网络瓦片数据很 好地结合,分析的功能也更强大,在处理的速度上也会有大幅度的提升。客户端在需要将 现有的瓦片进行更新时,应当能够提供对所需瓦片的加密更新,且这种加密机制应当尽可 能的涉及到每一个瓦片。

发明内容

本发明所要解决的技术问题是是克服现有技术的不足,提出一种动态地图投影下瓦片 地图配准及绘制方法,以解决网络瓦片地图的几何误差和瓦片地理信息加密和客户端更新 数据的问题,这种方法不仅适用于B/S架构的地图服务,也非常适合于C/S架构的客户端 对网络地图的访问。

本发明为解决上述技术问题采用以下技术方案:

一种动态地图投影下的网络地图配准及绘制方法,包含以下步骤:

步骤1)在客户端,获取并记录当前用户所浏览地图的地理范围值和所采用的地图投 影类型;判断用户所采用地图投影与服务器端地图投影的类型是否一致:

若一致,直接进入步骤2);若不一致,则进行投影转换计算,将用户所请求的地理范 围值转换为在服务器端地图投影下的地理范围值;

步骤2)根据处理后用户所请求的瓦片地图的地理范围,反算出需要在客户端加载的 所有瓦片行号、列号以及相应地图级别;新建一个三维数组,依次将所需瓦片的行号、列 号以及相应地图级别存储起来;

步骤3)在客户端和服务器端的地图上,分别利用n个特征点取误差平均值确定当前 瓦片地图的待校准值,即求取偏移量(Δx,Δy),其中n为自然数;

步骤4)依次遍历步骤2)中的三维数组,以多线程方式下载每个地图瓦片;在每个 地图瓦片下载完成时,为其计算相应的地理范围值,并利用步骤3)中所确定的待校准值 (Δx,Δy)对这个地理范围值进行校准处理,再利用DES加密算法对每个瓦片的地图级别、 行号、列号、校准后的地理范围值以及下载完成时间值进行加密,最终将加密处理后地图 级别、行号、列号、校准后的地理范围值以及下载完成时间值保存到一个与相应地图瓦片 同名的ini格式文件中;

步骤5)下载完所需全部瓦片后,通过解密每个相应ini格式的加密文件,读取到每个 待绘制瓦片的地图级别、行号、列号以及校准后的地理范围值,根据这四个值将地图瓦片 绘制到正确地理位置上。

作为本发明的一种动态地图投影下瓦片地图配准及加密绘制方法的进一步优化方案, 还包括步骤6):当需要更新一定区域和地图级别下的客户端瓦片地图时,对于本地客户端 没有存储的瓦片,需要按步骤1)至4)进行下载;对于本地客户端已有的瓦片,需要将 服务器端相关瓦片最新发布时间与通过步骤5)解密ini文件读取的相关瓦片下载到客户端 时间值比较,如果下载到客户端时间值小于服务器最新发布时间值时,则需要重新下载, 反之则不需要重新下载。

作为本发明的一种动态地图投影下瓦片地图配准及加密绘制方法的进一步优化方案, 步骤3)所述的偏移量(Δx,Δy)的求取步骤包括:

(1)分别获取客户端和服务器端地图的n对特征点,即在客户端选择n个特征点, 再在服务器端地图上寻找到与这n个特征点具有相同位置的点,然后分别计算它们的横坐 标与纵坐标的差值,将所述差值分别表示为(Δx1,Δx2,...,Δxi,...Δxn),(Δy1,Δy2,...,Δyi,...,Δyn);

(2)比较每对特征点值,若出现时,则丢弃该特征点,重新选取另一 个特征点,直至满足其中,i∈n,δ为用户给定的阈值;

(3)确定待校准值(Δx,Δy),即Δx=(Σi=1nΔxi)/n,Δy=(Σi=1nΔyi)/n.

本发明采用以上技术方案与现有技术相比,具有以下技术效果:

1)传统网络瓦片缺乏对几何误差的考虑,致使在数据叠加使用时出现很多错误,分 析结果也产生很大的误差,特别是一些社会经济设计图与实际地图误差较大,给规划设计 和政府决策带来了很大的困难,本发明实现了对网络瓦片地图的误差校准后再绘制,大大 提高了数据的准确性,增强了数据的可分析性。

2)利用ini文件存储地图级别、行列号、已校准后的地理范围以及瓦片下载到客户端 的时间值,并对存储的内容做了加密处理,这样即使离线的瓦片数据包在被窃取后,也很 难投入使用,大大提高了客户端使用瓦片地图的安全性。这种加密处理方式涉及到了每个 具体的瓦片,当在国家层面的使用时,可以推广到按省、市、县设置不同的加密方式,这 样对瓦片地图的加密使用大大提高了安全性。

附图说明

图1是本发明的实施流程示意图;

图2是三维数组瓦存储地图片信息示意图;

图3是多个控制点校准地图示意图;

图4是瓦片信息加密存储示意图。

具体实施方式

下面结合附图对本发明的技术方案做进一步的详细说明:

1)参见附图1,当客户的C/S端请求瓦片地图浏览和下载时,获取并记录当前用户所 浏览地图的地理范围值和所采用的地图投影类型;判断用户所采用地图投影与服务器端地 图投影的类型是否一致,若不一致,则进行投影转换计算,将用户所请求的地理范围值转 换为在服务器端地图投影下的地理范围值;若一致,则不对用户所请求的地理范围进行投 影转换计算;例如:用户所采用的地图投影为高斯—克吕克投影,而服务器端所采用的地 图投影类型为WEB墨卡托投影,则需要通过投影转换计算,将用户所请求显示的地理范 围值转换为WEB在墨卡托投影下的地理范围值。

2)根据处理后用户所请求的地理范围,反算出需要在客户端加载的所有瓦片行号、 列号以及相应地图级别。不同的瓦片地图系统可能具有不同的瓦片切割规则,但只需要根 据瓦片的切割规则(如每个瓦片的大小为256×256像素、每个瓦片地图的级别所对应的地 图比例尺范围等),便可以将指定地图级别和地理范围内所需瓦片反算出来。参见附图2, 新建一个三维数组,依次将所需瓦片的行号、列号以及相应地图级别存储起来。

3)参见附图3,本实施例中n个控制点(特征点)取4个,具体步骤包括:

①在客户端选择4个易于分辨的控制点,再在服务器端地图上寻找到与这4个控制点 具有相同位置的点,分别计算这4对控制点的横坐标与纵坐标的差值,这些差值可表示为 (Δx1,Δx2,Δx3,Δx4),(Δy1,Δy2,Δy3,Δy4);其中,服务器端地图的控制点可以通过服务器端 地图的WEB在线版或者人工请求询问的方式获得。

②比较每对控制点距离值,若出现时,则重新选取此控制点,直至满 足其中,i=1,2,3,4,δ为用户给定的阈值。

③确定待校准值(Δx,Δy),即Δx=(Σi=14Δxi)/4,Δy=(Σi=14Δyi)/4;

4)依次遍历步骤2中的三维数组,以多线程方式下载每个地图瓦片;在每个地图瓦 片下载完成时,为其计算相应的地理范围值,并利用步骤3)中所确定的待校准值(Δx,Δy) 对这个地理范围值进行校准处理,再利用DES加密算法对每个瓦片的地图级别、行号、列 号、校准后的地理范围值以及下载完成时间值进行加密,最终将加密处理后地图级别、行 号、列号、校准后的地理范围值以及下载完成时间值依次保存到一个与地图瓦片同名的ini 格式文件中,参见附图3。

5)下载完所需全部瓦片后,通过解密每个相应ini格式的加密文件,读取到每个待绘 制瓦片的地图级别、行号、列号以及校准后的地理范围值,根据这四个值可以将地图瓦片 绘制到正确地理位置上;例如,基于ESRI公司的ArcEngine组件的C/S客户端软件,只 需要知道每个瓦片的地理范围,便可以很容易将其正确的绘制在图形界面上。

6)当需要更新一定区域和地图级别下的客户端瓦片地图时,本地客户端没有存储的 瓦片需要按步骤1)至4)进行下载,本地已有的瓦片需要将服务器端相关瓦片最新发布 时间与通过解密ini文件读取的相关瓦片下载到客户端时间值比较,如果下载到客户端时 间值小于服务器最新发布时间值时,则需要重新下载,反之则不需要重新下载。具体在实 施更新时,客户端首先确定一个地图级别数和一个地理范围值,根据这两个参数反计算得 到所有的瓦片行列号并以.NET中集合的形式存储起来,遍历集合中的所有瓦片:如果遍历 中某个瓦片在本地没有存储,则按步骤1)至4)下载到本地;如果本地已经拥有这个瓦 片,则通过解密与此瓦片相关ini文件读取到其下载至客户端时间值并与服务器最新发布 此瓦片的时间值比较,若下载到客户端时间值小于服务器最新发布时间值时,则需要重新 下载,反之则不需要重新下载。

以上只是对于本发明技术方案的一个简单示例,本领域技术人员在本发明实施例的基 础上对本发明的方案所进行的任何等效替换和变形,都应属于本发明公开的范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号