CN109582308B - 一种基于XEmbed的交互式地图组件动态嵌入方法及系统 - Google Patents

一种基于XEmbed的交互式地图组件动态嵌入方法及系统 Download PDF

Info

Publication number
CN109582308B
CN109582308B CN201811307427.0A CN201811307427A CN109582308B CN 109582308 B CN109582308 B CN 109582308B CN 201811307427 A CN201811307427 A CN 201811307427A CN 109582308 B CN109582308 B CN 109582308B
Authority
CN
China
Prior art keywords
map component
map
embedding
program
main program
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
CN201811307427.0A
Other languages
English (en)
Other versions
CN109582308A (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.)
China Center for Resource Satellite Data and Applications CRESDA
Original Assignee
China Center for Resource Satellite Data and Applications CRESDA
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 China Center for Resource Satellite Data and Applications CRESDA filed Critical China Center for Resource Satellite Data and Applications CRESDA
Priority to CN201811307427.0A priority Critical patent/CN109582308B/zh
Publication of CN109582308A publication Critical patent/CN109582308A/zh
Application granted granted Critical
Publication of CN109582308B publication Critical patent/CN109582308B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces

Abstract

一种基于XEmbed的交互式地图组件动态嵌入方法及系统,首先对地图组件进行预先封装,成为可配置功能和风格,并有可嵌入窗体的独立程序,然后基于XEmbed协议将地图组件窗体嵌入到主程序中,基本的用户交互操作利用XEembed协议机制实现。并设计了一套基于远程过程调用的消息传递机制,支持主程序和地图组件程序之间的消息传递,进而实现了地图组件的完全交互。用户可以在自己的已有应用程序中动态地嵌入地图组件,无缝地显示在程序界面中的任意指定位置,并操作地图组件,调用相关功能。本发明实现容易,只需要进行修改配置,无需额外的编程工作和专业的地理信息系统知识。为用户在科学研究中实现交互式地图功能提供了一个简单、快捷、新颖的方法。

Description

