本发明专利技术涉及一种适于多种地图的GIS指挥调度系统的人物动画实现方法。其特征在于方法如下:一、地图与Group容器的实时对应,即Group容器的(0,0)位置始终保持与地图的坐标(minLong,maxLat)对应;二、每个人员的经纬度坐标转换到屏幕坐标,使其与Group容器内的坐标一一对应;三、根据人员行进方向调用不同的图片,形成动画效果。本发明专利技术解决了地图图层添加数据及相应功能的实现对地图开发包及API的依赖;地图与Group容器始终保持对应,使得地图与图层数据相分离,降低了对地图的依赖;实现了基于GIS的地图指挥调度系统中人物运动动画效果。
【技术实现步骤摘要】
适于多种地图的GIS指挥调度系统的人物动画实现方法
本专利技术涉及一种适于多种地图的GIS指挥调度系统的人物动画实现方法。
技术介绍
目前,基于GIS的地图指挥调度系统被广泛运用于政府、公安、武警等公共事业领域。这种地图指挥调度系统对各类事件现场的工作人员进行跟踪、定位,实现可视化远程指挥调度。但是,目前市场上主流的GIS指挥调度系统,对人员的定位与显示都依赖于相关地图,当使用不同的地图API开发时,需要修改相应逻辑和代码,代码不能复用,使得开发效率较低。并且人员行走移动以平面2D效果呈现(图1),每个方向的运动只有一种效果,其降低了用户体验。
技术实现思路
针对现有技术中存在的问题,本专利技术的目的在于提供一种适于多种地图的GIS指挥调度系统的人物动画实现方法的技术方案,解决了图层添加数据及相应功能的实现对地图开发包及API的依赖。所述的适于多种地图的GIS指挥调度系统的人物动画实现方法,其特征在于方法如下:一、地图与Group容器的实时对应,即Group容器的(0,0)位置始终保持与地图的坐标(minLong,maxLat)对应,定义地图的经纬度范围:经度minLong-maxLong,纬度minLat-maxLat;1)获取地图加载时的最大经纬度与最小经纬度数据;2)使用最大与最小经纬度数据实例化Location类,获取Location实例对象;3)使用步骤2)中Location实例对象,实例化Pixel类;4)使用Pixel实例获取到地图(minLong,maxLat)对应的像素标准值(x,y);5)令Group容器(0,0)位置的像素值为步骤4)中的(x,y);6)对每次地图操作都执行上述步骤1)-5),以保持地图与Group容器的始终对应关系;二、每个人员的经纬度坐标转换到屏幕坐标,使其与Group容器内的坐标一一对应;每个人员都作为一个组件或元素添加到父容器Group中;A)人员作为基于GIS地图调度系统中被指挥调度的对象,通过携带的终端设备上报位置即经纬度信息,定位人员的经纬度数据为(long,lat),然后实例化Location类,再通过Pixel类获取人员在Group容器中水平位置x1和垂直位置y1,水平位置x1和垂直位置y1均以像素为单位;B)对每次地图操作、人员经纬度发生变化或者新人员加入到地图中,都执行步骤A);三、根据人员行进方向调用不同的图片,形成动画效果;a)定义人员Person在Group容器中的当前位置为(x0,y0),目标位置为(targetX,targetY);b)人员动画图片使用二维数组存放,定义为Pictures[Direction][Step],其中Direction范围为0到7,表示八个方向,即上、下、左、右、左上、左下、右上、右下;Step范围为0和1,表示人员行走的动作分解;c)计算Direction的方法:人员行走的方向可分解为X方向和Y方向,其中定义X方向为:sign(targetX-x0);Y方向为:sign(targetY-y0),由此定义Direction=f(X,Y)为:当X=1时:若Y=1,则Direction=7若Y=-1,则Direction=5若Y=0,则Direction=6当X=-1时:若Y=1,则Direction=1若Y=-1,则Direction=3若Y=0,则Direction=2当X=0时:若Y=1,则Direction=0若Y=-1,则Direction=4若Y=0,则人员没有行走,不需要加载动画图片;d)定义人员移动的步幅为speed,单位为像素,即每次人员移动的实时位置(targetX1,targetY1)为:targetX1=x0+X×speed;targetY1=y0+Y×speed;此时,对应的图片为Pictrue[f(X,Y)][step]。本专利技术主要实现了适用于多种地图的GIS指挥调度系统的2.5D人物动画,其有益效果如下:1)解决了地图图层添加数据及相应功能的实现对地图开发包及API的依赖;2)地图与Group容器始终保持对应,即Group容器的(0,0)位置始终保持与地图的最小经纬度点对应,将原本加入地图图层的数据,以组件的形式添加到Group容器中,使得地图与图层数据相分离,降低了对地图的依赖;3)实现了基于GIS的地图指挥调度系统中人物运动动画效果。附图说明图1为现有技术中人员行走移动以平面2D效果呈现图;图2为本专利技术装载地图的容器Map示意图;图3为本专利技术用户体验效果图;图4为本专利技术地图与Group容器的实时对应示意图;图5为本专利技术每个人员的经纬度坐标转换到屏幕坐标示意图;图6为本专利技术人员动画图片使用二维数组存放示意图;图7为本专利技术人物动画效果图。具体实施方式下面结合说明书附图对本专利技术作进一步说明:地图可以包含一个或多个图层,每个图层在每个级别都是由若干张图块组成的,它们覆盖了地球的整个表面。例如大多数地图商用产品里所看到包括街道、学校、公园等内容的地图展现就是一个图层。使用这种技术在每一层地图图层上添加数据及相应功能。利用图层的技术特点,基于GIS的地图指挥调度系统被广泛运用于政府、公安、武警等公共事业领域。该类地图指挥调度系统对各种事件现场中的工作人员进行跟踪、定位,实现可视化远程指挥调度。基于GIS的地图指挥调度系统,实现的相关地图功能包括:1、地图拖动,具有任意方向的拖动地图查看作用;2、地图缩放,根据显示及查看的需求,可将地图放大或缩小到任意层次,层次的大小对应于地图比例尺的大小;3、人员定位,根据人员携带的终端设备所上报的GPS信息,确定人员在地图中的位置,用于实时监控与可视化指挥调度;4、人员实时轨迹描述,根据人员的GPS信息在地图上实时描绘运动轨迹;5、人员历史轨迹描述,根据人员的历史GPS信息在地图上重现运动轨迹;以上五类功能,都脱离不了对图层的操作和处理。但是使用地图图层管理所有的人员(包括车辆,以下如无特殊说明统一描述为人员),功能的实现及操作均依赖于所使用的地图引擎及地图API;所有的被调度人员作为一个图层数据添加到地图上。例如百度地图API通过map.addTileLayer方法在地图上添加图层,而在GoogleMapsAPI中使用map.addOverlay方法添加图层。因此当使用的地图开发包及API发生变化的时候,对应人员的图层都要相应的发生改变,此不利于代码复用。为了提高开发效率和降低人员图层对地图的依赖,使用Group组件。任何一种地图应用的实现,必须将地图加载到一个容器内,该容器相应的提供各类组件,定义装载地图的容器为Map,定义装载人员的容器为Group,地图及Group容器均作为容器Map的子元素添加到其中,如图2所示。目前,大多数地图商用产品里所看到包括街道、学校、公园等内容的地图展现均使用图层技术,使用这种技术在每一层地图图层上添加数据及相应功能。本专利技术的具体实现方法如下:一、地图与Group容器的实时对应,即Group容器的(0,0)位置始终保持与地图的坐标(minLong,maxLat)对应,如图4所示,定义A点表示(minLong,maxLat),A′表示(0,0),定义地图的经纬度范围:经度minLong-maxLong,纬度minLat本文档来自技高网...
【技术保护点】
适于多种地图的GIS指挥调度系统的人物动画实现方法,其特征在于方法如下:一、地图与Group容器的实时对应,即Group容器的(0,0)位置始终保持与地图的坐标(minLong, maxLat)对应,定义地图的经纬度范围:经度minLong‑maxLong, 维度minLat‑maxLat;1)获取地图加载时的最大经纬度与最小经纬度数据;2)使用最大与最小经纬度数据实例化Location类,获取Location实例对象;3)使用步骤2)中Location实例对象,实例化Pixel类;4)使用Pixel实例获取到地图(minLong, maxLat)对应的像素标准值(x, y);5)令Group容器(0,0)位置的像素值为步骤4)中的(x,y);6)对每次地图操作都执行上述步骤1)‑5),以保持地图与Group容器的始终对应关系;二、每个人员的经纬度坐标转换到屏幕坐标,使其与Group容器内的坐标一一对应;每个人员都作为一个组件或元素添加到父容器Group中;A)人员作为基于GIS地图调度系统中被指挥调度的对象,通过携带的终端设备上报位置即经纬度信息,定位人员的经纬度数据为(long,lat),然后实例化Location类,再通过Pixel类获取人员在Group容器中水平位置x和垂直位置y,水平位置x和垂直位置y均以像素为单位;B)对每次地图操作、人员经纬度发生变化或者新人员加入到地图中,都执行步骤A);三、根据人员行进方向调用不同的图片,形成动画效果;a)定义人员Person在Group容器中的当前位置为(x0,y0),目标位置为(targetX, targetY);b)人员动画图片使用二维数组存放,定义为Pictures[Direction][Step],其中Direction范围为0到7,表示八个方向,即上、下、左、右、左上、左下、右上、右下;Step范围为0到1,表示人员行走的动作分解;c)计算Direction的方法:人员行走的方向可分解为X方向和Y方向,其中定义X方向为:sign(targetX‑ x0);Y方向为:sign(targetY‑y0),由此定义Direction=f(X,Y)为:当X=1时:若Y=1,则Direction=7若Y=‑1,则Direction=5若Y=0,则Direction=6当X=‑1时:若Y=1,则Direction=1若Y=‑1,则Direction=3若Y=0,则Direction=2当X=0时:若Y=1,则Direction=0若Y=‑1,则Direction=4若Y=0,则人员没有行走,不需要加载动画图片;d)定义人员移动的步幅为speed,单位为像素,即每次人员移动的实时位置(targetX, targetY)为: targetX = x0 + X×speed; targetY = y0 + Y×speed; 此时,对应的图片为Pictrue[f(X,Y)][step]。...
【技术特征摘要】
1.适于多种地图的GIS指挥调度系统的人物动画实现方法,其特征在于方法如下:一、地图与Group容器的实时对应,即Group容器的(0,0)位置始终保持与地图的坐标(minLong,maxLat)对应,定义地图的经纬度范围:经度minLong-maxLong,纬度minLat-maxLat;1)获取地图加载时的最大经纬度与最小经纬度数据;2)使用最大与最小经纬度数据实例化Location类,获取Location实例对象;3)使用步骤2)中Location实例对象,实例化Pixel类;4)使用Pixel实例获取到地图(minLong,maxLat)对应的像素标准值(x,y);5)令Group容器(0,0)位置的像素值为步骤4)中的(x,y);6)对每次地图操作都执行上述步骤1)-5),以保持地图与Group容器的始终对应关系;二、每个人员的经纬度坐标转换到屏幕坐标,使其与Group容器内的坐标一一对应;每个人员都作为一个组件或元素添加到父容器Group中;A)人员作为基于GIS地图调度系统中被指挥调度的对象,通过携带的终端设备上报位置即经纬度信息,定位人员的经纬度数据为(long,lat),然后实例化Location类,再通过Pixel类获取人员在Group容器中水平位置x1和垂直位置y1,水平位置x1和垂直位置y1均以像素为单位;B)对每次地图操作、人员经纬度发生变化或者新人员加入到地图中,都执行步骤A);...
【专利技术属性】
技术研发人员:韩德培,杨东成,林强,庞小斌,陈洁伟,
申请(专利权)人:东方通信股份有限公司,
类型:发明
国别省市:浙江;33
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。