一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种多方协作标绘会商系统的制作方法

2022-04-16 15:58:29 来源:中国专利 TAG:

1.本发明属于线上标绘商议技术领域,尤其涉及一种多方协作标绘会商系统。


背景技术:

2.传统标绘系统都是单用户标绘,且只支持地图、图片、白板中的一种,它不能满足多用户同时进行标绘、多方式自由切换的需求,因此无法实现跨区域、多方式的标绘,在协同方面较为薄弱。单纯的以电子画板的方式无法实现多方在线的协同绘制,也无法因对多场景的需要。


技术实现要素:

3.本发明针对现有技术的不足,提供了一种多方协作标绘会商系统。
4.本发明通过以下技术手段实现解决上述技术问题的:一种多方协作标绘会商系统,包括服务器和多个终端,所述服务器双向连接多个终端;
5.协作标绘包括如下步骤:
6.s1.所有的终端中均建立有显示图层,所述显示图层上覆盖有一层标注图层,显示图层透过注图层显示内容;
7.s2.用一个终端在标注图层中建立坐标系,并将坐标系信息传输到服务器,服务器再将坐标系信息传输到其他终端,其他终端将坐标系重现在标注图层;
8.s3.在一个终端上传图像,再将图像放置到显示图层中显示,随后确定图像对应到标注图层中坐标系的位置信息,并将图像和图像对应到坐标系的位置信息传输到服务器,服务器再将图像和图像对应到坐标系的位置信息传输到其他终端,其他终端在显示图层重现图像;
9.s4.任意一个终端将输入标绘路径信息对应到标注图层里坐标系中,采集标绘路径经过的坐标点数据,将采集的标绘路径经过的坐标点数据传输到服务器,服务器再传输到其他终端,其他终端将收到的坐标点数据对应到坐标系中还原并显示标绘数据。
10.作为上述技术方案的改进,
11.所述的确定图像对应到坐标系的位置信息具体如下:
12.首先定义图像中任意一点为坐标原点,然后以此为基础读取图像中其他任意多个点的坐标数据,随后依据读取的多个点的坐标数据对应到标注图层中建立坐标系。
13.作为上述技术方案的改进,所述终端上设置安装有触摸屏,采集标绘路径经过的坐标点数据具体步骤如下:
14.1).开始记录:系统监听到设备屏幕的addmousedownevent方法后,开始记录;
15.2).记录坐标数据:每间隔0.3s记录一次addmousemoveevent方法产生的坐标点数据,生成一个json数组;
16.3).结束记录:系统监听到设备屏幕的addmouseupevent方法后,结束记录。
17.作为上述技术方案的改进,所述还原并显示标绘数据具体步骤如下:
18.1)、解析数据:终端收到服务器返回的json数据后,将坐标数据单独取出。
19.2)、还原数据:使用drawpath方法将坐标数据还原至图像中对应位置,并将坐标点之间产生连线。
20.3)、还原结束:清除缓存数据,结束标绘。
21.5.根据权利要求1所述的一种多方协作标绘会商系统,其特征在于,所述图像包括gis、图片、白板。
22.作为上述技术方案的改进,所述采集的标绘路径经过的坐标点数据包括标绘人信息、标绘坐标数据、标绘颜色。
23.作为上述技术方案的改进,所述图像为2.5d模型、3d模型,所述显示图层显示图像为利用3d引擎完成加载的2.5d模型、3d模型图像。
24.本发明的有益效果是:本技术方案提出的一种多方协作标绘会商系统可基于地图、图片、白板等多种形式进行多向标绘,支持多人同时进行输入,即时同步显示。
25.并且本技术方案实现了多用户跨地区协同标绘,从而能够大大提高了商议效率。
具体实施方式
26.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
27.需要说明的是,当元件被称为“固定于”另一个元件,它可以直接在另一个元件上或者也可以存在居中的元件。当一个元件被认为是“连接”另一个元件,它可以是直接连接到另一个元件或者可能同时存在居中元件。
28.多终端跟标绘服务器通过socket方式建立长连接,基于长连接的通信方式,支持标绘过程中多人同时标绘,多方即时显示;终端a进行标绘,通过长连接将标绘数据传至标绘服务器,标绘服务器将标绘数据分发至其他终端b、c、d,终端b、c、d将接收到的标绘信息解析并显示。
29.实施例1
30.gis标绘时,
31.1、创建标绘:终端a向会议服务器创建一个会议a,获取会议id;终端a基于gis地图的坐标系,设定一个原坐标并以此为中心并在gis上层新建透明的标绘层;终端a将会议id、标绘类型(gis)、原坐标和用户信息发送至标绘服务器创建一个标绘房间并和标绘服务器建立长连接。
32.2、加入标绘:终端b、c、d为会议a的参会者,将会议a的会议id、标绘类型和用户信息发送至标绘服务器;标绘服务器匹配会议id,将终端b、c、d放入终端a创建的标绘房间中,并与终端b、c、d建立长连接;终端b、c、d接收标绘服务器返回的原坐标,定位至gis地图原坐标点以此为中心,并在gis上层新建透明的标绘层;。
33.3、进行标绘:用户在终端a中使用终端自带的触屏功能进行标绘,利用触屏事件响应函数,增加移动监听响应事件函数,该函数实时监听触屏时在地图上的滑动动作,记录触屏在地图上滑动时屏幕坐标序列值和经纬度坐标序列值。通过滑动的方式,分别绘制出直
线、曲线、圆形、方形、箭头等形状,手指离开后,通过在地图的其他地点进行滑动,绘制出第二个形状,依次类推,绘制出多个多种不规则图形。
34.4、向标绘服务器发送标绘数据:标绘的协同控制是以会议为单位的,标绘数据的广播转发需要带上会议id参数。包括会会议id、标绘人信息、标绘坐标数据、标绘颜色。
35.5、标绘服务器接收标绘数据:标绘服务器端使用java与socket服务程序搭建,客户端使用安卓技术开发。协同标绘采用channel底层实现数据的同步。终端之间的数据传输使用socket方式通信,终端与标绘服务器使用http协议。
36.6、标绘服务器存储标绘数据:标绘服务器收到终端a传输过来的标绘数据后,将数据临时存储于gvm内存中,并将数据存于数据库。
37.7、标绘服务器分发标绘数据:标绘服务器通过终端a的会议id查询终端a所在的标绘室,列举标绘室的所有成员并剔除终端a,通过socket方式将标绘数据传输给剔除了终端a的其他所有成员。
38.8、接收标绘数据:终端b、c、d通过socket方式,接收标绘服务器传输的标绘数据。
39.9、解析标绘数据:终端b、c、d将收到的标绘数据进行解析。
40.10、显示标会数据:终端b、c、d使用标绘显示函数将标绘数据显示在终端的标绘层相应位置上,完成标绘操作。
41.实施例2
42.图片标绘时:
43.1、创建图片标绘:终端a在本机选择一张图片并设置图像的左下角跟原坐标对齐,记录并同步x,y轴上图像的坐标点,例如:(0,600),(800,0);终端a在图片上层新建透明的标绘层;终端a将会议id、标绘类型(图片)、图片信息、原坐标、x/y轴坐标点和用户信息发送至标绘服务器创建一个图片标绘房间并和标绘服务器建立长连接。
44.2、加入图片标绘:终端b、c、d将会议a的会议id、标绘类型(图片)和用户信息发送至标绘服务器;标绘服务器匹配会议id,将终端b、c、d放入终端a创建的图片标绘房间中,并与终端b、c、d建立长连接;终端b、c、d接收来自标绘服务器的图片信息、原坐标、x/y轴坐标点进行还原并在图片上层新建透明的标绘层。
45.3、进行图片标绘:用户在终端a中使用终端自带的触屏功能进行标绘,利用触屏事件响应函数,增加移动监听响应事件函数,该函数实时监听触屏时在地图上的滑动动作,记录触屏在地图上滑动时屏幕坐标序列值和经纬度坐标序列值。通过滑动的方式,分别绘制出直线、曲线、圆形、方形、箭头等形状,手指离开后,通过在地图的其他地点进行滑动,绘制出第二个形状,依次类推,绘制出多个多种不规则图形。
46.4、向标绘服务器发送标绘数据:标绘的协同控制是以会议为单位的,标绘数据的广播转发需要带上会议id参数。包括会会议id、标绘人信息、标绘坐标数据、标绘颜色。
47.5、标绘服务器接收标绘数据:标绘服务器端使用java与socket服务程序搭建,客户端使用安卓技术开发。协同标绘采用channel底层实现数据的同步。终端之间的数据传输使用socket方式通信,终端与标绘服务器使用http协议。
48.6、标绘服务器存储标绘数据:标绘服务器收到终端a传输过来的标绘数据后,将数据临时存储于gvm内存中,并将数据存于数据库。
49.7、标绘服务器分发标绘数据:标绘服务器通过终端a的会议id查询终端a所在的标
绘室,列举标绘室的所有成员并剔除终端a,通过socket方式将标绘数据传输给剔除了终端a的其他所有成员。
50.8、接收标绘数据:终端b、c、d通过socket方式,接收标绘服务器传输的标绘数据。
51.9、解析标绘数据:终端b、c、d将收到的标绘数据进行解析。
52.10、显示标会数据:终端b、c、d使用标绘显示函数将标绘数据显示在终端标绘层的相应位置上,完成标绘操作。
53.实施例3
54.白板标绘时:
55.1、创建白板标绘:终端a将会议id、标绘类型(白板)、原坐标、白板x,y轴上图像的坐标点,例如:(0,600),(800,0)和用户信息发送至标绘服务器创建一个白板标绘房间并和标绘服务器建立长连接;终端a在白板上层新建透明的标绘层。
56.2、加入白板标绘:终端b、c、d将会议a的会议id、标绘类型(白板)和用户信息发送至标绘服务器;标绘服务器匹配会议id,将终端b、c、d放入终端a创建的白板标绘房间中,并与终端b、c、d建立长连接;终端b、c、d接收来自标绘服务器的白板信息、原坐标、x/y轴坐标点进行还原并在白板上层新建透明的标绘层。
57.3、进行图白板标绘:用户在终端a中使用终端自带的触屏功能进行标绘,利用触屏事件响应函数,增加移动监听响应事件函数,该函数实时监听触屏时在地图上的滑动动作,记录触屏在地图上滑动时屏幕坐标序列值和经纬度坐标序列值。通过滑动的方式,分别绘制出直线、曲线、圆形、方形、箭头等形状,手指离开后,通过在地图的其他地点进行滑动,绘制出第二个形状,依次类推,绘制出多个多种不规则图形。
58.4、向标绘服务器发送标绘数据:标绘的协同控制是以会议为单位的,标绘数据的广播转发需要带上会议id参数。包括会会议id、标绘人信息、标绘坐标数据、标绘颜色。
59.5、标绘服务器接收标绘数据:标绘服务器端使用java与socket服务程序搭建,客户端使用安卓技术开发。协同标绘采用channel底层实现数据的同步。终端之间的数据传输使用socket方式通信,终端与标绘服务器使用http协议。
60.6、标绘服务器存储标绘数据:标绘服务器收到终端a传输过来的标绘数据后,将数据临时存储于gvm内存中,并将数据存于数据库。
61.7、标绘服务器分发标绘数据:标绘服务器通过终端a的会议id查询终端a所在的标绘室,列举标绘室的所有成员并剔除终端a,通过socket方式将标绘数据传输给剔除了终端a的其他所有成员。
62.8、接收标绘数据:终端b、c、d通过socket方式,接收标绘服务器传输的标绘数据。
63.9、解析标绘数据:终端b、c、d将收到的标绘数据进行解析。
64.10、显示标会数据:终端b、c、d使用标绘显示函数将标绘数据显示在终端的标绘层相应位置上,完成标绘操作。
65.实施例4
66.2.5d、3d模型标绘时:
67.1、创建2.5d、3d模型标绘:终端a选择2.5d、3d模型并设置原坐标,将会议id、标绘类型(2.5d、3d模型)、选择的2.5d、3d模型id和用户信息发送至标绘服务器创建一个图片标绘房间并和标绘服务器建立长连接;终端a在2.5d、3d模型上新建透明标绘层。
68.2、加入2.5d、3d模型标绘:终端b、c、d将会议a的会议id、标绘类型(2.5d、3d模型)和用户信息发送至标绘服务器;标绘服务器匹配会议id,将终端b、c、d放入终端a创建的图片标绘房间中,并与终端b、c、d建立长连接,接收到服务器传输的2.5d、3d模型、原坐标后,使用3d引擎完成加载并在2.5d、3d模型上新建透明标绘层。
69.3、进行3d标绘:用户在终端a中使用终端自带的触屏功能进行标绘,利用触屏事件响应函数,增加移动监听响应事件函数,该函数实时监听触屏上的滑动动作,记录触屏上滑动时屏幕坐标序列值和经纬度坐标序列值。通过滑动的方式,分别绘制出直线、曲线、圆形、方形、箭头等形状,手指离开后,通过在地图的其他地点进行滑动,绘制出第二个形状,依次类推,绘制出多个多种不规则图形。
70.4、向标绘服务器发送标绘数据:标绘的协同控制是以会议为单位的,标绘数据的广播转发需要带上会议id参数。包括会会议id、标绘人信息、标绘坐标数据、标绘颜色。
71.5、标绘服务器接收标绘数据:标绘服务器端使用java与socket服务程序搭建,客户端使用安卓技术开发。协同标绘采用channel底层实现数据的同步。终端之间的数据传输使用socket方式通信,终端与标绘服务器使用http协议。
72.6、标绘服务器存储标绘数据:标绘服务器收到终端a传输过来的标绘数据后,将数据临时存储于gvm内存中,并将数据存于数据库。
73.7、标绘服务器分发标绘数据:标绘服务器通过终端a的会议id查询终端a所在的标绘室,列举标绘室的所有成员并剔除终端a,通过socket方式将标绘数据传输给剔除了终端a的其他所有成员。
74.8、接收标绘数据:终端b、c、d通过socket方式,接收标绘服务器传输的标绘数据。
75.9、解析标绘数据:终端b、c、d将收到的标绘数据进行解析。
76.10、显示标会数据:终端b、c、d使用标绘显示函数将标绘数据显示在终端的标绘层相应位置上,完成标绘操作。
77.上述所写的标绘数据及函数为:
78.1、基于gis时,标绘数据是基于手指滑动时经过的gis坐标序列值和经纬度坐标序列值,通过addmousedownevent、addmouseupevent、addmousemoveevent三个函数获取标绘数据,解析显示时使用getlayer().add函数还原并显示标绘数据。
79.2、基于图片时,首先定义图片左上角为原坐标(0,0),以此为基础,标绘数据基于手指滑动时经过的标绘层坐标序列值和经纬度坐标序列值,使用motionevent.action_move、motionevent.action_down、motionevent.action_up三个函数获取标绘数据,使用drawpath()函数还原并显示标绘数据。
80.3、基于白板时,首先定义透明标绘层的初始宽高为1920*1080,同时以左上角为原坐标(0,0),以此为基础,标绘数据基于手指滑动时经过的标绘层坐标序列值和经纬度坐标序列值,使用motionevent.action_move、motionevent.action_down、motionevent.action_up三个函数获取标绘数据,使用drawpath()函数还原并显示标绘数据。
81.4、基于3d时,首先定义透明标绘层的初始宽高为1920*1080,同时以左上角为原坐标(0,0),以此为基础,标绘数据基于手指滑动时经过的标绘层坐标序列值和经纬度坐标序列值,使用motionevent.action_move、motionevent.action_down、motionevent.action_
up三个函数获取标绘数据,使用drawpath()函数还原并显示标绘数据。
82.需要说明的是,在本文中,如若存在第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
83.以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献