一种基于XEmbed的交互式地图组件动态嵌入方法及系统
技术领域
本发明涉及一种基于XEmbed的交互式地图组件动态嵌入方法及系统,属于地理信息系统技术领域。
背景技术
随着航天器和传感器技术的发展,对地观测数据正在以前所未有的速度增长。具有空间信息的海量数据能够为众多学科领域的研究人员提供丰富的信息资源,带来巨大机会的同时也带来了新的挑战。科研人员需要更为方便、快捷的工具,用于展示这些地理空间数据和结果信息。
科研人员往往习惯按照桌面应用程序方式,开发自己定制化的科学计算模型算法,用于空间数据的处理和分析。当前该领域缺乏这样一种方法,能够提供轻量级的、以交互式地图为代表的地理空间信息显示方案,并具有高度的易用性,能被大多数应用程序所调用和整合。目前,已经有一些地理信息库或图形图像库可以支持在桌面应用程序或网络服务程序中的交互式地图显示。
例如,由桌面应用程序使用的:
ArcPy(http://pro.arcgis.com/en/pro-app/arcpy/main/arcgis-pro-arcpy-reference.htm),GRASS(http://grass.fbk.eu),GeoTools Java library(http://www.geotools.org/),uDig Desktop GIS(http://udig.refractions.net/),Mapnik(http://mapnik.org/)和QGIS(http://qgis.osgeo.org)。另外,还有一些网络浏览器客户端使用的类库。例如OpenLayers,(http://www.openlayers.org)是一个专为Web GIS客户端开发提供的类库包,用于实现标准格式发布的地图数据访问。而Leaflet(https://leafletjs.com/)是一个适用于移动端交互地图的主要的开源库。
然而,上述的方法存在着种种局限。首先,这些桌面程序类库一般是在主程序中通过API的方式调用,使用通常非常复杂,需要开发人员熟悉类库的API函数,并且具有大量专业地理信息系统知识和软件开发技能。这对于对地观测领域的科研人员来说是个巨大的挑战。其次,主程序和类库往往需要用同一种编程语言,在用一种编程环境下事先编译,缺少动态调用的灵活性,不利于修改和升级。有的类库仅仅提供了数据处理和现实功能,缺乏交互式的用户界面支持。最后,基于网络客户端的类库包的API函数相对简单,开发难度稍低,但是往往功能较少,局限于地图的显示。由于对地观测领域科研人员用户的需求存在多样性,不仅需要支持显示复杂异构的空间数据类型,包括矢量、栅格、分隔文本、网络地图瓦片和数据库,还需要获得输入数据和显示输出结果,频繁与地图进行互动操作,有时甚至需要支持空间分析操作。基于网络客户端的类库包没有提供空间分析操作相关的开发支持能力。
发明内容
本发明的技术解决问题是:克服现有技术的不足,提出了一种基于XEmbed的交互式地图组件动态嵌入方法及系统,解决了科学家等非专业开发人员在用户主程序中方便、快捷地集成交互式地图组件并调用相关功能的问题。
本发明的技术解决方案是:
一种基于XEmbed的交互式地图组件动态嵌入方法,步骤如下:
(1)封装地图组件;
(2)基于XEmbed协议,将所述封装的地图组件嵌入主程序中;
(3)进行主程序和地图组件程序之间关于地图图层和其他图层操作的消息传递,从而完成基于XEmbed的交互式地图组件动态嵌入。
所述步骤(1)封装地图组件具体为:利用地图组件库API实现一个交互式地图实例,并为该实例增加含有窗口标识ID的独立窗体,将地图组件封装成一个Python语言和PyQT库编写的符合QX11协议的可嵌入窗体。
启动嵌入时,通过封装后的地图组件发起。
将封装的地图组件嵌入主程序中,具体为:
(2.1)启动主程序,在主程序中创建一个目标容器的容器窗体;
(2.2)主程序获得所述容器窗体的唯一标识ID,并将唯一标识ID写入一个临时文件;
(2.3)启动封装的地图组件,该程序在内部实例化一个地图组件嵌入窗体,并对该地图组件嵌入窗体进行初始化;
(2.4)封装的地图组件程序读取临时文件中的容器窗体的唯一标识ID,地图组件嵌入窗体获取容器窗体的唯一标识ID,地图组件嵌入窗体作为发起者,调用符合XEmbed协议的嵌入函数,将容器窗体唯一标识ID作为函数参数,完成嵌入窗体到容器窗体的嵌入过程。
所述步骤(2.3)对该地图组件嵌入窗体进行初始化具体为:
(a)创建一个应用;
(b)实例化一个地图组件嵌入窗体类;
(c)读取用户定义的配置文件;
(d)根据配置文件,设置地图组件嵌入窗体的布局和风格;
(e)根据配置文件,依次加载地图组件嵌入窗体的工具条、工具条上的地图工具按钮、地图组件嵌入窗体的状态栏、地图底图图层、其他需要显示的图层;
(f)确定当地图组件程序启动时默认被激活的地图工具按钮;
(g)进入地图组件程序的主循环。
主程序和封装的地图组件程序均为独立进程。
所述步骤(3)进行主程序和地图组件程序之间关于地图和影像图层操作的消息传递,具体为:
(3.1)在封装的地图组件程序中,创建用于远程过程调用的类和方法;
(3.2)在封装的地图组件程序的初始化中,声明用于接收主程序远程过程调用的关于图层操作的远程过程调用函数;
(3.3)远程过程调用函数发送的信号声明为不阻塞原有进程的类型,此时信号与槽函数关系是异步执行;当信号发出后,排队到信号队列中,需等到接收对象取得控制权时才取得该信号,调用相应的槽函数;而远程过程调用函数中发送信号后面的代码无需等待槽函数执行完毕,而是在发出信号后立即被执行;
(3.4)将实现执行图层操作的函数声明为QT的槽函数,在槽函数中实现加载图层、删除图层、移动图层和图层变换的操作;
(3.5)连接远程过程调用函数发送的信号和槽函数,准备接收主程序调用信息;
(3.6)在主程序中,创建远程过程调用的客户端,客户端负责接收来自主程序的用户输入信息;
(3.7)在封装的地图组件程序中,创建一个独立的进程池,实例化并启动一个服务器对象,将所有声明的远程过程调用函数注册到服务器。
所述关于图层操作的远程过程调用函数具体为:
所述关于图层操作的远程过程调用函数能够被主程序调用,其内部实现了地图和图像图层的操作,远程过程调用函数的文本形式参数,代表了从主程序发送到封装的地图组件程序的关于图层、元数据的信息,在远程过程调用函数中通过发送信号触发内部机制执行相应的图层操作。
槽函数参数为主程序发送来的参数,为图层信息和操作信息。
一种根据所述的基于XEmbed的交互式地图组件动态嵌入方法实现的动态嵌入系统,包括:
封装模块:用于封装地图组件;
嵌入模块:用于基于XEmbed协议,将所述封装的地图组件嵌入主程序中;
消息传递模块:用于进行主程序和地图组件程序之间关于地图和影像图层操作的消息传递,从而完成基于XEmbed的交互式地图组件动态嵌入。
本发明与现有技术相比带来的有益效果为:
(1)支持动态无缝嵌入。利用动态嵌入方法,用户可以在运行自己开发的科学计算主程序时,动态地加载封装好的地图组件窗体,无缝地嵌入到主程序窗体的任意位置,界面风格浑然一体。
(2)支持完善的交互地图操作和空间数据处理分析功能。该方法调用了交互式地图组件,不仅可以显示空间数据,还利用一套地图工具来提高地图交互操作能力,实现空间数据处理分析。地图工具作为可选配置加入地图组件中,用户可以根据自己的需求选择地图工具。已经具备的工具包括地图浏览操作、地图提示、图层管理、地图类型、地图提示、地图样式、地图缩略图、地图用户时间和动作、地图工具插件。
(3)具有简单易用性。实现过程非常容易,无需大量的编程工作,只是需要进行参数配置即可。不具备开发知识技能的非专业用户也可以轻松地创建地图和叠加图层,并添加到他们的应用程序中。
(4)具有灵活性和可扩展性。根据XEmbed协议,客户端组件可以有多种语言的实现。动态嵌入的交互式地图组件为独立于主程序的独立进程,因此可以随时修改和更新,而不用重新编译主程序。交互式地图组件的界面设计为可配置的形式,所有的按钮、风格、布局都可以根据用户设置的不同而改变;交互式地图组件的功能设计为通用工具和插件的形式,可调用更多的外部地理信息库和应用程序功能,扩展支持更多的地图操作和数据处理分析需求。
附图说明
图1为本发明方法流程图。
具体实施方式
下面结合附图对本发明的具体实施方式进行进一步的详细描述。
随着遥感技术的发展,对地观测数据在越来越多的领域得到应用。科研人员需要更为方便、快捷的工具,用于展示空间数据和信息。目前,已经有一些地理信息类库包可以支持在桌面应用程序或网络服务程序中的交互式地图显示。但是,这类方法通常为在用户主程序中调用API的方式,存在着使用复杂,专业开发知识要求高,程序无法动态灵活扩展等种种局限。而且,交互式地图功能受到类库包函数功能的限制,仅仅支持地图显示,而不支持空间分析等扩展功能,难以满足用户的多种需求。
“地理空间数据可视化组件库”是一套易用易扩展、轻量级的地理空间数据可视化类库包,构建了空间数据操作和显示的集合,内部调用了常用的QGIS、Proj4、GDAL、OGR等地理信息系统和遥感数据处理库,允许用户在自己的程序中方便、灵活地显示空间数据图层,并支持交互操作和基本分析功能。用户可以很容易地实现一个具有各种地理信息基本功能的应用程序。可视化组件库包括一套地图应用程序接口和可以嵌入到多种开发语言环境(C/C++,Java,Python,Tcl/Tk等)的交互式地图组件。
基于XEmbed的交互式地图组件动态嵌入方法是该类库包的核心技术之一,能够无缝地将封装好的交互式地图组件嵌入到不同语言环境下编写的用户主程序中去,解决了动态嵌入的重要问题。最终目的是支持调用可视化类库包的各种功能,让开发者可以像搭积木一样,无需额外的编程工作,就能方便、快速地将科学模型算法、现有应用程序和交互式地图组件组装在一起,并在统一的界面中展示出来。
本发明为科学计算程序中实现地理空间数据可视化提供了一个简单、快捷、新颖的方法。科学家等没有专业开发经验的人员,能够以简单的方式创建具有地理空间数据显示功能的图形用户界面,从而加快研究进展。
如图1所示,本发明提出了一种基于XEmbed的交互式地图组件动态嵌入方法,步骤如下:
(1)封装地图组件;
利用地图组件库API实现一个交互式地图实例,为该实例增加符合XEmbed协议的可嵌入窗体,所有的外观风格和地图工具设计为由外部配置文件配置,这样将地图组件封装成一个Python语言编写的Qt独立程序,地图组件的可嵌入窗体将启动后获得窗口唯一标识ID。
(2)基于XEmbed协议,将所述封装的地图组件嵌入主程序中;启动嵌入时,通过封装后的地图组件发起。
具体为:
(2.1)启动主程序,在主程序中创建一个目标容器的容器窗体(组件是一个以图形化的方式显示在屏幕上并能与用户交互的对象,目标容器是一个能够嵌入外部组件窗体的图形位置,容器窗体可能是一个子窗口、窗体小部件、切换卡、或者组合框等。以MS Word为例,如果以文本区作为目标容器,文本区内的子窗口是容器窗体。如果以导航窗格区作为目标容器,导航窗体是容器窗体);
(2.2)主程序获得所述容器窗体的唯一标识ID,并将唯一标识ID写入一个临时文件;封装后的地图组件作为嵌入动作的发起者,调用基于XEmbed协议的Qt嵌入函数把自己的窗体嵌入目标容器窗体中。嵌入函数需要目标容器窗体的唯一标识ID作为参数,而只有主程序运行并实例化目标容器窗体后,才能产生目标容器窗体的唯一标识ID。
(2.3)启动封装的地图组件,该程序在内部实例化一个地图组件嵌入窗体,并对该地图组件嵌入窗体进行初始化;
具体为:
a、创建一个应用;
b、实例化一个地图组件嵌入窗体类;
c、读取用户定义的配置文件;
d、根据配置文件,设置地图组件嵌入窗体的布局和风格
e、根据配置文件,依次加载地图组件嵌入窗体的工具条、工具条上的地图工具按钮、地图组件嵌入窗体的状态栏、地图底图图层、其他需要显示的图层;
f、确定当地图组件程序启动时默认被激活的地图工具按钮;
g、进入地图组件程序的主循环。
(2.4)封装的地图组件程序读取临时文件中的容器窗体的唯一标识ID,地图组件嵌入窗体获取容器窗体的唯一标识ID,地图组件嵌入窗体作为发起者,调用符合XEmbed协议的嵌入函数,将容器窗体唯一标识ID作为函数参数,完成嵌入窗体到容器窗体的嵌入过程。
XEmbed协议提供了从一个应用程序到另一个应用程序的嵌入机制。此时,封装的地图组件被嵌入到主程序的容器窗体内,外观和风格完全一致,实现了无缝的自然融合。嵌入后的地图组件窗体也同样支持用户交互操作,具有以下特性:窗口激活状态、键盘焦点、标签链、键盘快捷键、拖放等。对于用户的所有交互操作,容器窗体和嵌入窗体有一致的响应。
(3)进行主程序和地图组件程序之间关于地图和其他图层操作的消息传递。此时地图组件程序已经嵌入到主程序中,地图组件程序和用户的交互消息通过XEembed协议来传递实现,但是地图组件程序和主程序的消息传递,需要自己设计的消息传递机制来实现。因为主程序和地图组件是一个操作系统里同时运行的两个独立进程,他们之间的传递消息是是一个进程间通信问题问题。例如,用户点击了主程序中的打开文件按钮,并选择了某个图层文件,这个时候,需要将主程序窗体获得的图层文件名信息,作为消息传递给地图组件程序,并且通知地图组件程序执行相应的加载图层函数。
具体为:
(3.1)在封装的地图组件程序中,创建用于远程过程调用的类和方法;
(3.2)在封装的地图组件程序的初始化中,声明用于接收主程序远程过程调用的关于图层操作的远程过程调用函数;
所述关于图层操作的远程过程调用函数具体为:
远程过程调用函数能够被主程序调用,其内部实现了地图底图和图像图层的操作,远程过程调用函数的文本形式参数,代表了从主程序发送到封装的地图组件程序的关于图层、元数据的信息,在远程过程调用函数中通过发送信号触发内部机制执行相应的图层操作。
远程过程调用函数将运行在一个线程池中。由于Qt图像库的线程安全机制,在线程池里直接调用基于Qt图像库的图层操作方法是不可行的,会引起内部错误。此时只能通过Qt图像库的信号机制完成。方法是将实际执行图层操作的函数声明为Qt槽函数,在槽函数中实现加载图层、删除图层等操作。在远程过程调用函数中实现发送信号函数,通过发送信号触发内部调用槽函数。
(3.3)远程过程调用函数发送的信号声明为不阻塞原有进程的类型;此时信号与槽函数关系是异步执行。当信号发出后,排队到信号队列中,需等到接收对象取得控制权时才取得该信号,调用相应的槽函数。而远程过程调用函数中发送信号后面的代码无需等待槽函数执行完毕,而是在发出信号后立即被执行。
(3.4)将实现执行图层操作的函数声明为Qt图像库的槽函数,在槽函数中实现加载图层、删除图层、移动图层和图层变换的操作;槽函数参数为主程序发送来的参数,为图层信息和操作信息。
(3.5)连接远程过程调用函数发送的信号和槽函数,准备接收主程序调用信息;
(3.6)在主程序中,创建远程过程调用的客户端,客户端负责接收来自主程序的用户输入信息;
(3.7)在封装的地图组件程序中,创建一个独立的进程池,实例化并启动一个服务器对象,将所有声明的远程过程调用函数注册到服务器。
如上述基于XEmbed的交互式地图组件动态嵌入方法实现的动态嵌入方法,本发明还提出一种动态嵌入系统,包括:封装模块、嵌入模块以及消息传递模块,
封装模块:用于封装地图组件;
嵌入模块:用于基于XEmbed协议,将所述封装的地图组件嵌入主程序中;
消息传递模块:用于进行主程序和地图组件程序之间关于地图和影像图层操作的消息传递,从而完成基于XEmbed的交互式地图组件动态嵌入。
以全球农业作物空间信息可视化为例,AgMIP是一个在线运行的科学工具,可以获得全球国家农业模型并分析气候对作物产量的影响。AgMIP工具连接农业模型工程库(AGMIP,www.agmip.org),全球交易分析网络(Global Trade Analysis Network GTAP),还可以远程访问全球网格作物模型归档数据(Global Gridded Crop ModelIntercomparison),提供数据聚合分析功能。该工具主程序是使用Java语言和Swing图形库编写的图形用户界面,内部科学模型是使用R语言编写的算法。
该工具使用了基于XEmbed的交互式地图组件动态嵌入方法,在主程序的中部左侧窗口容器中,无缝地嵌入了封装的地图组件程序。封装的地图组件程序可以将经过主程序计算的分析结果图层叠加到全球地图上,并可以利用上述消息传递方法交互式地进行图层选择、显示、缩放、移动、按照时序分析等操作。本方法简单方便,不改变主程序已有的Java图形界面代码,就能使主程序具备交互式地图功能。这让科研人员更容易地开发具有地理信息可视化功能的应用程序,而不用花费时间去了解或者处理关于地图数据管理或显示等繁琐的技术细节。
本发明说明书中未作详细描述的内容属于本领域专业技术人员的公知技术。

Claims (8)

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的交互式地图组件动态嵌入方法,其特征在于:所述关于图层操作的远程过程调用函数具体为:
所述关于图层操作的远程过程调用函数能够被主程序调用,其内部实现了地图和图像图层的操作,远程过程调用函数的文本形式参数代表了从主程序发送到封装的地图组件程序的关于图层、元数据的信息,在远程过程调用函数中通过发送信号触发内部机制执行相应的图层操作。
7.根据权利要求6所述的一种基于XEmbed的交互式地图组件动态嵌入方法,其特征在于:槽函数参数为主程序发送来的参数,为图层信息和操作信息。
8.一种根据权利要求1~7中任一项所述的基于XEmbed的交互式地图组件动态嵌入方法实现的动态嵌入系统,其特征在于包括:
封装模块:用于封装地图组件;
嵌入模块:用于基于XEmbed协议,将所述封装的地图组件嵌入主程序中;
消息传递模块:用于进行主程序和地图组件程序之间关于地图和影像图层操作的消息传递,从而完成基于XEmbed的交互式地图组件动态嵌入。
CN201811307427.0A 2018-11-05 2018-11-05 一种基于XEmbed的交互式地图组件动态嵌入方法及系统 Active CN109582308B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811307427.0A CN109582308B (zh) 2018-11-05 2018-11-05 一种基于XEmbed的交互式地图组件动态嵌入方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811307427.0A CN109582308B (zh) 2018-11-05 2018-11-05 一种基于XEmbed的交互式地图组件动态嵌入方法及系统

Publications (2)

Publication Number Publication Date
CN109582308A CN109582308A (zh) 2019-04-05
CN109582308B true CN109582308B (zh) 2021-12-28

Family

ID=65921419

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811307427.0A Active CN109582308B (zh) 2018-11-05 2018-11-05 一种基于XEmbed的交互式地图组件动态嵌入方法及系统

Country Status (1)

Country Link
CN (1) CN109582308B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111625299B (zh) * 2020-05-29 2023-09-01 广东阳普智慧医疗信息科技有限公司 一种异构系统程序集成方法
CN114416238B (zh) * 2021-12-28 2023-08-25 成都易达数安科技有限公司 一种基于动态布局技术的仪表盘智能配置方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1563895A (zh) * 2004-03-29 2005-01-12 天津汽车检测中心 车辆区域识别方法
CN101593209A (zh) * 2008-12-30 2009-12-02 中国科学院地理科学与资源研究所 一种交互式在线统计地图生成与发布装置及方法
CN102547231A (zh) * 2011-11-17 2012-07-04 杭州海康威视数字技术股份有限公司 基于浏览器的智能网络视频监控系统及其工作方法
CN107203192A (zh) * 2017-06-28 2017-09-26 上海应用技术大学 一种基于电子地图的移动机器人自动行驶控制系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8694245B2 (en) * 2010-12-02 2014-04-08 At&T Mobility Ii Llc Methods, devices, and computer program products for exchanging interactive map information

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1563895A (zh) * 2004-03-29 2005-01-12 天津汽车检测中心 车辆区域识别方法
CN101593209A (zh) * 2008-12-30 2009-12-02 中国科学院地理科学与资源研究所 一种交互式在线统计地图生成与发布装置及方法
CN102547231A (zh) * 2011-11-17 2012-07-04 杭州海康威视数字技术股份有限公司 基于浏览器的智能网络视频监控系统及其工作方法
CN107203192A (zh) * 2017-06-28 2017-09-26 上海应用技术大学 一种基于电子地图的移动机器人自动行驶控制系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
专题地图属性信息的Squarified树图可视化;田松等;《地理信息世界》;20150825;全文 *

Also Published As

Publication number Publication date
CN109582308A (zh) 2019-04-05

Similar Documents

Publication Publication Date Title
US20210303108A1 (en) System and method for on-screen graphical user interface encapsulation and reproduction
US8166396B2 (en) User interface rendering
US20040017392A1 (en) Web service control for use in a graphical programming environment
US20020165993A1 (en) System and method of partitioning software components of a monolithic component-based application program to separate graphical user interface elements for local execution at a client system in conjunction with remote execution of the application program at a server system
US10162604B2 (en) Navigation history visualization in integrated development environment
US20020041289A1 (en) Method and apparatus for producing functionality and user interfaces for devices having an embedded operating system
CN109582308B (zh) 一种基于XEmbed的交互式地图组件动态嵌入方法及系统
CN109445891B (zh) 画面组态及展示方法、装置、计算机可读存储介质
WO2016099317A1 (ru) Способ и система визуального управления данными
JPH07271586A (ja) コンパイルされたオブジェクトにおける呼び出しの動的指定
US10289388B2 (en) Process visualization toolkit
US11520473B2 (en) Switch control for animations
Lamberti et al. Extensible GUIs for remote application control on mobile devices
CN112965716A (zh) 页面处理方法、装置、电子设备及可读存储介质
CN103902274A (zh) 智能电视ui开发的平台
US9280323B2 (en) Display of source code semantic layers
US10768911B2 (en) Managing software components for software application development
KR101456507B1 (ko) N-스크린 적용을 위한 웹 어플리케이션 ui 저작 장치 및 그 저작 방법
US11392284B1 (en) System and method for implementing a dynamically stylable open graphics library
US20230350532A1 (en) System and method for on-screen graphical user interface encapsulation and application history reproduction
Randhawa User Interaction Optimization
WO2024039477A1 (en) Bridging ui elements across multiple operating systems
CN117707670A (zh) 应用程序的数据处理方法、装置、存储介质和电子装置
Wang Review and testing of plugins in Flutter for Android and IOS
CN116048491A (zh) 一种Tdu虚拟仿真可视化编辑器及其编辑方法

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