CN114661839B - 一种基于瓦片的轨迹地图的展示方法、装置、介质和设备 - Google Patents

一种基于瓦片的轨迹地图的展示方法、装置、介质和设备 Download PDF

Info

Publication number
CN114661839B
CN114661839B CN202210033892.XA CN202210033892A CN114661839B CN 114661839 B CN114661839 B CN 114661839B CN 202210033892 A CN202210033892 A CN 202210033892A CN 114661839 B CN114661839 B CN 114661839B
Authority
CN
China
Prior art keywords
map
tile
obtaining
size
screen display
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.)
Active
Application number
CN202210033892.XA
Other languages
English (en)
Other versions
CN114661839A (zh
Inventor
李欣玥
唐秀媛
李博
汪静
晁磊
程建宇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
32200 Troops Of Chinese Pla
Original Assignee
32200 Troops Of Chinese Pla
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 32200 Troops Of Chinese Pla filed Critical 32200 Troops Of Chinese Pla
Priority to CN202210033892.XA priority Critical patent/CN114661839B/zh
Publication of CN114661839A publication Critical patent/CN114661839A/zh
Application granted granted Critical
Publication of CN114661839B publication Critical patent/CN114661839B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/29Geographical information databases

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Remote Sensing (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本发明涉及提出了一种基于瓦片的轨迹地图的展示方法和装置,包括利用待展示地图的尺寸、屏幕显示尺寸和地图瓦片数量,得到瓦片显示尺寸,并根据瓦片显示尺寸和比例尺,得到地图级别;基于几何中心点坐标和地图级别,得到屏幕显示地图区域,通过屏幕显示地图区域、几何中心点坐标、地图级别和瓦片显示尺寸,得到待展示地图对应的瓦片地图;将轨迹范围与瓦片地图中的道路信息进行匹配得到轨迹地图。本发明在进行采集数据分类计算、地图绘制和做态势展示的时候,节省了服务器的计算压力,极大程度缩短了页面加载时间,绘制态势更加精确高效,提升了易用性和友好度。本发明还涉及一种存储介质和设备。

Description

一种基于瓦片的轨迹地图的展示方法、装置、介质和设备
技术领域
本发明涉及计算机技术领域,尤其涉及一种基于瓦片的轨迹地图的展示方法、装置、介质和设备。
背景技术
现有技术中,地图瓦片存储盘符较大,展示效果时加载速度较慢,界面自定义效果少,很难满足目前日益发展所带来的变化更新需要,在态势展示上,无法根据需求更替排版与展示内容,也无法多态势对比,实现联动。另一方面,在技术上,目前大多数基于客户端的态势软件,在共享性和易用性上效果较差,而采用浏览器端的轻量级数据处理和计算展示,在满足多人协同使用的同时,集中处理数据也极大提升了安全性和易维护性。
发明内容
本发明所要解决的技术问题是针对现有技术的不足,提供一种基于瓦片的轨迹地图的展示方法、装置、介质和设备。
本发明解决上述技术问题的技术方案如下:
一种基于瓦片的轨迹地图的展示方法,包括:
将原始影像按照用户需求进行切分后提取待展示地图,通过所述待展示地图的尺寸确定所述待展示地图的几何中心点坐标;
利用所述待展示地图的尺寸、屏幕显示尺寸和所述地图瓦片数量,得到瓦片显示尺寸,并根据所述瓦片显示尺寸和比例尺,得到地图级别;
基于所述几何中心点坐标和所述地图级别,得到屏幕显示地图区域,通过所述屏幕显示地图区域、所述几何中心点坐标、所述地图级别和所述瓦片显示尺寸,得到所述待展示地图对应的瓦片地图;
过滤历史轨迹信息后根据所述历史轨迹信息得到轨迹范围,获取所述轨迹范围信息所覆盖的道路信息,将所述轨迹范围与所述瓦片地图中的道路信息进行匹配得到轨迹点,利用最短路径算法,将所有所述轨迹点进行连接,得到轨迹地图。
本方法发明的有益效果是:提出了一种基于瓦片的轨迹地图的展示方法,包括将原始影像按照用户需求进行切分后提取待展示地图,通过所述待展示地图的尺寸确定所述待展示地图的几何中心点坐标;利用所述待展示地图的尺寸、屏幕显示尺寸和所述地图瓦片数量,得到瓦片显示尺寸,并根据所述瓦片显示尺寸和比例尺,得到地图级别;基于所述几何中心点坐标和所述地图级别,得到屏幕显示地图区域,通过所述屏幕显示地图区域、所述几何中心点坐标、所述地图级别和所述瓦片显示尺寸,得到所述待展示地图的瓦片的最大行号和最大列号,从而得到所述待展示地图对应的瓦片地图;过滤历史轨迹信息后根据所述历史轨迹信息得到轨迹范围,获取所述轨迹范围信息所覆盖的道路信息,将所述轨迹范围与所述瓦片地图中的道路信息进行匹配得到轨迹点,利用最短路径算法,将所有所述轨迹点进行连接,得到轨迹地图。本发明在收集数据、瓦片处理、存储结构优化和态势计算展示优化等方面的改进,在进行采集数据分类计算、地图绘制和态势展示的时候,减轻了服务器的计算压力,缩短了页面加载时间,绘制更加精确高效,提升了易用性和友好度。
在上述技术方案的基础上,本发明还可以做如下改进。
进一步地,所述根据所述瓦片显示尺寸和比例尺,得到地图级别,具体包括:
遍历所述比例尺,得到与所述瓦片显示尺寸相差在预设尺寸阈值的瓦片尺寸对应的比例尺值;
根据所述比例尺值,得到所述地图级别。
进一步地,所述基于所述几何中心点坐标和所述地图级别,得到屏幕显示地图区域,具体包括:
获取所述地图级别时单位像素的尺寸;
根据所述几何中心点坐标、所述单位像素的尺寸和所述屏幕显示区域,得到所述地图级别下所述屏幕显示区域对应的屏幕显示地图区域。
进一步地,所述通过所述屏幕显示地图区域、所述几何中心点坐标、所述地图级别和所述瓦片显示尺寸,得得到所述待展示地图对应的瓦片地图,具体包括:
根据所述屏幕显示地图区域、所述瓦片显示尺寸和所述单位像素的尺寸,得到所述屏幕显示地图区域中的左上角第一张瓦片的左上角对应的坐标;
利用所述屏幕显示地图区域中的左上角第一张瓦片的左上角对应的坐标、所述屏幕显示尺寸和所述单位像素的尺寸,得到偏移像素值;
基于所述屏幕显示尺寸、所述偏移像素值和所述瓦片显示尺寸,得到所述屏幕显示地图区域中的右下角最后一张瓦片的行号和列号,得到所述待展示地图对应的瓦片地图。
进一步地,所述方法还包括:
将所述瓦片地图的点图层、线图层和面层图融合为业务图层,得到业务矢量图层;
利用预设参数信息创建点要素,将所述点要素添加到所述业务矢量图层并进行绘制。
进一步地,所述方法还包括:
获取鼠标在所述瓦片地图上第一次点击的第一坐标值,并获取所述鼠标在所述瓦片地图上第二次点击的第二坐标值;
根据所述第一坐标值、所述第二坐标值和预设范围,确定所述鼠标的当前地图绘制区域,并利用所述当前地图绘制区域,得到地图图层;
获取所述当前地图绘制区域的中心点,根据所述地图图层和所述所述当前地图绘制区域的中心点,构造当前地图真实区域,得到所述当前地图真实区域的瓦片。
本发明解决上述技术问题的另一技术方案如下:
一种基于瓦片的轨迹地图的展示装置,包括:
提取模块,用于将原始影像按照用户需求进行切分后提取待展示地图,通过所述待展示地图的尺寸确定所述待展示地图的几何中心点坐标;
获取地图级别模块,用于利用所述待展示地图的尺寸、屏幕显示尺寸和所述地图瓦片数量,得到瓦片显示尺寸,并根据所述瓦片显示尺寸和比例尺,得到地图级别;
瓦片地图模块,用于基于所述几何中心点坐标和所述地图级别,得到屏幕显示地图区域,通过所述屏幕显示地图区域、所述几何中心点坐标、所述地图级别和所述瓦片显示尺寸,得到所述待展示地图对应的瓦片地图;
轨迹地图模块,用于过滤历史轨迹信息后根据所述历史轨迹信息得到轨迹范围,获取所述轨迹范围信息所覆盖的道路信息,将所述轨迹范围与所述瓦片地图中的道路信息进行匹配得到轨迹点,利用最短路径算法,将所有所述轨迹点进行连接,得到轨迹地图。
进一步地,所述获取地图级别模块,具体用于遍历所述比例尺,得到与所述瓦片显示尺寸相差在预设尺寸阈值的瓦片尺寸对应的比例尺值;
根据所述比例尺值,得到所述地图级别。
此外,本发明提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述技术方案中任一项所述的方法的步骤。
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述技术方案中任一项所述的方法的步骤。
本发明附加的方面的优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明实践了解到。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的一种基于瓦片的轨迹地图的展示方法中的影像金字塔的示意图;
图2为本发明的一种基于瓦片的轨迹地图的展示方法的流程示意图;
图3为本发明的一种基于瓦片的轨迹地图的展示装置的模块示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应属于本发明保护的范围。
现有技术中地图瓦片计算程序复杂,服务器计算压力大,占用资源较强,客户端与平台关联性太强,在离线独立使用上非常不便捷,也就造成了在页面响应上效果较差,人机交互效果较差,而大多数基于地理信息系统(GIS)的开放性较差,展示效果单一,并且在对采集数据的展示整理分析上,显示效果较复杂,不够清晰,从而导致不够直观地了解态势与数据情况。
本申请中前端由HTML、CSS、JS、Flex等语言组成。一般规模的后台中间件采用Tomcat,大型的集群采用WebLogic和WebShpere。利用这些地图服务器能很实现地图的发布以及对一些空间查询和空间操作的支持。业务服务器采用目前主流且极为成熟稳定的Spring框架。
通过采集终端采集回收而来的数据,采用手持终端采集设备,以APK的方式通过系统下发采集程序,并配置好需要采集的数据项。通过连接服务器端进行数据回收。WebGIS的数据大致可以分为三种,地图、影像数据,空间属性数据和业务数据。地图、影像数据一般是一些png或者其他格式的数据组成。在GIS中有的影像金字塔可以加速地图在前端的显示。首先对这些图像数据进行切图。空间属性数据通过一些工具将已经整理好的数据进行入库。业务逻辑数据根据不同的业务需求将业务所需的数据进行采集和入库。
伴有定位信息的采集数据回收到PAD之后,连接服务端进行上传,根据的唯一标识进行回收,回收后,会自动按分类和类型整理回收后的数据,此处采用用户自定义分类方式实现,系统给用户预设多种数据类型,将采集项归类,绑定相关信息,在回收时,也通过响应的属性进行回收,系统整理数据。数据处理完成后,每条数据带有响应的定位数据。在前端获取态势业务数据的同时,后端根据把响应的位置数据传到前端,提供态势展示的数据支撑。
如图2所述,本发明实施例所述的一种基于瓦片的轨迹地图的展示方法,具体包括以下步骤:
110、将原始影像按照用户需求进行切分后提取待展示地图,通过所述待展示地图的尺寸确定所述待展示地图的几何中心点坐标。
120、利用所述待展示地图的尺寸、屏幕显示尺寸和所述地图瓦片数量,得到瓦片显示尺寸,并根据所述瓦片显示尺寸和比例尺,得到地图级别。
130、基于所述几何中心点坐标和所述地图级别,得到屏幕显示地图区域,通过所述屏幕显示地图区域、所述几何中心点坐标、所述地图级别和所述瓦片显示尺寸,得到所述待展示地图对应的瓦片地图。
140、过滤历史轨迹信息后根据所述历史轨迹信息得到轨迹范围,获取所述轨迹范围信息所覆盖的道路信息,将所述轨迹范围与所述瓦片地图中的道路信息进行匹配得到轨迹点,利用最短路径算法,将所有所述轨迹点进行连接,得到轨迹地图。
基于上述实施例,进一步地,步骤120中根据所述瓦片显示尺寸和比例尺得到地图级别,具体包括:
遍历所述比例尺,得到与所述瓦片显示尺寸相差在预设尺寸阈值的瓦片尺寸对应的比例尺值;
根据所述比例尺值,得到所述地图级别。
进一步地,步骤130中基于所述几何中心点坐标和所述地图级别,得到屏幕显示地图区域,具体包括:
获取所述地图级别时单位像素的尺寸;
根据所述几何中心点坐标、所述单位像素的尺寸和所述屏幕显示区域,得到所述地图级别下所述屏幕显示区域对应的屏幕显示地图区域。
进一步地,步骤130中通过所述屏幕显示地图区域、所述几何中心点坐标、所述地图级别和所述瓦片显示尺寸,得到所述待展示地图的瓦片的最大行号和最大列号,具体包括:
根据所述屏幕显示地图区域、所述瓦片显示尺寸和所述单位像素的尺寸,得到所述屏幕显示地图区域中的左上角第一张瓦片的左上角对应的坐标;
利用所述屏幕显示地图区域中的左上角第一张瓦片的左上角对应的坐标、所述屏幕显示尺寸和所述单位像素的尺寸,得到偏移像素值;
基于所述屏幕显示尺寸、所述偏移像素值和所述瓦片显示尺寸,得到所述屏幕显示地图区域中的右下角最后一张瓦片的行号和列号,得到所述待展示地图对应的瓦片地图。
进一步地,还包括步骤200,当步骤130执行完成后:
将所述瓦片地图的点图层、线图层和面层图融合为业务图层,得到业务矢量图层。
利用预设参数信息创建点要素,将所述点要素添加到所述业务矢量图层并进行绘制。
进一步地,所述方法还包括:
获取鼠标在所述瓦片地图上第一次点击的第一坐标值,并获取所述鼠标在所述瓦片地图上第二次点击的第二坐标值;
根据所述第一坐标值、所述第二坐标值和预设范围,确定所述鼠标的当前地图绘制区域,并利用所述当前地图绘制区域,得到地图图层;
获取所述当前地图绘制区域的中心点,根据所述地图图层和所述所述当前地图绘制区域的中心点,构造当前地图真实区域,得到所述当前地图真实区域的瓦片。
应理解,如图1所示,对于地图瓦片的处理采用了“金字塔”的概念。当需要在前端显示规模比较大的影像时。通常是首先将服务器中的1G影像下载到前端,然后浏览器加载渲染出图。但是客户端下载1G的影像需要的时间非常长,其次浏览器加载这么大的文件也可能导致崩溃。但是客户的需求仅仅是浏览全图中的某一个区域下的某几个级别,将全图下载完毕会耗时较长,且导致数据的不安全性,同时每一次对地图的放大和缩小以及拖拽都将会使浏览器花上足够长的时间去渲染。由此,传统的方式是不符合实际需求的。后续所提出额动态出图的概念。当前端发出的请求里包含了需要显示的范围、显示窗口的大小等参数后,后台动态的在原始数据中切出一个符合需求的瓦片,然后将这数量据返回给前台,并且在服务器中对这个瓦片做缓存。但是,这个方法前端出图依旧很慢,并且使地图服务器的压力过大。终于,影像金字塔解决方案出现了。影像金字塔,首先将原始影像按照用户的需求,比如用户需要显示多少种比例尺下的数据,需要显示的是原始影像中的哪个区域的数据,将原始影像按照这些需求进行划分和提取。
在这种切图下,文件的组织其实是按照瓦片的级别、行、列号来组织的。紧凑型瓦片Bundle的组织样式也是如此,只是它在得到了行列号后还要进行一系列换算,比如读取索引文件找到文件中的偏移量等。并且,标准的WMS请求中也涉及到行列号的换算,WMS请求中有一个Bbox的参数,而这个参数也与行列号的换算有关系。而标准的WMTS请求中,TILEMATRIX、TILEROW、TILECOL这三个参数代表的就是瓦片的级别、行和列号。由此可见,不管是针对哪种离线或在线的地图的瓦片请求中,得到瓦片的level、col、row是请求能够实现的核心。
瓦片行列号换算原理:地图切图的原点是(x0,y0),地图的瓦片大小是tileSize,地图屏幕上1像素代表的实际距离是分辨率resolution。计算坐标点(x,y)所在的瓦片的行列号的公式是:
col=floor((x0-x)/(tileSize*resolution))
row=floor((y0-y)/(tileSize*resolution))
tileSize是瓦片的单位尺寸,屏幕上的地理坐标点离瓦片切图的起始点间的实际距离realSize,用实际距离除以瓦片的单位尺寸,即可得此时屏幕上的坐标点所在的瓦片行列号。
当系统是经纬度系统时,此时分辨率resolution直接使用切图文档中的分辨率resolution。如果系统是平面坐标系统时,分辨率resolution的算法是:
resolution=scale*inch2centimeter/dpi。其中scale是地图比例尺,inch2centimeter为英寸转厘米的参数,dpi为1英寸所包含的像素。
得到画布的高度和宽度以及此时需要显示的地图的几何范围,同时也得到了需要显示的地图的级别。得到在这两种需求下的瓦片行列号范围。以下为流程图:
第一步,获得请求地理范围中的中心点(centerGeoPoint):
最后需要的真实地理范围,并不一定是屏幕范围所对应的那个地理范围,它极有可能是大于这个屏幕地理范围的。而事实上是,它一定是大于的。
第二步,判断请求中是否包含了需要显示的地图级别Level,分别处理。
如果请求中已经指定了使用的Level,可以直接使用此Level来进行地图实际请求范围的换算。而当请求中无Level时,换算将会比较复杂一些,这个换算的目的就是求出此时的地图应该以什么Level显示是最合适的,即nearestLevel。首先根据请求中的地理范围和屏幕大小范围,求得此时需要的瓦片实际大小,即:(geoMaxX-geoMinX)/(canvasWidth/tileSize),也就是用实际地理长度除以此时的瓦片数量,从而得到了需求的瓦片实际大小。遍历地图中所有的比例尺,找出一个与此需求比例尺下的瓦片实际大小最贴近的真实瓦片实际大小,而这个瓦片实际大小所对应的此时的地图比例尺,即最合适的比例尺,它所代表的地图级别就是最贴近需求的地图级别,nearestLevel。
第三步,算出屏幕范围所对应的地理范围(minX、minY、maxX、maxY)
在第一步中得到了centerGeoPoint,第二步得到了Level的条件下,这一步就很简单了。
首先得到Level下的一像素代表的实际大小,即resolution。然后用centerGeoPoint加上或减去半个屏幕长度canvasBounds乘以resolution后得到的范围便是需求中的屏幕范围在获得的Level下应该对应的实际地理范围。
以屏幕左上角X所对应的实际地理坐标为例:minX=centerGeoPoint-(resolution*canvasWidth)/2,算出的这个屏幕范围所对应的地理范围,它的作用是非常大的,在以后的屏幕坐标转换成地理坐标,以及地理坐标转换成屏幕坐标,还有偏移补偿量的换算上是至关重要的一个参数。
第四步,计算其他参数,比如瓦片行列的起始号以及瓦片数量,根据之前算出来的一系列参数来进行最后的换算。瓦片起始行列号(fixedTileLeftTopNumX、fixedTileLeftTopNumY),算出来的地理范围并不能保证真实的瓦片的起始瓦片所对应的地理坐标与地理范围的左上角地理范围重合,为此应该允许地理范围的一个扩张,这个扩张多少是一个很值得推敲的地方。默认为扩张至请求到的第一张瓦片左上角所对应的地理坐标。公式为:
fixedTileLeftTopNumX=Math.floor((Math.abs(originX-minX))/resolution*tileSize);
fixedTileLeftTopNumY=Math.floor((Math.abs(originY-maxY))/resolution*tileSize);
得到了屏幕范围所对应的地理范围,而当换算出这个范围所需要的瓦片后,这些算得的瓦片其所对应的地理范围并不一定是屏幕范围所对应的那个地理范围,此时需要重新算出实际地理范围。
realMinX=fixedTileLeftTopNumX*curLevelClipLength+originX;
realMaxY=originY-fixedTileLeftTopNumY*curLevelClipLength;
由于地理范围中的第一张瓦片,即左上角的第一张瓦片,并不一定是完全包含在屏幕地理范围内的,于是这里又涉及到另外一对参数,左上角偏移像素。当把瓦片都请求回来后还要做一个换算,即换算出每一张瓦片的左上角坐标应该对应在图层(TIleCanvas)上的哪一个屏幕坐标。由下式得到偏移像素:
offSetX=((realMinX-minX)/resolution);
offSetY=((maxY-realMaxY)/resolution);
其中resolution表示的是此Level下的一像素所代表的实际单位大小。
X、Y轴上的瓦片数量(mapXClipNum、mapYClipNum)。
求得的屏幕地理范围内的瓦片所代表的瓦片数量基本上是会比屏幕范围本身是要大的。瓦片是地图表示的最小单位了,其不可能再划分,所以在请求瓦片的起始行列号时,用到了Math.floor这个函数,即求得离屏幕范围的左上角坐标最近的瓦片行列号。但是,在求得X、Y轴上的瓦片数量时,得用到Math.ceil这个函数,这是为了能求得离屏幕范围的右下角坐标最近的瓦片行列号数。具体公式是:
mapXClipNum=Math.ceil((canvasWidth+Math.abs(offSetX))/tileSize);
mapYClipNum=Math.ceil((canvasHeight+Math.abs(offSetY))/tileSize);
根据需求,需要将部分数据在地图上显示出来,并且每个节点也要明显的标注出来,需要显示出一次试验的路径和所在的位置,并且将其以服务半径作为缓冲得出的缓冲显示出来。能显示出各个关注的人员在地图上的位置,并且鼠标移到人员图标上后,能够有气泡弹出,展示该人员的目前相关信息。由此进行了如下设计:
如果按照ArcGIS中点、线、面图层的思路来设计的话,第一个需求里,就需要设计出两个图层来,一个线图层,一个面图层。同样对第二个需求,也需要专门制作出一个点图层和一个面图层来。将点图层、线图层、面图层融合成一个业务图层,比如第一个需求只要线要素和点要素添加到同一个Canvas下即可,一张以业务来划分的矢量图层就产生了。第二个问题是将点要素和面要素(圆要素)整合在一起。而第三个问题需要添加点即图标要素。每个要素都是继承UIComponent的,都能监听鼠标事件,所以弹出气泡的需求也可以实现了。当地图中增加了很多元素后,对不同的元素需要进行一定的控制,最简单的控制就是能对元素有选择的进行清空删除等其他操作。为了便于对所有的canvas进行管理。具体实现时,有必要做一个管理canvas的类,该类提供获取指定canvas,删除指定canvas,清空指定canvas等管理功能。如果将此管理类本身设计成一个继承与Canvas的类,将其他Canvas均视作element添入其中,那么其本身就已经具有了对canvas的管理。并且还有一个优点在于,由于其他矢量canvas均是其element,鼠标对canvas的操作可以只用在此图层上进行监听即可。在arcmap中,鼠标在地图上移动时,地图右下角会显示出此时鼠标所在的地理坐标。在WebGIS中,也可以加上此功能,但是展示的方式需要设计。
在设计地图定位功能时,将拾取鼠标地理坐标的功能也融入到了此功能中:鼠标移动时,XY输入框会实时显示鼠标所在处的地理坐标,点击定位按钮,地图会缩放到输入框XY坐标处。
此外,轨迹展示涉及到两个方面,一个是轨迹查询展示,一个是轨迹信息挖掘展示。随着轨迹表数据的增加,以及轨迹信息挖掘涉及到的案卷表数据的增加,目前出现了比较明显的轨迹展示性能问题。尝试从代码流程逻辑、GPS采集优化、数据库常用优化即轨迹历史数据迁移和索引建立、表结构重构,Redis缓存的引用五个方面来进行优化。
轨迹展示和轨迹信息挖掘是两个相对独立部分,一个负责地图端的轨迹展示、一个负责提供给业务端(PAD)来调用展示轨迹挖掘信息,两个功能成具有各自独立的接口。随着历史轨迹表数据的激增,这种分离方式出现了明显的性能弊端——即轨迹查询结果的复用。轨迹信息挖掘流程的第一步,需要获取到待挖掘的所有轨迹点。
通过下述方法进行轨迹点信息的挖掘:
1、轨迹信息挖掘的查询瘦身、在最初的采集信息信息与案卷关联的挖掘中,最开始查询四张表:案卷表(dlmis.to_rec)、核查核实表(dlmis.to_mi_patrol_task)、历史案卷表(dlhist.to_his_rec)、历史核查核实表(dlhist.to_his_mi_patrol_task)。但是,经过测试发现历史案卷表和历史核查表往往很大,是查询的瓶颈所在。所以增加了一个参数(histrec)来进行表的查询控制。当histrec值为false时,查询案卷表和核查核实表这一组;当为ture时,查询历史案卷表和历史核查核实表那一组。由于系统默认是展示当天采集信息挖掘,所以histrec参数为true,从而避免了初始查询时对历史案卷那一组的查询。
2、GPS采集优化,在GPS采集源头,通过对行为者的状态分析,实现对GPS采集频率的控制。并且通过对GPS信号、位置精度等附加信息分析,过滤掉无效GPS以及室内GPS数据。从而增加有效GPS的同时,实现GPS采集存储量的减负。
3、数据库常用优化-历史轨迹迁移,从业务层面分析,得出针对一个月前的轨迹查询在业务上来讲基本是无作用的(一个月前的绩效已考核、工资已发放)。甚至在该现场,七天前的轨迹,也不是用户所关心的。所以这里采用一个定时任务,在每天深夜(避免迁徙中对正在上传的轨迹造成影响)进行轨迹的迁徙,轨迹表中只保留最近七天的轨迹,而每一个当天的轨迹均移至历史轨迹表中。据目前初步统计,七天的轨迹量大概在80W条上下,数量得到很好的控制。
4、表结构重构-分表方案,假设,每隔一周(以一周为例)建立一个采集轨迹表,表中只存放该周的轨迹,那么每周轨迹表中的数据量将大大减少。表的命名以年_周,比如(2021_18,表示2021年18周),在查询轨迹时,算出查询时间所对应的轨迹表,进行查询即可。
5、表结构重构-采集数据摘要的运用,以降低数据冗余、减少磁盘读操作,在分析业务的基础上进行设计。下图为采用的数据表。观察历史采集轨迹表,可以发现一个人一天可以出现很多条数据。这些数据中,人员ID为重复信息,人员的其他信息等等均是轨迹查询中不需要的字段。针对这种现象,提出一个轨迹摘要表的概念,将该表设计为如下:
其中最核心的是报文,报文中将以(x,y,createtime)的格式,转换成二进制方式存储当天的所有有效采集数据。轨迹摘要中针对某个监督员的采集数据信息,将只有一条记录了。如果要查询某天的采集数据信息,只需要date和partolid进行过滤即可获得报文,然后解析报文。同时查询的效率会大大提高,假设一个人之前一天有1000条数据,那么现在只有一条数据。之前3个月1000W条数据,那么现在将只有1W条数据。
6、Redis的运用,采集数据的写入,无论是针对采集数据摘要表,还是针对原来的采集数据表,均是一个不断产生开销的操作。而且针对采集数据表,查询最高的应该是当天采集数据查询。所以,针对当天不断上报的采集数据,可以将其都先存入redis中,在通过定时任务,于深夜同步写入至轨迹表中。同样,查询采集数据时,针对当天采集数据的查询,也优先从redis中获取。
如图3所示,一种基于瓦片的轨迹地图的展示装置,包括:
提取模块,用于将原始影像按照用户需求进行切分后提取待展示地图,通过所述待展示地图的尺寸确定所述待展示地图的几何中心点坐标;
获取地图级别模块,用于利用所述待展示地图的尺寸、屏幕显示尺寸和所述地图瓦片数量,得到瓦片显示尺寸,并根据所述瓦片显示尺寸和比例尺,得到地图级别;
瓦片地图模块,用于基于所述几何中心点坐标和所述地图级别,得到屏幕显示地图区域,通过所述屏幕显示地图区域、所述几何中心点坐标、所述地图级别和所述瓦片显示尺寸,得到所述待展示地图对应的瓦片地图;
轨迹地图模块,用于过滤历史轨迹信息后根据所述历史轨迹信息得到轨迹范围,获取所述轨迹范围信息所覆盖的道路信息,将所述轨迹范围与所述瓦片地图中的道路信息进行匹配得到轨迹点,利用最短路径算法,将所有所述轨迹点进行连接,得到轨迹地图。
进一步地,所述获取地图级别模块,具体用于遍历所述比例尺,得到与所述瓦片显示尺寸相差在预设尺寸阈值的瓦片尺寸对应的比例尺值;
根据所述比例尺值,得到所述地图级别。
此外,本发明提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述技术方案中任一项所述的方法的步骤。
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述技术方案中任一项所述的方法的步骤。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的实施例中,应该理解到,所揭露的装置/终端设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/终端设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。
基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,RandomAccessMemory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括是电载波信号和电信信号。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (8)

1.一种基于瓦片的轨迹地图的展示方法,其特征在于,包括:
将原始影像按照用户需求进行切分后提取待展示地图,通过所述待展示地图的尺寸确定所述待展示地图的几何中心点坐标;
利用所述待展示地图的尺寸、屏幕显示尺寸和地图瓦片数量,得到瓦片显示尺寸,并根据所述瓦片显示尺寸和比例尺,得到地图级别;
基于所述几何中心点坐标和所述地图级别,得到屏幕显示地图区域,通过所述屏幕显示地图区域、所述几何中心点坐标、所述地图级别和所述瓦片显示尺寸,得到所述待展示地图对应的瓦片地图;
过滤历史轨迹信息后根据所述历史轨迹信息得到轨迹范围,获取所述轨迹范围信息所覆盖的道路信息,将所述轨迹范围与所述瓦片地图中的道路信息进行匹配得到轨迹点,利用最短路径算法,将所有所述轨迹点进行连接,得到轨迹地图;
所述基于所述几何中心点坐标和所述地图级别,得到屏幕显示地图区域,具体包括:
获取所述地图级别时单位像素的尺寸;
根据所述几何中心点坐标、所述单位像素的尺寸和屏幕显示区域,得到所述地图级别下所述屏幕显示区域对应的屏幕显示地图区域;
所述通过所述屏幕显示地图区域、所述几何中心点坐标、所述地图级别和所述瓦片显示尺寸,得得到所述待展示地图对应的瓦片地图,具体包括:
根据所述屏幕显示地图区域、所述瓦片显示尺寸和所述单位像素的尺寸,得到所述屏幕显示地图区域中的左上角第一张瓦片的左上角对应的坐标;
利用所述屏幕显示地图区域中的左上角第一张瓦片的左上角对应的坐标、所述屏幕显示尺寸和所述单位像素的尺寸,得到偏移像素值;
基于所述屏幕显示尺寸、所述偏移像素值和所述瓦片显示尺寸,得到所述屏幕显示地图区域中的右下角最后一张瓦片的行号和列号,得到所述待展示地图对应的瓦片地图。
2.根据权利要求1所述的基于瓦片的轨迹地图的展示方法,其特征在于,所述根据所述瓦片显示尺寸和比例尺,得到地图级别,具体包括:
遍历所述比例尺,得到与所述瓦片显示尺寸相差在预设尺寸阈值的瓦片尺寸对应的比例尺值;
根据所述比例尺值,得到所述地图级别。
3.根据权利要求1所述的基于瓦片的轨迹地图的展示方法,其特征在于,所述方法还包括:
将所述瓦片地图的点图层、线图层和面层图融合为业务图层,得到业务矢量图层;
利用预设参数信息创建点要素,将所述点要素添加到所述业务矢量图层并进行绘制。
4.根据权利要求1所述的基于瓦片的轨迹地图的展示方法,其特征在于,所述方法还包括:
获取鼠标在所述瓦片地图上第一次点击的第一坐标值,并获取所述鼠标在所述瓦片地图上第二次点击的第二坐标值;
根据所述第一坐标值、所述第二坐标值和预设范围,确定所述鼠标的当前地图绘制区域,并利用所述当前地图绘制区域,得到地图图层;
获取所述当前地图绘制区域的中心点,根据所述地图图层和所述所述当前地图绘制区域的中心点,构造当前地图真实区域,得到所述当前地图真实区域的瓦片。
5.一种基于瓦片的轨迹地图的展示装置,其特征在于,包括:
提取模块,用于将原始影像按照用户需求进行切分后提取待展示地图,通过所述待展示地图的尺寸确定所述待展示地图的几何中心点坐标;
获取地图级别模块,用于利用所述待展示地图的尺寸、屏幕显示尺寸和地图瓦片数量,得到瓦片显示尺寸,并根据所述瓦片显示尺寸和比例尺,得到地图级别;
瓦片地图模块,用于基于所述几何中心点坐标和所述地图级别,得到屏幕显示地图区域,通过所述屏幕显示地图区域、所述几何中心点坐标、所述地图级别和所述瓦片显示尺寸,得到所述待展示地图对应的瓦片地图;
轨迹地图模块,用于过滤历史轨迹信息后根据所述历史轨迹信息得到轨迹范围,获取所述轨迹范围信息所覆盖的道路信息,将所述轨迹范围与所述瓦片地图中的道路信息进行匹配得到轨迹点,利用最短路径算法,将所有所述轨迹点进行连接,得到轨迹地图;
所述基于所述几何中心点坐标和所述地图级别,得到屏幕显示地图区域,具体包括:
获取所述地图级别时单位像素的尺寸;
根据所述几何中心点坐标、所述单位像素的尺寸和屏幕显示区域,得到所述地图级别下所述屏幕显示区域对应的屏幕显示地图区域;
所述通过所述屏幕显示地图区域、所述几何中心点坐标、所述地图级别和所述瓦片显示尺寸,得得到所述待展示地图对应的瓦片地图,具体包括:
根据所述屏幕显示地图区域、所述瓦片显示尺寸和所述单位像素的尺寸,得到所述屏幕显示地图区域中的左上角第一张瓦片的左上角对应的坐标;
利用所述屏幕显示地图区域中的左上角第一张瓦片的左上角对应的坐标、所述屏幕显示尺寸和所述单位像素的尺寸,得到偏移像素值;
基于所述屏幕显示尺寸、所述偏移像素值和所述瓦片显示尺寸,得到所述屏幕显示地图区域中的右下角最后一张瓦片的行号和列号,得到所述待展示地图对应的瓦片地图。
6.根据权利要求5所述的基于瓦片的轨迹地图的展示装置,其特征在于,
所述获取地图级别模块,具体用于遍历所述比例尺,得到与所述瓦片显示尺寸相差在预设尺寸阈值的瓦片尺寸对应的比例尺值;
根据所述比例尺值,得到所述地图级别。
7.根据权利要求5所述的基于瓦片的轨迹地图的展示装置,其特征在于,
所述获取地图级别模块,具体用于遍历所述比例尺,得到与所述瓦片显示尺寸相差在预设尺寸阈值的瓦片尺寸对应的比例尺值;
根据所述比例尺值,得到所述地图级别。
8.根据权利要求5所述的基于瓦片的轨迹地图的展示装置,其特征在于,
所述获取地图级别模块,具体用于遍历所述比例尺,得到与所述瓦片显示尺寸相差在预设尺寸阈值的瓦片尺寸对应的比例尺值;
根据所述比例尺值,得到所述地图级别。
CN202210033892.XA 2022-01-12 2022-01-12 一种基于瓦片的轨迹地图的展示方法、装置、介质和设备 Active CN114661839B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210033892.XA CN114661839B (zh) 2022-01-12 2022-01-12 一种基于瓦片的轨迹地图的展示方法、装置、介质和设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210033892.XA CN114661839B (zh) 2022-01-12 2022-01-12 一种基于瓦片的轨迹地图的展示方法、装置、介质和设备

Publications (2)

Publication Number Publication Date
CN114661839A CN114661839A (zh) 2022-06-24
CN114661839B true CN114661839B (zh) 2024-02-27

Family

ID=82025651

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210033892.XA Active CN114661839B (zh) 2022-01-12 2022-01-12 一种基于瓦片的轨迹地图的展示方法、装置、介质和设备

Country Status (1)

Country Link
CN (1) CN114661839B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116736971B (zh) * 2022-10-17 2024-07-23 荣耀终端有限公司 一种地图数据处理方法、地图显示方法及设备
CN117370684A (zh) * 2023-10-08 2024-01-09 曙光云计算集团有限公司 船舶数据的渲染方法、装置、计算机设备和存储介质
CN118245694B (zh) * 2024-05-23 2024-08-23 智广海联(天津)大数据技术有限公司 一种资源上图的方法及装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007034145A (ja) * 2005-07-29 2007-02-08 Alps Sha:Kk 地図重ね合わせシステムおよび方法
CN103699439A (zh) * 2013-12-30 2014-04-02 北京奇虎科技有限公司 一种计算电子地图可视区域内的瓦片的装置和方法
CN106250062A (zh) * 2016-08-15 2016-12-21 成都天奥信息科技有限公司 基于浏览器的电子海图实现方法及系统
CN107016924A (zh) * 2016-12-20 2017-08-04 阿里巴巴集团控股有限公司 虚拟地图中的瓦片地图生成方法、更新方法和装置
CN108052642A (zh) * 2017-12-22 2018-05-18 重庆邮电大学 基于瓦片技术的电子海图显示方法
JP2019179350A (ja) * 2018-03-30 2019-10-17 Necプラットフォームズ株式会社 地図画像用ラベル配置装置、地図画像用ラベル配置方法および地図画像用ラベル配置プログラム
CN110390722A (zh) * 2018-04-20 2019-10-29 曜宇航空科技(上海)有限公司 一种毫秒级绘制实时实景地图的方法及系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9767122B2 (en) * 2015-01-27 2017-09-19 Splunk Inc. Efficient point-in-polygon indexing technique to facilitate displaying geographic data
CN110428500B (zh) * 2019-07-29 2022-07-12 腾讯科技(深圳)有限公司 轨迹数据处理方法、装置、存储介质以及设备

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007034145A (ja) * 2005-07-29 2007-02-08 Alps Sha:Kk 地図重ね合わせシステムおよび方法
CN103699439A (zh) * 2013-12-30 2014-04-02 北京奇虎科技有限公司 一种计算电子地图可视区域内的瓦片的装置和方法
CN106250062A (zh) * 2016-08-15 2016-12-21 成都天奥信息科技有限公司 基于浏览器的电子海图实现方法及系统
CN107016924A (zh) * 2016-12-20 2017-08-04 阿里巴巴集团控股有限公司 虚拟地图中的瓦片地图生成方法、更新方法和装置
CN108052642A (zh) * 2017-12-22 2018-05-18 重庆邮电大学 基于瓦片技术的电子海图显示方法
JP2019179350A (ja) * 2018-03-30 2019-10-17 Necプラットフォームズ株式会社 地図画像用ラベル配置装置、地図画像用ラベル配置方法および地図画像用ラベル配置プログラム
CN110390722A (zh) * 2018-04-20 2019-10-29 曜宇航空科技(上海)有限公司 一种毫秒级绘制实时实景地图的方法及系统

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
The design and implementation of massive map tile storage technology oriented to the mobile terminal;Dekui Lv etc.;《2015 23rd International Conference on Geoinformatics》;第1-5页 *
可定制的离线地图系统的开发与研究;俞钢;《万方》;第5-46页 *
局域网条件下的瓦片地图应用研究;周海 等;《地理空间信息》;第18-21页 *

Also Published As

Publication number Publication date
CN114661839A (zh) 2022-06-24

Similar Documents

Publication Publication Date Title
CN114661839B (zh) 一种基于瓦片的轨迹地图的展示方法、装置、介质和设备
CN110442444B (zh) 一种面向海量遥感影像的并行数据访问方法与系统
Gregory et al. A place in history: A guide to using GIS in historical research
EP2560144B1 (en) Generating and serving tiles in a digital mapping system
EP2565583B1 (en) Navigation device, method of outputting a map, and method of generating a database
Ye et al. Development of a highly flexible mobile GIS-based system for collecting arable land quality data
CN106779417A (zh) 工程勘察信息数字化采集、管理及综合应用方法
US9697751B2 (en) Interactive representation of clusters of geographical entities
CN104484790A (zh) 一种物流业务的地址匹配方法及装置
CN108804602A (zh) 一种基于spark的分布式空间数据存储计算方法
CN105589861A (zh) 一种在地图数据中快速定位的方法
CN112380302B (zh) 基于轨迹数据的热力图生成方法、装置、电子设备以及存储介质
CN104375211A (zh) 一种气象预报等值线图更新方法及系统
CN104765782A (zh) 一种索引排序更新方法及装置
CN114610923A (zh) 一种大数据处理方法、装置、设备及介质
CN106649636A (zh) 一种基于移动终端的人员流动性分析方法及装置
CN102110125B (zh) 根据汉字快速查找兴趣点的检索方法
CN116701771B (zh) 一种基于云计算的数字图书馆检索与资源共享系统
CN117349467A (zh) 遥感影像地图的多尺度动态服务方法、装置及存储介质
CN112486337A (zh) 笔迹图形分析方法、装置及电子设备
CN115658779B (zh) 一种人口数据显示方法和装置
JP2007079866A (ja) 画像分類装置、画像分類方法、画像分類プログラム、及び撮像装置
CN112732855B (zh) 出租车交通数据同构网络可视化方法、系统及其存储介质
JP3621286B2 (ja) 道路地図ベクトル化方法および装置
CN112487875A (zh) 笔迹图形化方法、装置及电子设备

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