适于多种地图的gis指挥调度系统的人物动画实现方法

文档序号:6547721阅读:430来源:国知局
适于多种地图的gis指挥调度系统的人物动画实现方法
【专利摘要】本发明涉及一种适于多种地图的GIS指挥调度系统的人物动画实现方法。其特征在于方法如下:一、地图与Group容器的实时对应,即Group容器的(0,0)位置始终保持与地图的坐标(minLong,maxLat)对应;二、每个人员的经纬度坐标转换到屏幕坐标,使其与Group容器内的坐标一一对应;三、根据人员行进方向调用不同的图片,形成动画效果。本发明解决了地图图层添加数据及相应功能的实现对地图开发包及API的依赖;地图与Group容器始终保持对应,使得地图与图层数据相分离,降低了对地图的依赖;实现了基于GIS的地图指挥调度系统中人物运动动画效果。
【专利说明】适于多种地图的GIS指挥调度系统的人物动画实现方法
【技术领域】
[0001]本发明涉及一种适于多种地图的GIS指挥调度系统的人物动画实现方法。
【背景技术】
[0002]目前,基于GIS的地图指挥调度系统被广泛运用于政府、公安、武警等公共事业领域。这种地图指挥调度系统对各类事件现场的工作人员进行跟踪、定位,实现可视化远程指挥调度。
[0003]但是,目前市场上主流的GIS指挥调度系统,对人员的定位与显示都依赖于相关地图,当使用不同的地图API开发时,需要修改相应逻辑和代码,代码不能复用,使得开发效率较低。并且人员行走移动以平面2D效果呈现(图1),每个方向的运动只有一种效果,其降低了用户体验。

【发明内容】

[0004]针对现有技术中存在的问题,本发明的目的在于提供一种适于多种地图的GIS指挥调度系统的人物动画实现方法的技术方案,解决了图层添加数据及相应功能的实现对地图开发包及API的依赖。
[0005]所述的适于多种地图的GIS指挥调度系统的人物动画实现方法,其特征在于方法如下:
一、地图与Group容器的实时对应,即Group容器的(0,O)位置始终保持与地图的坐标(minLong, maxLat)对应,定义地图的经纟韦度范围:经度minLong-maxLong,维度minLat-maxLat ;
O获取地图加载时的最大经纬度与最小经纬度数据;
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容器中的当前位置为(xQ,yQ),目标位置为(targetX,targetY);
b)人员动画图片使用二维数组存放,定义为Pictures[Direction] [Step],其中Direction范围为O到7,表示八个方向,即上、下、左、右、左上、左下、右上、右下;St印范围为O到I,表示人员行走的动作分解;
c)计算Direction的方法:
人员行走的方向可分解为X方向和Y方向,其中定义X方向为:sign (targetX- x0) ;Y方向为:sign(targetY-y。),由此定义 Direction=f(X, Y)为:
当X=I时:
若 Y=I,则 Direction=?
若 Y=-1,则 Direction=5
若 Y=O,则 Direction=6
当X=-1时:
若 Y=I,则 Direction=I
若 Y=-1,则 Direction=3
若 Y=O,则 Direction=〗
当X=O时:
若 Y=I,则 Direction=O
若 Y=-1,则 Direction=4
若y=0,则人员没有行走,不需要加载动画图片;
d)定义人员移动的步幅为speed,单位为像素,即每次人员移动的实时位置(targetX,targetY)为:
targetX = X0 + X X speed ;
targetY = y0 + Y X speed ;
此时,对应的图片为Pictrue [f(X, Y)] [step]。
[0006]本发明主要实现了适用于多种地图的GIS指挥调度系统的2.人物动画,其有益效果如下:
1)解决了地图图层添加数据及相应功能的实现对地图开发包及API的依赖;
2)地图与Group容器始终保持对应,即Group容器的(0,O)位置始终保持与地图的最小经纬度点对应,将原本加入地图图层的数据,以组件的形式添加到Group容器中,使得地图与图层数据相分离,降低了对地图的依赖;
3)实现了基于GIS的地图指挥调度系统中人物运动动画效果。
【专利附图】

