CN1710535A - 一种gis应用系统及其开发方法 - Google Patents
一种gis应用系统及其开发方法 Download PDFInfo
- Publication number
- CN1710535A CN1710535A CN 200510025728 CN200510025728A CN1710535A CN 1710535 A CN1710535 A CN 1710535A CN 200510025728 CN200510025728 CN 200510025728 CN 200510025728 A CN200510025728 A CN 200510025728A CN 1710535 A CN1710535 A CN 1710535A
- Authority
- CN
- China
- Prior art keywords
- plug
- unit
- platform
- interface
- gis
- 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.)
- Pending
Links
Images
Abstract
本发明供一种GIS应用系统,包括GIS平台,插件和系统接口,所述的系统接口包括平台接口和插件接口;所述插件实现具体的和业务逻辑相关的任务;所述平台接口完全由平台实现,插件只是调用和使用;所述的插件接口完全由插件实现,GIS平台也只是调用和使用。本发明通过运用GIS平台技术,在程序中建立了多个自定义的接口,使插件能够访问程序中的各种资源,同时使GIS平台可以通过调用插件执行具体的功能。当插件的接口公开后,任何公司或个人都可以制作自己的插件来解决一些操作上的不便或增加新的功能,从而增加软件系统的可扩展性并延长软件系统的生命周期。
Description
技术领域
本发明涉及一种GIS(地理信息技术)应用系统及其开发方法,尤其涉及一种通过调用插件执行具体功能的GIS应用系统及其开发方法。
背景技术
近几年来,地理信息技术(GIS)得到了迅猛的发展,并在交通监控,城市规划,交通导航等多个领域得到了广泛的应用。针对这些应用,很多厂家都开发了相应的软件系统,但是这些GIS应用系统一般是单独针对某一具体应用开发出来,不同的应用系统在二进制层次上缺乏可扩展性。
大型GIS系统的实现,通常需要多人协作进行软件开发与设计,这时一个比较棘手的问题就是如何将若干人所编写的软件代码进行无缝地集成。传统的方法是在源代码层次上进行集成,同时配合使用链接库或组件,但经常的情况是每次程序集成和代码维护都需要重新编译与链接源代码,然后重新发布新软件,这种工作不仅麻烦而且加重软件系统维护的工作量。
发明内容
本发明所要解决的技术问题是提供一种通过调用插件执行具体功能的GIS应用系统及其开发方法,该GIS应用系统实现了在不修改GIS应用系统中其它模块的情况下可以对软件功能进行动态扩展与加强,同时降低了开发过程中的复杂性,提高了系统的可复用能力。
为了解决上述技术问题,本发明提供一种GIS应用系统,包括GIS平台、插件和系统接口,所述的系统接口包括平台接口和插件接口;
所述插件实现具体的和业务逻辑相关的任务;
所述平台接口完全由平台实现,插件只是调用和使用,其实现插件向GIS平台方向的单向通信,插件通过调用平台接口可获取GIS平台的各种资源和数据;
所述的插件接口完全由插件实现,GIS平台也只是调用和使用,插件接口实现GIS平台向插件方向的单向通信,GIS平台通过调用插件接口调用插件所实现的功能。
进一步地,本发明还提供一种GIS应用系统的开发方法,其包括如下步骤:
步骤1、确定平台基本功能和插件要完成的系列化功能或扩展功能;
步骤2、定义平台扩展接口和插件接口:
步骤3、完成平台设计,主要是插件管理功能,包括插件载入功能、插件卸载功能、插件事件处理、插件高优先级回调过程处理以及插件UI处理;
步骤4、向插件开发者提供主平台程序,公布平台扩展接口和插件实现规范,同时提供辅助开发工具,用于自动生成基本的接口以及程序框架;
步骤5、开发插件,实现插件接口,继续完成主平台的内核功能,并公布新增加主平台扩展接口和插件接口;
步骤6、循环步骤4-5。
本发明的优点和技术上的进步:
通过运用GIS平台技术,在程序中建立了多个自定义的接口,使插件能够访问程序中的各种资源,同时使GIS平台可以通过调用插件执行具体的功能。当插件的接口公开后,任何公司或个人都可以制作自己的插件来解决一些操作上的不便或增加新的功能,从而增加软件系统的可扩展性并延长软件系统的生命周期。
1、可根据需求对系统进行灵活配置
通过使用GIS平台,可以将需要开发的目标系统分为平台和若干插件,平台和插件之间遵循预先定义的标准接口规范。在插件按要求开发完成之后,平台可以直接载入该插件,而不需要重新编译系统中其它模块的源程序。在系统的应用系统的运行过程中,可以根据需要载入或者卸载插件。同时,通过配置不同的插件集合,可以实现不同的业务需求。例如,可以通过加入车辆信息统计插件,包围圈设置插件来建立一个简单的交通监控系统;而同样的平台加入最短路径等插件可以建立一个交通路线查询应用系统。
2、GIS应用系统的开发与维护周期大大缩短
通过采用GIS平台技术,针对不同领域的业务需求,可以通过组合公共的平台和不同的插件集合来满足,从而使得软件开发厂商可以只维护一份平台代码。采用GIS平台技术开发的业务系统具有良好的模块性,在需求发生改变时,只需要更改相应插件的实现,然后重新编译插件,然后从GIS平台载入即可,这一过程中不需要对系统中的其它模块进行变更。
而且通过插件开发向导的引入,开发人员只要具备GIS系统的背景知识,就可以很快地开发出一个兼容插件,而不需要了解系统中其它部分的实现逻辑。
附图说明
图1是本发明的一个具体实施例的流程图。
图2是本发明的插件的注册过程的工作流程图。
图3是本发明的插件的事件处理过程的工作流程图。
图4是本发明的插件的卸载过程的工作流程图。
具体实施方式
本发明的GIS应用系统分成GIS平台、插件和应用系统接口三个部分。
1、GIS平台
GIS平台实现了GIS应用系统最核心的功能,同时具有对外部插件的调用、管理和协调功能,并具有对外部插件传递标准消息和事件的功能。
2、插件,其执某一具体的功能。
3、GIS系统接口
GIS系统接口包含两个标准接口,一个为由GIS平台所实现的平台接口,一个为插件所实现的插件接口。
平台接口完全由平台实现,插件只是调用和使用。平台接口实现插件向平台方向的单向通信,插件通过调用平台接口可获取主框架的各种资源和数据,包括各种系统句柄,程序内部数据结构等等。平台接口中只封装最常用也最基本的系统接口,而把具体的和业务逻辑相关的任务放到插件中完成。
插件接口完全由插件实现,平台也只是调用和使用。插件接口实现平台向插件方向的单向通信,平台通过调用插件接口调用插件所实现的功能。
如图1所示的是在GIS应用系统中实现交通监控功能和交通线路查询功能,即在GIS平台上设置若干插件,比如道路包围圈插件、车辆信息统计插件,道路查询插件等。
结合图1所示,进一步地,本发明的GIS应用系统的开发方法,包括如下步骤:
步骤1、确定平台基本功能和插件要完成的系列化功能或扩展功能。例如在插件载入时,经常需要使用GIS平台传入的各种数据执行初始化。而在卸载插件时,则需要释放已经分配的各种系统资源,并停止当前插件的执行。
步骤2、定义平台扩展接口和插件接口。
平台接口主要包括图层操作接口以及图层信息检索接口,用于供插件获取图层信息或控制图层显示方式。
插件接口主要包括插件初始化接口、插件释放接口,以及消息处理回调接口,用于供GIS平台调用,进行插件的初始化以及地图信息的处理。
步骤3、完成平台设计,主要是插件管理功能,包括插件载入功能、插件卸载功能、地图事件处理、插件高优先级回调过程处理以及插件UI处理等。
步骤4、向插件开发者提供主平台程序(执行代码),公布平台扩展接口和插件实现规范,同时提供辅助开发工具,用于自动生成基本的接口以及程序框架。
步骤5、插件开发者按要求开发插件,实现插件接口,开发者可使用提供的主平台程序测试插件。
主平台设计者继续完成主平台的内核功能,并可随时公布新增加主平台扩展接口和插件接口。
步骤6、实现步骤4-5的良性循环,整个软件系统不断向前进化。
一、插件开发:
开发人员使用本发明提供的插件辅助开发组件,生成插件框架,并加入具体业务处理代码。在开发过程中,开发人员可以随时调用平台接口完成一些核心的GIS操作。
当插件开发完成之后,就可以运行测试版本的GIS平台载入插件,并结合运行过程中GIS平台给出的各种异常信息进行调试。
当插件调试完成之后,就可以载入发布版本的GIS平台中以扩展应用系统扩展。
二、插件注册
为了管理插件首先需要设计插件的注册机制,通过该机制,GIS平台可以搜索到系统中所有的可用插件,并在平台上生成各插件的调用点。而处理插件的注册请求时就首先需要为每插件设置一个特有标识,有了这个特有的插件,平台才可以使用,所述插件的载入具体的流程如图2所示:首先GIS平台启动、搜索插件、载入插件、检测插件版本以及兼容性、注册插件信息、查询插件接口、注册插件接口以及回调函数、初始化插件。
三、插件管理与调用
在平台的运行过程中,对插件的管理与调用涉及到两个方面:用户操作的相应和标准消息与事件的处理。
在每个插件注册成功之后,平台都对相应插件维护插件信息,并根据这些信息,对插件的每一个可调用功能均动态生成一个操作界面(例如:工具栏按钮,菜单项等)。同时在运行过程中,平台对每个插件的状态(比如是否处于激活状态、是否处于正常运行状态等),都有相应的记录信息。
当用户对通过这些操作界面进行操作时,平台将捕获到这些操作,同时回调相应的插件进行处理。
对于标准操作系统的消息以及GIS ActiveX控件的事件,在本发明中通过回调的方式进行处理。同时,值得一提的时,通过查询自身维护的插件信息,平台可以实现调用正确的插件进行消息和事件处理。具体工作流程如图3所示:首先事件被触发(地图事件、标准消息)、平台查询当前插件列表、执行插件的高优先级回调过程、调用各插件对当前事件的处理过程、执行平台对当前时间的处理过程、事件处理过程结束。
四、插件的卸载
需要卸载一个插件时。本发明采取如下的逻辑(如图4所示):
平台对插件的有效性进行验证,对于不合法的插件,直接从运行的程序中移去该可执行模块,而不作其它操作;
对于合法的组件,平台查询该插件的清除接口,如果该接口在插件中被实现,平台就调用并等待清除接口完成;
当插件卸载之后,平台将清除为该插件生成的用户操作界面元素;
最后,从平台中卸载这些插件的可执行模块,完成整个插件的卸载。
Claims (5)
1、一种GIS应用系统,包括GIS平台,其特征在于,还包括插件和系统接口,所述的系统接口包括平台接口和插件接口;
所述插件实现具体的和业务逻辑相关的任务;
所述平台接口完全由平台实现,插件只是调用和使用,其实现插件向GIS平台方向的单向通信,插件通过调用平台接口可获取GIS平台的各种资源和数据;
所述的插件接口完全由插件实现,GIS平台也只是调用和使用,插件接口实现GIS平台向插件方向的单向通信,GIS平台通过调用插件接口调用插件。
2、一种GIS应用系统的开发方法,其特征在于,包括如下步骤:
步骤1、确定平台基本功能和插件要完成的系列化功能或扩展功能;
步骤2、定义平台扩展接口和插件接口:
步骤3、完成平台设计,主要是插件管理功能,包括插件载入功能、插件卸载功能、插件事件处理、插件高优先级回调过程处理以及插件UI处理;
步骤4、向插件开发者提供主平台程序,公布平台扩展接口和插件实现规范,同时提供辅助开发工具,用于自动生成基本的接口以及程序框架;
步骤5、开发插件,实现插件接口,继续完成主平台的内核功能,并公布新增加主平台扩展接口和插件接口;
步骤6、循环步骤4-5。
3、根据权利要求2所述的GIS应用系统的开发方法,其特征在于,所述的插件载入方法为:首先GIS平台启动、搜索插件、载入插件、检测插件版本以及兼容性、注册插件信息、查询插件接口、注册插件接口以及回调函数、初始化插件。
4、根据权利要求2所述的GIS应用系统的开发方法,其特征在于,所述的插件事件的处理方法包括如下步骤:首先事件被触发、平台查询当前插件列表、执行插件的高优先级回调过程、调用各插件对当前事件的处理过程、执行平台对当前时间的处理过程、事件处理过程结束。
5、根据权利要求2所述的GIS应用系统的开发方法,其特征在于,所述的插件的卸载方法为包括如下步骤:
平台对插件的有效性进行验证,对于不合法的插件,直接从运行的程序中移去该可执行模块,而不作其它操作;
对于合法的组件,平台查询该插件的清除接口,如果该接口在插件中被实现,平台就调用并等待清除接口完成;
当插件卸载之后,平台将清除为该插件生成的用户操作界面元素;
最后,从平台中卸载这些插件的可执行模块,完成整个插件的卸载。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200510025728 CN1710535A (zh) | 2005-05-10 | 2005-05-10 | 一种gis应用系统及其开发方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200510025728 CN1710535A (zh) | 2005-05-10 | 2005-05-10 | 一种gis应用系统及其开发方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1710535A true CN1710535A (zh) | 2005-12-21 |
Family
ID=35706781
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200510025728 Pending CN1710535A (zh) | 2005-05-10 | 2005-05-10 | 一种gis应用系统及其开发方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1710535A (zh) |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101699405A (zh) * | 2009-10-26 | 2010-04-28 | 中兴通讯股份有限公司 | 一种宿主程序和插件及插件间进行交互的方法及装置 |
CN101907991A (zh) * | 2010-06-30 | 2010-12-08 | 天津大学 | 一种基于插件技术的电力系统分析软件接口实现方法 |
CN101539858B (zh) * | 2008-12-16 | 2012-05-09 | 厦门亿力吉奥信息科技有限公司 | 电力gis二次开发平台 |
CN102520967A (zh) * | 2011-12-28 | 2012-06-27 | 深圳市融创天下科技股份有限公司 | 一种创建与使用移动平台插件的方法、系统和移动终端 |
CN102591652A (zh) * | 2011-12-27 | 2012-07-18 | 广东威创视讯科技股份有限公司 | 拼墙业务中大模式的实现方法 |
CN102646056A (zh) * | 2012-03-01 | 2012-08-22 | 宁波电业局 | 基于电网gis平台的应用的功能扩展方法及装置 |
CN102915247A (zh) * | 2012-08-31 | 2013-02-06 | 杭州斯凯网络科技有限公司 | Apk插件化管理方法 |
CN103092645A (zh) * | 2012-12-31 | 2013-05-08 | 武汉中地数码科技有限公司 | 一种基于微内核技术的地理空间信息应用系统及其实现方法 |
CN103984553A (zh) * | 2014-05-26 | 2014-08-13 | 中科创达软件股份有限公司 | 一种3d桌面显示方法和系统 |
CN102347975B (zh) * | 2007-10-19 | 2015-12-16 | 神达电脑股份有限公司 | 提供终端使用者内容的导航系统及架构 |
CN105183468A (zh) * | 2015-08-31 | 2015-12-23 | 国家计算机网络与信息安全管理中心 | 一种开放式插件处理装置及分布式系统 |
CN105260206A (zh) * | 2015-10-10 | 2016-01-20 | 北京京东尚科信息技术有限公司 | 数据源插件实现方法及服务器 |
CN106126299A (zh) * | 2016-06-30 | 2016-11-16 | 百度在线网络技术(北京)有限公司 | 业务插件的处理方法及装置 |
CN106406930A (zh) * | 2016-08-25 | 2017-02-15 | 苏州蓝海彤翔系统科技有限公司 | 插件系统 |
CN106777271A (zh) * | 2016-12-29 | 2017-05-31 | 广东南方数码科技股份有限公司 | 一种基于服务资源池的自动搭建系统构建方法 |
CN107908390A (zh) * | 2017-10-12 | 2018-04-13 | 武汉中地数码科技有限公司 | 一种WebGIS应用的扩展方法及系统 |
CN110221834A (zh) * | 2019-06-12 | 2019-09-10 | 武汉海云空间信息技术有限公司 | 街景地图的开发方法及装置 |
CN111736922A (zh) * | 2020-07-23 | 2020-10-02 | 平安国际智慧城市科技股份有限公司 | 插件调用方法、装置、电子设备及存储介质 |
-
2005
- 2005-05-10 CN CN 200510025728 patent/CN1710535A/zh active Pending
Cited By (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102347975B (zh) * | 2007-10-19 | 2015-12-16 | 神达电脑股份有限公司 | 提供终端使用者内容的导航系统及架构 |
CN101539858B (zh) * | 2008-12-16 | 2012-05-09 | 厦门亿力吉奥信息科技有限公司 | 电力gis二次开发平台 |
CN101699405B (zh) * | 2009-10-26 | 2014-06-11 | 中兴通讯股份有限公司 | 一种宿主程序和插件及插件间进行交互的方法及装置 |
WO2011050632A1 (zh) * | 2009-10-26 | 2011-05-05 | 中兴通讯股份有限公司 | 一种宿主程序和插件及插件间进行交互的方法及装置 |
CN101699405A (zh) * | 2009-10-26 | 2010-04-28 | 中兴通讯股份有限公司 | 一种宿主程序和插件及插件间进行交互的方法及装置 |
CN101907991A (zh) * | 2010-06-30 | 2010-12-08 | 天津大学 | 一种基于插件技术的电力系统分析软件接口实现方法 |
CN102591652A (zh) * | 2011-12-27 | 2012-07-18 | 广东威创视讯科技股份有限公司 | 拼墙业务中大模式的实现方法 |
CN102520967A (zh) * | 2011-12-28 | 2012-06-27 | 深圳市融创天下科技股份有限公司 | 一种创建与使用移动平台插件的方法、系统和移动终端 |
CN102646056A (zh) * | 2012-03-01 | 2012-08-22 | 宁波电业局 | 基于电网gis平台的应用的功能扩展方法及装置 |
CN102915247B (zh) * | 2012-08-31 | 2015-08-19 | 杭州斯凯网络科技有限公司 | Apk插件化管理方法 |
CN102915247A (zh) * | 2012-08-31 | 2013-02-06 | 杭州斯凯网络科技有限公司 | Apk插件化管理方法 |
CN103092645B (zh) * | 2012-12-31 | 2016-02-10 | 武汉中地数码科技有限公司 | 一种基于微内核技术的地理空间信息应用系统及其实现方法 |
CN103092645A (zh) * | 2012-12-31 | 2013-05-08 | 武汉中地数码科技有限公司 | 一种基于微内核技术的地理空间信息应用系统及其实现方法 |
CN103984553A (zh) * | 2014-05-26 | 2014-08-13 | 中科创达软件股份有限公司 | 一种3d桌面显示方法和系统 |
CN103984553B (zh) * | 2014-05-26 | 2017-10-24 | 中科创达软件股份有限公司 | 一种3d桌面显示方法和系统 |
CN105183468A (zh) * | 2015-08-31 | 2015-12-23 | 国家计算机网络与信息安全管理中心 | 一种开放式插件处理装置及分布式系统 |
CN105260206A (zh) * | 2015-10-10 | 2016-01-20 | 北京京东尚科信息技术有限公司 | 数据源插件实现方法及服务器 |
CN105260206B (zh) * | 2015-10-10 | 2018-10-16 | 北京京东尚科信息技术有限公司 | 数据源插件实现方法及服务器 |
CN106126299A (zh) * | 2016-06-30 | 2016-11-16 | 百度在线网络技术(北京)有限公司 | 业务插件的处理方法及装置 |
CN106406930A (zh) * | 2016-08-25 | 2017-02-15 | 苏州蓝海彤翔系统科技有限公司 | 插件系统 |
CN106777271A (zh) * | 2016-12-29 | 2017-05-31 | 广东南方数码科技股份有限公司 | 一种基于服务资源池的自动搭建系统构建方法 |
CN107908390A (zh) * | 2017-10-12 | 2018-04-13 | 武汉中地数码科技有限公司 | 一种WebGIS应用的扩展方法及系统 |
CN110221834A (zh) * | 2019-06-12 | 2019-09-10 | 武汉海云空间信息技术有限公司 | 街景地图的开发方法及装置 |
CN111736922A (zh) * | 2020-07-23 | 2020-10-02 | 平安国际智慧城市科技股份有限公司 | 插件调用方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1710535A (zh) | 一种gis应用系统及其开发方法 | |
CN100570565C (zh) | 在管理程序中提供基于策略的操作系统服务的方法和系统 | |
CN1096642C (zh) | 高效利用空间的对象加锁的系统和方法 | |
CN1665200A (zh) | 多事件服务器系统的带故障恢复的事件所有权分配器 | |
US7865901B2 (en) | Managing memory resident objects to optimize a runtime environment | |
CN111061788A (zh) | 一种基于云架构的多源异构数据转换整合系统及其实现方法 | |
US20090320023A1 (en) | Process Migration Based on Service Availability in a Multi-Node Environment | |
CN1991768A (zh) | 与不同种类的资源通信的基于指令系统结构的内定序器 | |
CN1841331A (zh) | 为被先占的虚拟处理器分配应得处理器周期的方法和系统 | |
CN1534457A (zh) | 增强的运行时间主机支持 | |
CN1609789A (zh) | 模块化对象串行化体系结构 | |
US11327816B2 (en) | Monitoring components in a service framework | |
CN103870326B (zh) | 一种将中断处理程序底半部搬移到应用层的方法及应用 | |
CN101901149A (zh) | 处理信息的设备、方法和程序 | |
US20090319662A1 (en) | Process Migration Based on Exception Handling in a Multi-Node Environment | |
CN102473096A (zh) | 创建用于计算设备的软件组件的方法、装置以及计算机程序 | |
CN101216770A (zh) | 一种工作流引擎 | |
CN102508673B (zh) | 快速开发与配置平台类软件的系统及方法 | |
CN113760491A (zh) | 一种任务调度系统、方法、设备及存储介质 | |
CN1245685C (zh) | 基于构件的操作系统动态设备驱动的方法 | |
US20050086665A1 (en) | Autonomous device driver | |
CN102426535A (zh) | 动态进程虚拟化 | |
CN1932760A (zh) | 开发和执行平台 | |
CN107220101B (zh) | 一种容器创建方法和装置 | |
CN111897599A (zh) | 基于微核模型插件模式的服务方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |