CN105183491A - 跨平台的桌面gis系统及其启动方法 - Google Patents
跨平台的桌面gis系统及其启动方法 Download PDFInfo
- Publication number
- CN105183491A CN105183491A CN201510686557.XA CN201510686557A CN105183491A CN 105183491 A CN105183491 A CN 105183491A CN 201510686557 A CN201510686557 A CN 201510686557A CN 105183491 A CN105183491 A CN 105183491A
- Authority
- CN
- China
- Prior art keywords
- data
- gis
- cross
- information system
- operating system
- 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
Landscapes
- User Interface Of Digital Computer (AREA)
Abstract
本发明公开了一种跨平台的桌面GIS系统及其启动方法。该系统包括操作系统支撑层;应用程序接口层,其中,应用程序接口层采用OSGi框架,基于Java语言,使用Java?Swing图形界面实现桌面的GIS功能的展现及交互;以及应用层,其中,应用层包括用于空间数据进行管理的数据管理模块、用于对空间数据按照GIS规则进行编辑处理得到GIS数据的数据处理模块、用于将GIS数据渲染成图的制图模块、用于在三维场景中进行GIS数据显示和浏览的三维应用模块以及用于根据业务需求对GIS数据进行空间位置上处理的空间分析模块。通过本发明,能够实现在windows、linux平台上对地理空间数据的处理、分析以及展示。
Description
技术领域
本发明涉及地理信息系统技术领域,具体而言,特别涉及跨平台的桌面GIS系统及其启动方法。
背景技术
地理信息系统(GeographicInformationSystem或Geo-InformationSystem,GIS)有时又称为“地学信息系统”。它是一种特定的十分重要的空间信息系统。它是在计算机硬、软件系统支持下,对整个或部分地球表层(包括大气层)空间中的有关地理分布数据进行采集、储存、管理、运算、分析、显示和描述的技术系统。
现有的GIS系统都是基于windows系统开发的,不能够在linux的操作系统下运行,从而限制了GIS系统的跨平台使用。
针对现有技术中GIS系统不能够跨平台使用的问题,目前尚未提出有效的解决方法。
发明内容
本发明的主要目的在于提供一种跨平台的桌面GIS系统及其启动方法,以解决现有技术中GIS系统不能够跨平台使用的问题。
依据本发明的一个方面,提供了一种跨平台的桌面GIS系统。
该系统包括:操作系统支撑层;应用程序接口层,其中,应用程序接口层采用OSGi框架,基于Java语言,使用JavaSwing图形界面实现桌面的GIS功能的展现及交互;以及应用层,其中,应用层包括用于空间数据进行管理的数据管理模块、用于对空间数据按照GIS规则进行编辑处理得到GIS数据的数据处理模块、用于将GIS数据渲染成图的制图模块、用于在三维场景中进行GIS数据显示和浏览的三维应用模块以及用于根据业务需求对GIS数据进行空间位置上处理的空间分析模块。
进一步地,数据管理模块具体用于:对空间数据的文件型、数据库型引擎的打开;对GIS系统外的GIS数据和非GIS格式的数据的导入支持;对空间数据进行复制、修改和删除;以及。对空间数据进行预定义规则的检查。
进一步地,空间分析模块具体用于:对GIS数据做预定条件的查询分析;以及对GIS数据做预定需求场景下的插值分析。
进一步地,制图模块具体用于:对GIS数据进行颜色的渲染;以及根据GIS数据自身的属性定义进行颜色或文字的渲染。
进一步地,操作系统支撑层为windows操作系统、银河麒麟操作系统、中标普华操作系统、起点操作系统、凝思磐石安全操作系统、共创Linux操作系统、中标麒麟操作系统或优麒麟操作系统。
进一步地,应用层的基础功能采用C++程序实现,并使用JNI技术对C++程序进行封装,以提供Java调用的API。
依据本发明的另一个方面,提供了应用本发明任意一种跨平台的桌面GIS系统的启动方法。
该方法包括:准备系统核心和框架;加载数据、地图、场景、布局和属性表所对应的UI界面,实现数据和窗体基础的准备;加载数据、地图、场景、布局、拓扑和空间分析所对应的UI界面,实现数据处理编辑和分析的准备;启动窗体加载UI界面。
进一步地,窗体的组织结构包括:主窗口,用于处理界面布局的工作;子窗体管理器,用于管理一个应用程序中的所有子窗体,并提供对子窗体的关闭、排列和激活的管理方法;浮动窗口管理器,用于管理一个应用程序中的所有浮动窗口;输出接口,用于实现信息输出和日志记录;以及菜单管理器。
进一步地,主窗口具体用于生成菜单栏、工具条和生成浮动窗口。
通过本发明,提供了一种跨平台的桌面GIS系统,解决GIS数据的处理问题,是国内首个跨平台的桌面GIS软件。本发明采用的OSGi的框架,有一定的扩展性,所以用户也可以基于本发明,依据自己的需求,实现新的模块。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1是根据本发明实施例的跨平台的桌面GIS系统的框图;
图2是根据本发明实施例的跨平台的桌面GIS系统的启动方法的示意图;
图3是根据本发明实施例的跨平台的桌面GIS系统的窗体组织结构的示意图;以及
图4是根据本发明实施例的跨平台的桌面GIS系统的配置信息加载过程示意图。
具体实施方式
下面结合附图和具体实施方式对本发明做进一步说明。需要指出的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
图1是根据本发明实施例的跨平台的桌面GIS系统的框图,如图1所示,该系统包括操作系统支撑层10、应用程序接口层20和应用层30。
其中,操作系统支撑层10为windows操作系统、银河麒麟操作系统、中标普华操作系统、起点操作系统、凝思磐石安全操作系统、共创Linux操作系统、中标麒麟操作系统或优麒麟操作系统。
应用程序接口层20采用OSGi框架,基于Java语言,使用JavaSwing图形界面实现桌面的GIS功能的展现及交互。
具体地,在IT领域,具备成熟跨平台特征的高级语言有C++、Java两种,C++编译结果为目标机器指令,减少中间层的性能损耗,如果应用程序代码基于标准C++编写,便能实现一次编写,到处编译运行的特点。而java编译结果为面向java虚拟机(JVM)的字节码,在运行时再由JVM解析执行。只要目标机器有java虚拟机,便能实现一次编译到处运行的特点。然而,中间层JVM的存在也引起一定的性能损耗。
本跨平台的桌面GIS系统,考虑到GIS应用的复杂性和性能要求,选择了C++完成应用层30基础功能实现,然后使用JNI技术对C++程序进行封装,提供Java可以调用的GIS程序API,此后使用javaSwing图形界面技术完成桌面的GIS功能的展现及交互体验。其中,使用自动化脚步以及持续集成技术,实现了从开发人员在Windows上完成代码编写提交后,后台触发多CPU平台的自动编译、打包、测试这些生成流程上的问题,从而跨平台的桌面GIS系统中对应的Java代码就能做到一次编译到处运行了,从而保障Java桌面良好的跨平台特征。
应用层30的具体实现包括用于空间数据进行管理的数据管理模块31、用于对空间数据按照GIS规则进行编辑处理得到GIS数据的数据处理模块32、用于将GIS数据渲染成图的制图模块33、用于在三维场景中进行GIS数据显示和浏览的三维应用模块34以及用于根据业务需求对GIS数据进行空间位置上处理的空间分析模块35。
该实施例提出了一种跨平台的桌面GIS系统,此系统可以实现在多种平台上对地理空间数据的处理、分析以及展示,并可以根据自己的业务需求进行模块的定制,满足多样化需求。该实施例采用OSGi的框架,基于Java语言开发,因为Java语言是是一种可以撰写跨平台应用软件的面向对象的程序设计语言,Java技术具有卓越的通用性、高效性、平台移植性和安全性,所以本申请的桌面GIS系统也具有跨平台的特性,可运行在windows和linux操作系统中。
优选地,数据管理模块31具体用于:对空间数据的文件型、数据库型引擎的打开;对GIS系统外的GIS数据和非GIS格式的数据的导入支持;对空间数据进行复制、修改和删除;以及。对空间数据进行预定义规则的检查。
优选地,空间分析模块35具体用于:对GIS数据做预定条件的查询分析;以及对GIS数据做预定需求场景下的插值分析。
优选地,制图模块33具体用于:对GIS数据进行颜色的渲染;以及根据GIS数据自身的属性定义进行颜色或文字的渲染。
图2是根据本发明实施例的跨平台的桌面GIS系统的启动方法的示意图,如图2所示,该方法包括如下的步骤。
(1)核心和框架准备;
(2)数据和窗体基础:数据、地图、场景、布局、属性表所对应的UI界面的加载;
(3)数据处理编辑和分析:数据、地图、场景、布局、拓扑、空间分析等功能UI界面的加载;
(4)启动窗体加载UI界面。
优选地,如图3所示,窗体的组织结构包括:
(1)IFormMain:主窗口,主要用来处理界面布局的工作,包括生成菜单栏、工具条、生成浮动窗口、管理各种子窗体等等,每一个应用程序(Application)都包含一个且仅包含一个主窗口。
其中,菜单栏、工具条属于用户界面(UI)的一部分。
(2)IFormManager:子窗体管理器,用于管理一个应用程序中的所有子窗体,并提供对子窗体的一些管理方法,如关闭、排列、激活等。每一个主窗口都包含一个且只能包含一个子窗体管理器。
(3)IContextMenuManager:菜单管理器,用户可以通过右键菜单管理器,访问桌面中以插件形式配置的右键菜单,并对其进行操作。
(4)IDockbarManager:浮动窗口管理器,用于管理一个应用程序中的所有浮动窗口(DockBar)。
(5)IOutput:通过实现该接口可以实现信息输出和日志记录。
优选地,配置信息加载过程如图4所示,本装置的UI界面配置,是由一个单独的configure文件管理,此configure中的内容示意如下:
具体的结构为:
其中插件描述的结构为:
<pluginxmlns="http://www.supermap.com.cn/desktop"author="SuperMap"description="FramePlugin"helpLocalRoot="..\Help\WebHelp\"helpOnlineRoot="http://support.supermap.com.cn/onlinedoc/deskpronet/"name="Frame"url="www.supermap.com.cn">
运行时描述的结构:
<runtimebundleName="./Plugins/Frame/SuperMap.Desktop.Frame.jar"enabled="True"/>
菜单分组的描述:
<groupid=""label=""index=""visible="true">
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
需要说明的是,上述装置或系统实施例属于优选实施例,所涉及的单元和模块并不一定是本申请所必须的。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于本申请的装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉该技术的人在本发明所揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (9)
1.一种跨平台的桌面GIS系统,其特征在于,包括:
操作系统支撑层;
应用程序接口层,其中,所述应用程序接口层采用OSGi框架,基于Java语言,使用JavaSwing图形界面实现桌面的GIS功能的展现及交互;以及
应用层,其中,所述应用层包括用于空间数据进行管理的数据管理模块、用于对所述空间数据按照GIS规则进行编辑处理得到GIS数据的数据处理模块、用于将所述GIS数据渲染成图的制图模块、用于在三维场景中进行所述GIS数据显示和浏览的三维应用模块以及用于根据业务需求对所述GIS数据进行空间位置上处理的空间分析模块。
2.根据权利要求1所述的跨平台的桌面GIS系统,其特征在于,所述数据管理模块具体用于:
对所述空间数据的文件型、数据库型引擎的打开;
对所述GIS系统外的GIS数据和非GIS格式的数据的导入支持;
对所述空间数据进行复制、修改和删除;以及。
对所述空间数据进行预定义规则的检查。
3.根据权利要求1所述的跨平台的桌面GIS系统,其特征在于,所述空间分析模块具体用于:
对所述GIS数据做预定条件的查询分析;以及
对所述GIS数据做预定需求场景下的插值分析。
4.根据权利要求1所述的跨平台的桌面GIS系统,其特征在于,所述制图模块具体用于:
对所述GIS数据进行颜色的渲染;以及
根据所述GIS数据自身的属性定义进行颜色或文字的渲染。
5.根据权利要求1所述的跨平台的桌面GIS系统,其特征在于,所述操作系统支撑层为windows操作系统、银河麒麟操作系统、中标普华操作系统、起点操作系统、凝思磐石安全操作系统、共创Linux操作系统、中标麒麟操作系统或优麒麟操作系统。
6.根据权利要求1所述的跨平台的桌面GIS系统,其特征在于,所述应用层的基础功能采用C++程序实现,并使用JNI技术对所述C++程序进行封装,以提供Java调用的API。
7.一种应用于权利要求1至6中任一项跨平台的桌面GIS系统的启动方法,其特征在于,包括:
准备系统核心和框架;
加载数据、地图、场景、布局和属性表所对应的UI界面,实现数据和窗体基础的准备;
加载数据、地图、场景、布局、拓扑和空间分析所对应的UI界面,实现数据处理编辑和分析的准备;
启动所述窗体加载所述UI界面。
8.根据权利要求7所述的跨平台的桌面GIS系统的启动方法,其特征在于,所述窗体的组织结构包括:
主窗口,用于处理界面布局的工作;
子窗体管理器,用于管理一个应用程序中的所有子窗体,并提供对子窗体的关闭、排列和激活的管理方法;
浮动窗口管理器,用于管理一个应用程序中的所有浮动窗口;
输出接口,用于实现信息输出和日志记录;以及
菜单管理器。
9.根据权利要求8所述的跨平台的桌面GIS系统的启动方法,其特征在于,所述主窗口具体用于生成菜单栏、工具条和生成浮动窗口。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510686557.XA CN105183491A (zh) | 2015-10-21 | 2015-10-21 | 跨平台的桌面gis系统及其启动方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510686557.XA CN105183491A (zh) | 2015-10-21 | 2015-10-21 | 跨平台的桌面gis系统及其启动方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105183491A true CN105183491A (zh) | 2015-12-23 |
Family
ID=54905590
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510686557.XA Pending CN105183491A (zh) | 2015-10-21 | 2015-10-21 | 跨平台的桌面gis系统及其启动方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105183491A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117193758A (zh) * | 2023-09-07 | 2023-12-08 | 上海数慧系统技术有限公司 | 一种gis软件开发系统以及gis软件的开发方法和装置 |
CN116521146B (zh) * | 2023-04-24 | 2024-02-06 | 北京龙软科技股份有限公司 | 一种云gis平台的二次开发系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1489084A (zh) * | 2003-08-21 | 2004-04-14 | 杭州天丽科技有限公司 | 一种开放的gis开发中间件系统 |
US20080109883A1 (en) * | 2006-04-25 | 2008-05-08 | Secure Network Systems, Llc | Logical and physical security |
CN101290573A (zh) * | 2008-05-30 | 2008-10-22 | 同济大学 | 跨平台嵌入式地理信息系统 |
CN102253981A (zh) * | 2011-06-24 | 2011-11-23 | 上海市公安局 | 一种三维地理信息系统海量模型快速显示浏览方法 |
CN103823897A (zh) * | 2014-03-14 | 2014-05-28 | 甘肃新空间环境科技有限公司 | 制种基地三维可视化地理信息系统 |
CN104239431A (zh) * | 2014-08-27 | 2014-12-24 | 广东威创视讯科技股份有限公司 | 三维gis模型显示方法及装置 |
CN104700178A (zh) * | 2013-12-06 | 2015-06-10 | 大连灵动科技发展有限公司 | 三维地理信息管理系统 |
-
2015
- 2015-10-21 CN CN201510686557.XA patent/CN105183491A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1489084A (zh) * | 2003-08-21 | 2004-04-14 | 杭州天丽科技有限公司 | 一种开放的gis开发中间件系统 |
US20080109883A1 (en) * | 2006-04-25 | 2008-05-08 | Secure Network Systems, Llc | Logical and physical security |
CN101290573A (zh) * | 2008-05-30 | 2008-10-22 | 同济大学 | 跨平台嵌入式地理信息系统 |
CN102253981A (zh) * | 2011-06-24 | 2011-11-23 | 上海市公安局 | 一种三维地理信息系统海量模型快速显示浏览方法 |
CN104700178A (zh) * | 2013-12-06 | 2015-06-10 | 大连灵动科技发展有限公司 | 三维地理信息管理系统 |
CN103823897A (zh) * | 2014-03-14 | 2014-05-28 | 甘肃新空间环境科技有限公司 | 制种基地三维可视化地理信息系统 |
CN104239431A (zh) * | 2014-08-27 | 2014-12-24 | 广东威创视讯科技股份有限公司 | 三维gis模型显示方法及装置 |
Non-Patent Citations (3)
Title |
---|
张嘉辉: "基于异构跨平台技术的GIS软件原型设计与开发", 《HTTP://WWW.DOC88.COM/P-50980237799.HTML》 * |
陈颖彪 等: "基于异构跨平台技术的GIS软件原型设计与开发", 《测绘通报》 * |
高昂 等: "面向网格环境的Java跨平台GIS系统原型实现的关键技术", 《地球信息科学》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116521146B (zh) * | 2023-04-24 | 2024-02-06 | 北京龙软科技股份有限公司 | 一种云gis平台的二次开发系统 |
CN117193758A (zh) * | 2023-09-07 | 2023-12-08 | 上海数慧系统技术有限公司 | 一种gis软件开发系统以及gis软件的开发方法和装置 |
CN117193758B (zh) * | 2023-09-07 | 2024-05-28 | 上海数慧系统技术有限公司 | 一种gis软件开发系统以及gis软件的开发方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10866791B2 (en) | Transforming non-Apex code to Apex code | |
Taivalsaari et al. | Web browser as an application platform | |
US7281248B2 (en) | Virtualized and realized user interface controls | |
WO2016155388A1 (zh) | 应用安装、运行方法及装置 | |
CN102789382B (zh) | 用于表单生成和运行的系统及方法 | |
CN104704468B (zh) | Web应用程序的跨系统安装 | |
US10331423B1 (en) | Utilizing cross platform streamable user interfaces to reduce software deployment frequency caused by user interface improvements | |
US11194450B2 (en) | Definition of a graphical user interface dashboard created with manually input code and user selections | |
US8495566B2 (en) | Widget combos: a widget programming model | |
US10452231B2 (en) | Usability improvements for visual interfaces | |
CN111324833A (zh) | 页面展示方法、装置、电子设计及计算机可读介质 | |
CN113076096A (zh) | 一种桌面应用程序开发方法、装置、设备及存储介质 | |
US20170054790A1 (en) | System and Method for Object Compression and State Synchronization | |
US20160378738A1 (en) | Editing one or more text files from an editing session for an associated text file | |
KR20130017337A (ko) | 하이브리드 앱 개발 플랫폼 구조 및 그 테스트 방법, 그리고 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체. | |
US20230259358A1 (en) | Documentation enforcement during compilation | |
CN114996619A (zh) | 一种页面显示的方法、装置、计算机设备及存储介质 | |
CN112506854A (zh) | 页面模板文件的存储和页面生成方法、装置、设备及介质 | |
CN113835691B (zh) | 一种iOS应用开发方法、系统、设备、介质和程序产品 | |
US20120330859A1 (en) | Interactive business process modeling and simulation | |
CN112835568A (zh) | 一种项目构建方法和装置 | |
TWI467481B (zh) | 層級式程式源碼管理方法、系統及電腦程式產品 | |
CN105183491A (zh) | 跨平台的桌面gis系统及其启动方法 | |
US9606775B2 (en) | Developing rich internet application | |
CN116360741A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20151223 |
|
RJ01 | Rejection of invention patent application after publication |