【附图说明】
[0007]图1为现有技术中人员行走移动以平面2D效果呈现图;
图2为本发明装载地图的容器Map示意图;
图3为本发明用户体验效果图;
图4为本发明地图与Group容器的实时对应示意图;
图5为本发明每个人员的经纬度坐标转换到屏幕坐标示意图;
图6为本发明人员动画图片使用二维数组存放示意图; 图7为本发明人物动画效果图。
【具体实施方式】
[0008]下面结合说明书附图对本发明作进一步说明:
地图可以包含一个或多个图层,每个图层在每个级别都是由若干张图块组成的,它们覆盖了地球的整个表面。例如大多数地图商用产品里所看到包括街道、学校、公园等内容的地图展现就是一个图层。使用这种技术在每一层地图图层上添加数据及相应功能。
[0009]利用图层的技术特点,基于GIS的地图指挥调度系统被广泛运用于政府、公安、武警等公共事业领域。该类地图指挥调度系统对各种事件现场中的工作人员进行跟踪、定位,实现可视化远程指挥调度。
[0010]基于GIS的地图指挥调度系统,实现的相关地图功能包括:
1、地图拖动,具有任意方向的拖动地图查看作用;
2、地图缩放,根据显示及查看的需求,可将地图放大或缩小到任意层次,层次的大小对应于地图比例尺的大小;
3、人员定位,根据人员携带的终端设备所上报的GPS信息,确定人员在地图中的位置,用于实时监控与可视化指挥调度;
4、人员实时轨迹描述,根据人员的GPS信息在地图上实时描绘运动轨迹;
5、人员历史轨迹描述,根据人员的历史GPS信息在地图上重现运动轨迹;
以上五类功能,都脱离不了对图层的操作和处理。
[0011]但是使用地图图层管理所有的人员(包括车辆,以下如无特殊说明统一描述为人员),功能的实现及操作均依赖于所使用的地图引擎及地图API ;所有的被调度人员作为一个图层数据添加到地图上。例如百度地图API通过map.addTiIeLayer方法在地图上添加图层,而在Google Maps API中使用map.addOverlay方法添加图层。
[0012]因此当使用的地图开发包及API发生变化的时候,对应人员的图层都要相应的发生改变,此不利于代码复用。
[0013]为了提高开发效率和降低人员图层对地图的依赖,使用Group组件。任何一种地图应用的实现,必须将地图加载到一个容器内,该容器相应的提供各类组件,定义装载地图的容器为Map,定义装载人员的容器为Group,地图及Group容器均作为容器Map的子元素添加到其中,如图2所示。
[0014]目前,大多数地图商用产品里所看到包括街道、学校、公园等内容的地图展现均使用图层技术,使用这种技术在每一层地图图层上添加数据及相应功能。
[0015]本发明的具体实现方法如下:
一、地图与Group容器的实时对应,即Group容器的(0,O)位置始终保持与地图的坐标(minLong, maxLat)对应,如图 4 所示,定义 A 点表示(minLong, maxLat), A'表示(O, O),定义地图的经纟韦度范围:经度minLong-maxLong,维度minLat-maxLat ;
O获取地图加载时的最大经纬度与最小经纬度数据;
2)使用最大与最小经讳度数据实例化Location类,获取Location实例对象;
3)使用步骤2)中Location实例对象,实例化Pixel类;
4)使用Pixel实例获取到地图(minLong,maxLat)对应的像素标准值(x, y);5)令Group容器(0,O)位置的像素值为步骤4)中的(x,y);
6)对每次地图操作都执行上述步骤1)-5),以保持地图与Group容器的始终对应关系;
二、每个人员的经纬度坐标转换到屏幕坐标,使其与Group容器内的坐标一一对应,如图5所示;每个人员都作为一个组件或元素添加到父容器Group中;
A)人员作为基于GIS地图调度系统中被指挥调度的对象,通过携带的终端设备上报位置即经纬度信息,定位人员的经纬度数据为(long, lat),然后实例化Location类,再通过Pixel类获取人员在Group容器中水平位置x和垂直位置y,水平位置x和垂直位置y均以像素为单位;
B)对每次地图操作、人员经纬度发生变化或者新人员加入到地图中,都执行步骤A);
三、根据人员行进方向调用不同的图片,形成动画效果;
a)定义人员Person在Group容器中的当前位置为(xQ,yQ),目标位置为(targetX,targetY);
b)人员动画图片使用二维数组存放,如图6所示,定义为Pictures[Direction][Step],其中Direction范围为O到7,表示八个方向,即上、下、左、右、左上、左下、右上、右下;Step范围为O到I,表示人员行走的动作分解;
c)计算Direction的方法:
人员行走的方向可分解为X方向和Y方向,其中定义X方向为:sign (targetX- x0) ;Y方向为:sign(targetY-y。),由此定义 Direction=f (X,Y)为:
当X=I时:
若 Y=I,则 Direction=?
若 Y=-1,则 Direction=5
若 Y=O,则 Direction=6
当X=-1时:
若 Y=I,则 Direction=I
若 Y=-1,则 Direction=3
若 Y=O,则 Direction=2
当X=O时:
若 Y=I,则 Direction=O
若 Y=-1,则 Direction=4
若Y=0,则人员没有行走,不需要加载动画图片;
d)定义人员移动的步幅为speed,单位为像素,即每次人员移动的实时位置(targetX,targetY)为:
targetX = X0 + X X speed ;
targetY = y0 + Y X speed ;
此时,对应的图片为Pictrue [f (X,Y) ] [step]。
[0016]如图7所示,人员从位置(X,y)移动到位置(w,z)处,则有: w = X + XX speed ; z = y + YX speed ;
(x, y)与(w,z)位置对应人物图片分别为Pictrue [Direction] [O],Pictrue[Direction] [I]。
[0017]基于GIS的地图指挥调度使用本发明使得被调度人员具有更丰富的行走动画,从而提高了该系统的用户体验效果(如图3)。
[0018]术语解释:
GIS: (Geographic Information System 或 Geo — Information system, GIS)是在计算机硬、软件系统支持下,对整个或部分地球表层(包括大气层)空间中的有关地理分布数据进行采集 、储存、管理、运算、分析、显示和描述的技术系统;
GPS:英文Global Locationing System (全球定位系统)的简称;
屏幕坐标:屏幕坐标是以屏幕左上角为原点,水平轴为X轴,其中原点以右为正,以左为负;垂直轴为Y轴,其中原点以下为正,以上为负;
地理坐标:用经度、纬度表示地面点位置的球面坐标;
sign函数:符号函数(一般用sgn(x)表示)能够把函数的符号析离出来;在数学和计算机运算中,其功能是取某个数的符号(正或负):当X≥O, sign(x)=l;当x〈0, sign(x)=-l;
GIS指挥调度系统:采用GIS及GPS技术实现对各类事件现场的工作人员(如武警、公安等)跟踪定位,实现可视化远程指挥调度;
Location类:Openscales开发包中的类,位置为
org.0penscales.geometry, basetypes.Location,该类的具体实现请参考 openscales开发包手册;
Pixel类:Openscales开发包中的类,位置为
org.0penscales.geometry, basetypes.Pixel,该类的具体实现请参考 openscales 开发包手册。
【权利要求】
1.适于多种地图的Gis指挥调度系统的人物动画实现方法,其特征在于方法如下: 一、地图与Group容器的实时对应,即Group容器的(0,O)位置始终保持与地图的坐标(minLong, maxLat)对应,定义地图的经纟韦度范围:经度minLong-maxLong,维度minLat—maxLat ; O获取地图加载时的最大经纬度与最小经纬度数据; 2)使用最大与最小经讳度数据实例化Location类,获取Location实例对象; 3)使用步骤2)中Location实例对象,实例化Pixel类; 4)使用Pixel实例获取到地图(minLong,maxLat)对应的像素标准值(x, y); 5)令Group容器(0,O)位置的像素值为步骤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容器中的当前位置为(xQ,yQ),目标位置为(targetX,targetY); b)人员动画图片使用二维数组存放,定义为Pictures[Direction] [Step],其中Direction范围为O到7,表示八个方向,即上、下、左、右、左上、左下、右上、右下;St印范围为O到I,表示人员行走的动作分解; c)计算Direction的方法: 人员行走的方向可分解为X方向和Y方向,其中定义X方向为:sign (targetX- x0) ;Y方向为:sign(targetY-y。),由此定义 Direction=f(X, Y)为: 当X=I时:
若 Y=I,则 Direction=?
若 Y=-1,则 Direction=5
若 Y=O,则 Direction=6
当X=-1时:
若 Y=I,则 Direction=I
若 Y=-1,则 Direction=3
若 Y=O,则 Direction=〗 当X=O时:
若 Y=I,则 Direction=O
若 Y=-1,则 Direction=4 若y=0,则人员没有行走,不需要加载动画图片; d)定义人员移动的步幅为speed,单位为像素,即每次人员移动的实时位置(targetX,targetY)为:
targetX = X0 + X X speed ;
targetY = y0 + Y X speed ; 此时,对应的图 片为Pictrue [f (X,Y) ] [step]。
【文档编号】G06F9/44GK104007970SQ201410227186
【公开日】2014年8月27日 申请日期:2014年5月27日 优先权日:2014年5月27日
【发明者】韩德培, 杨东成, 林强, 庞小斌, 陈洁伟 申请人:东方通信股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1