[发明专利]一种基于XEmbed的交互式地图组件动态嵌入方法及系统有效
申请号: | 201811307427.0 | 申请日: | 2018-11-05 |
公开(公告)号: | CN109582308B | 公开(公告)日: | 2021-12-28 |
发明(设计)人: | 万伟;兰穹穹;郝雪涛 | 申请(专利权)人: | 中国资源卫星应用中心 |
主分类号: | G06F8/38 | 分类号: | G06F8/38 |
代理公司: | 中国航天科技专利中心 11009 | 代理人: | 马全亮 |
地址: | 100094 北京*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 xembed 交互式 地图 组件 动态 嵌入 方法 系统 | ||
1.一种基于XEmbed的交互式地图组件动态嵌入方法,其特征在于步骤如下:
(1)封装地图组件;
(2)基于XEmbed协议,将所述封装的地图组件嵌入主程序中;
将封装的地图组件嵌入主程序中,具体为:
(2.1)启动主程序,在主程序中创建一个目标容器的容器窗体;
(2.2)主程序获得所述容器窗体的唯一标识ID,并将唯一标识ID写入一个临时文件;
(2.3)启动封装的地图组件,该程序在内部实例化一个地图组件嵌入窗体,并对该地图组件嵌入窗体进行初始化;
(2.4)封装的地图组件程序读取临时文件中的容器窗体的唯一标识ID,地图组件嵌入窗体获取容器窗体的唯一标识ID,地图组件嵌入窗体作为发起者,调用符合XEmbed协议的嵌入函数,将容器窗体唯一标识ID作为函数参数,完成嵌入窗体到容器窗体的嵌入过程;
(3)进行主程序和地图组件程序之间关于地图图层和其他图层操作的消息传递,从而完成基于XEmbed的交互式地图组件动态嵌入;
具体为:
(3.1)在封装的地图组件程序中,创建用于远程过程调用的类和方法;
(3.2)在封装的地图组件程序的初始化中,声明用于接收主程序远程过程调用的关于图层操作的远程过程调用函数;
(3.3)远程过程调用函数发送的信号声明为不阻塞原有进程的类型,此时信号与槽函数关系是异步执行;当信号发出后,排队到信号队列中,需等到接收对象取得控制权时才取得该信号,调用相应的槽函数;而远程过程调用函数中发送信号后面的代码无需等待槽函数执行完毕,而是在发出信号后立即被执行;
(3.4)将实现执行图层操作的函数声明为QT的槽函数,在槽函数中实现加载图层、删除图层、移动图层和图层变换的操作;
(3.5)连接远程过程调用函数发送的信号和槽函数,准备接收主程序调用信息;
(3.6)在主程序中,创建远程过程调用的客户端,客户端负责接收来自主程序的用户输入信息;
(3.7)在封装的地图组件程序中,创建一个独立的进程池,实例化并启动一个服务器对象,将所有声明的远程过程调用函数注册到服务器。
2.根据权利要求1所述的一种基于XEmbed的交互式地图组件动态嵌入方法,其特征在于:所述步骤(1)封装地图组件具体为:利用地图组件库API实现一个交互式地图实例,并为该实例增加含有窗口标识ID的独立窗体,将地图组件封装成一个Python语言和PyQT库编写的符合QX11协议的可嵌入窗体。
3.根据权利要求1所述的一种基于XEmbed的交互式地图组件动态嵌入方法,其特征在于:启动嵌入时,通过封装后的地图组件发起。
4.根据权利要求1所述的一种基于XEmbed的交互式地图组件动态嵌入方法,其特征在于:所述步骤(2.3)对该地图组件嵌入窗体进行初始化具体为:
(a)创建一个应用;
(b)实例化一个地图组件嵌入窗体类;
(c)读取用户定义的配置文件;
(d)根据配置文件,设置地图组件嵌入窗体的布局和风格;
(e)根据配置文件,依次加载地图组件嵌入窗体的工具条、工具条上的地图工具按钮、地图组件嵌入窗体的状态栏、地图底图图层;
(f)确定当地图组件程序启动时默认被激活的地图工具按钮;
(g)进入地图组件程序的主循环。
5.根据权利要求1所述的一种基于XEmbed的交互式地图组件动态嵌入方法,其特征在于:主程序和封装的地图组件程序均为独立进程。
6.根据权利要求1所述的一种基于XEmbed的交互式地图组件动态嵌入方法,其特征在于:所述关于图层操作的远程过程调用函数具体为:
所述关于图层操作的远程过程调用函数能够被主程序调用,其内部实现了地图和图像图层的操作,远程过程调用函数的文本形式参数代表了从主程序发送到封装的地图组件程序的关于图层、元数据的信息,在远程过程调用函数中通过发送信号触发内部机制执行相应的图层操作。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国资源卫星应用中心,未经中国资源卫星应用中心许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811307427.0/1.html,转载请声明来源钻瓜专利网。