CN1838073A - 基于虚拟机的地理信息***通用符号***及其构建方法 - Google Patents

基于虚拟机的地理信息***通用符号***及其构建方法 Download PDF

Info

Publication number
CN1838073A
CN1838073A CN 200610018873 CN200610018873A CN1838073A CN 1838073 A CN1838073 A CN 1838073A CN 200610018873 CN200610018873 CN 200610018873 CN 200610018873 A CN200610018873 A CN 200610018873A CN 1838073 A CN1838073 A CN 1838073A
Authority
CN
China
Prior art keywords
symbol
virtual machine
gis
platform
symbolic library
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.)
Granted
Application number
CN 200610018873
Other languages
English (en)
Other versions
CN100386723C (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.)
Wuhan University WHU
Original Assignee
Wuhan University WHU
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 Wuhan University WHU filed Critical Wuhan University WHU
Priority to CNB2006100188730A priority Critical patent/CN100386723C/zh
Publication of CN1838073A publication Critical patent/CN1838073A/zh
Application granted granted Critical
Publication of CN100386723C publication Critical patent/CN100386723C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Instructional Devices (AREA)
  • Stored Programmes (AREA)

Abstract

本发明提供的基于虚拟机的地理信息***通用符号***,其包括符号语言、符号编译器、符号集成开发环境和符号虚拟机,GIS是地理信息***。本发明还提供了基于虚拟机来构建地理信息***通用符号的方法,即:利用符号虚拟机来屏蔽具体GIS平台的差异,为符号库的实现提供统一的接口,实现符号库在不同GIS平台上通用的方法。本发明的优点是:通过符号虚拟机屏蔽了具体GIS平台的差异性,为符号库的实现者提供了统一的接口,从而实现了同一个符号库在不同GIS平台上的通用。

Description

基于虚拟机的地理信息***通用符号***及其构建方法
技术领域
本发明涉及信息领域,特别是一种基于虚拟机的地理信息***通用符号***及其构建方法。
背景技术
目前,市场上的各种地理信息***(GIS)软件平台都实现了各自的地图符号,但是这些地图符号只是针对特定的平台设计的,不具有通用性,往往是针对一种平台设计的符号不能在另一种平台上使用。而设计一套符号又是一个很费时费力的工作,因而急需一种通用的符号***。
发明内容
本发明所要解决的技术问题是:提供一种基于虚拟机的地理信息***通用符号***及其构建方法,其适用于与GIS和电子地图相关的计算机软件***。
本发明解决其技术问题采用以下的技术方案:
本发明提供的基于虚拟机的地理信息***通用符号***,其包括符号语言、符号编译器、符号集成开发环境和符号虚拟机,GIS是地理信息。
本发明提供一种基于虚拟机来构建地理信息***通用符号的方法,即:利用符号虚拟机来屏蔽具体GIS平台的差异,为符号库的实现提供统一的接口,实现符号库在不同GIS平台上通用的方法。
本发明的优点是:通过符号虚拟机屏蔽了具体GIS平台的差异性,为符号库的实现者提供了统一的接口,从而实现了同一个符号库在不同GIS平台上的通用。
具体实施方式
本发明提供的基于虚拟机构建GIS通用符号***,其包括符号语言、符号编译器、符号集成开发环境和符号虚拟机。其中:
符号语言:采用一个专门用于编写符号的编程语言vmSymbol。
符号编译器:把由符号语言编写的源程序编译成能在符号虚拟机上运行的目标代码,该目标代码就是能在所有实现了符号虚拟机的GIS平台上通用的符号库。
符号集成开发环境:是指vmSymbol的集成编程环境,包括提供其源程序的编辑器、编译器和符号预览工具,以及语法分色、错误定位和图形化的符号预览工具,用户可以直接在该集成环境中进行符号库编辑、编译、除错以及符号的预览,并生成最终的符号库。
符号虚拟机:当GIS平台软件需要对地图进行符号化时,它就将符号化的任务交给针对该GIS平台的符号虚拟机,而符号虚拟机则通过执行符号库里的指令进行地图数据的符号化,这样就通过符号虚拟机屏蔽了具体GIS平台的差异性,为符号库的实现者提供了统一的接口,从而实现了同一个符号库在不同GIS平台上的通用,例如:可以在ArcGIS(包括MapObject,ArcObject,ArcEngine)、GeoStar和CMICS 2.0三个GIS平台实现了符号虚拟机。ArcGIS是ESRI(美国环境***研究所Environmental Systems Research Institute Inc)开发的GIS软件开发平台,GeoStar是武汉武大吉奥信息工程技术有限公司开发的GIS软件平台,CMICS是武汉大学和武汉武大吉奥信息工程技术有限公司共同开发的城市管理信息采集***平台。
本发明还提供了基于虚拟机来构建地理信息***通用符号的方法,即:利用符号虚拟机来屏蔽具体GIS平台的差异,为符号库的实现提供统一的接口,实现符号库在不同GIS平台上通用的方法,该方法采用下列步骤,
(1)在符号集成开发环境中进行符号库源程序的编写、编译、调试及预览,并生成符号库。
(2)GIS软件在初始化过程中加载针对该GIS平台的符号化虚拟机。
(3)符号虚拟机初始化自己并根据需要装载所需的符号库。
(4)当GIS软件需要对数据进行符号化时,它将数据转交符号虚拟机,由虚拟机去执行符号化的任务。
(5)符号虚拟机通过执行符号库中的符号指令对数据进行符号化。
下面结合武汉城市网格化管理***中通用符号的实施对本发明作进一步说明。
武汉城市网格化管理***中有两个地方用到电子地图:一个是在PC机上运行的信息管理***,它用MapObject进行地图显示;另一个是运行在Smartphone(智能手机)上的信息采集***,它用我们自主开发的嵌入GIS***(CMICS 2.0)进行地图显示。它们都用同一个基于虚拟机的符号***做出的符号库对地图数据进行符号化,并达到了一致的效果;所不同的是,一个用的是针对MapObject的符号虚拟机,一个用的是针对CMICS 2.0的符号虚拟机。具体实施时,先在符号集成开发环境中进行符号库源程序的编写,并编译生成所需要的符号库;然后在不同的平台调用不同的虚拟机加载符号库进行符号化。
对于虚拟机,不同的GIS平台的虚拟机是不同的,但所有虚拟机的核心是相同的,其核心就是从符号库中取出相应的指令并逐条执行,所不同的是各个具体GIS平台对虚拟机的调用方式和绘图指令的实现方式可能不同。因此,我们可以先实现一个公共的核心虚拟机,它的功能就是加载符号库并能执行其中的指令,核心虚拟机提供以下5个函数接口,以C语言的形式表示如下:
①int getSymbolCount(int type)
//用于得到符号库中符号的个数,其中type可以等于0、1、2分别表示得到点、线、面符号的个数。
②bool getSymbolName(int type,int index,char name[],int length)
//用于得到符号的名称,type为符号的类型,index为符号库中的符号的索引,name存放返回的符号的名字,length为name的长度。
③bool drawMarkerSymbol(int index,int x,int y,int size,COLOR lineColor,COLOR fillColor,int lineWidth,float angle)
//用于绘点符号,index为点符号的索引,x,y为点符号的位置,size为点符号的大小,lineColor和fillColor分别为符点的线和填充色,lineWidth为线的宽度,angle为点符号旋转的角度。
④bool drawLineSymbol(int index,POINT points[],int count,COLOR color,intlineWidth)
//用于绘线符号,index为线符号的索引,points为线符号的坐标,count为坐标的个数,color为线的颜色,lineWidth为线宽。
⑤bool drawFillSymbol(int index,POINT points[],int partCounts[],int numParts,COLOR lineColor,COLOR fillColor,int lineWidth)
//用于绘面符号,index为面符号的索引,points为面符叼的坐标,partCounts和numParts进一步对坐标进行解释,用来说明该面符号由几部分组成,每部分有多少个点,lineColor和fillColor分别为线和填充色,lineWidth为线宽。
所有针对具体GIS平台的虚拟的机都通过调用核心虚拟机的这5个函数接口来实现对地图数据的符号化;另外核心虚拟机在执行绘图指令(如moveto,lineto,polygon等)时则作为回调函数留给针对具体GIS平台的虚拟机去实现。因此在实现针对具体GIS平台的虚拟机时,要解决两个问题,一是如何调用核心虚拟机,二是怎样实现绘图指令的回调函数。
再结合武汉城市网格化管理***中的两个虚拟机的实施例作进一步说明:
实施例1:
MapObject符号虚拟机的实施:在实现MapObject的符号虚拟机时,由于MapObject允许用户通过COM来自定义符号,我们只要实现一个符合MapObject符号接口的COM组件,在该COM组件里面调用核心虚拟机,就解决如何调用核心虚拟机的问题。
对于实现绘图指令的回调函数,由于MapObject是在Windows的HDC上进行绘图,我们只要调用Windows的GDI函数就可以实现这些回调函数。
实施例2:
CMICS 2.0符号虚拟机的实施:由于CMICS 2.0是自主开发的,其符号化工作就是直接调用核心虚拟机实现的,因而对如何调用核心虚拟机就非常直观了;对于绘图指令也是调用Windows的GDI实现的。
上述实施例不对本发明的限制,其仅供参考,用于对本发明的更进一步的理解。

Claims (3)

1.一种地理信息***通用符号***,其特征是基于虚拟机构建GIS通用符号***,包括符号语言、符号编译器、符号集成开发环境和符号虚拟机,GIS是地理信息***,
符号语言:采用一个专门用于编写符号的编程语言vmSymbol,
符号编译器:把由符号语言编写的源程序编译成能在符号虚拟机上运行的目标代码,该目标代码就是能在所有实现了符号虚拟机的GIS平台上通用的符号库,
符号集成开发环境:是指vmSymbol的集成编程环境,包括提供其源程序的编辑器、编译器和符号预览工具,以及语法分色、错误定位和图形化的符号预览工具,用户可以直接在该集成环境中进行符号库编辑、编译、除错以及符号的预览,并生成最终的符号库,
符号虚拟机:当GIS平台软件需要对地图进行符号化时,它就将符号化的任务交给针对该GIS平台的符号虚拟机,而符号虚拟机则通过执行符号库里的指令进行地图数据的符号化,这样就通过符号虚拟机屏蔽了具体GIS平台的差异性,为符号库的实现者提供了统一的接口,从而实现了同一个符号库在不同GIS平台上的通用。
2.根据权利要求1所述的地理信息***通用符号***,其特征是在ArcGIS、GeoStar和CMICS 2.0三个GIS平台实现符号虚拟机;其中,ArcGIS是美国环境***研究所开发的GIS软件开发平台,GeoStar是武汉武大吉奥信息工程技术有限公司开发的GIS软件平台,CMICS是武汉大学和武汉武大吉奥信息工程技术有限公司共同开发的城市管理信息采集***平台。
3.一种地理信息***通用符号***的构建方法,其特征是一种基于虚拟机来构建地理信息***通用符号的方法,即:利用符号虚拟机来屏蔽具体GIS平台的差异,为符号库的实现提供统一的接口,实现符号库在不同GIS平台上通用的方法,该方法采用下列步骤,
(1)在符号集成开发环境中进行符号库源程序的编写、编译、调试及预览,并生成符号库,
(2)GIS软件在初始化过程中加载针对该GIS平台的符号化虚拟机,
(3)符号虚拟机初始化自己并根据需要装载所需的符号库,
(4)当GIS软件需要对数据进行符号化时,它将数据转交符号虚拟机,由虚拟机去执行符号化的任务,
(5)符号虚拟机通过执行符号库中的符号指令对数据进行符号化。
CNB2006100188730A 2006-04-25 2006-04-25 基于虚拟机的地理信息***通用符号***及其构建方法 Expired - Fee Related CN100386723C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2006100188730A CN100386723C (zh) 2006-04-25 2006-04-25 基于虚拟机的地理信息***通用符号***及其构建方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2006100188730A CN100386723C (zh) 2006-04-25 2006-04-25 基于虚拟机的地理信息***通用符号***及其构建方法

Publications (2)

Publication Number Publication Date
CN1838073A true CN1838073A (zh) 2006-09-27
CN100386723C CN100386723C (zh) 2008-05-07

Family

ID=37015480

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2006100188730A Expired - Fee Related CN100386723C (zh) 2006-04-25 2006-04-25 基于虚拟机的地理信息***通用符号***及其构建方法

Country Status (1)

Country Link
CN (1) CN100386723C (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102402529A (zh) * 2010-09-13 2012-04-04 方正国际软件有限公司 地图标绘控制方法及装置
CN106201444A (zh) * 2015-04-29 2016-12-07 南京南瑞继保电气有限公司 一种通用可扩展编程符号建模方法
CN106384560A (zh) * 2016-09-12 2017-02-08 湖南新航动力信息科技有限公司 基于地图的图标处理方法及***
CN106568377A (zh) * 2016-11-07 2017-04-19 武汉大学 基于ArcEngine的构造大地测量成图方法及***
CN109931933A (zh) * 2017-12-15 2019-06-25 中国航空工业集团公司成都飞机设计研究所 基于gis平台的任务规划和导航绘制方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6104410A (en) * 1997-01-17 2000-08-15 Shui-Ying Wong Method and apparatus for displaying stacked symbols to create a multi-dimensional view
JP2003099792A (ja) * 2001-09-20 2003-04-04 Hitachi Information Systems Ltd 地理情報システムの図示記号作成方法及びその図示記号作成プログラム並びに地理情報システム
CN1237468C (zh) * 2002-10-10 2006-01-18 中国地质调查局发展研究中心 区域地质调查中的数字填图方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102402529A (zh) * 2010-09-13 2012-04-04 方正国际软件有限公司 地图标绘控制方法及装置
CN106201444A (zh) * 2015-04-29 2016-12-07 南京南瑞继保电气有限公司 一种通用可扩展编程符号建模方法
CN106384560A (zh) * 2016-09-12 2017-02-08 湖南新航动力信息科技有限公司 基于地图的图标处理方法及***
CN106568377A (zh) * 2016-11-07 2017-04-19 武汉大学 基于ArcEngine的构造大地测量成图方法及***
CN106568377B (zh) * 2016-11-07 2019-07-23 武汉大学 基于ArcEngine的构造大地测量成图方法及***
CN109931933A (zh) * 2017-12-15 2019-06-25 中国航空工业集团公司成都飞机设计研究所 基于gis平台的任务规划和导航绘制方法
CN109931933B (zh) * 2017-12-15 2022-10-28 中航(成都)无人机***股份有限公司 基于gis平台的任务规划和导航绘制方法

Also Published As

Publication number Publication date
CN100386723C (zh) 2008-05-07

Similar Documents

Publication Publication Date Title
US9495722B2 (en) Developer controlled layout
CN1838073A (zh) 基于虚拟机的地理信息***通用符号***及其构建方法
Panas et al. Communicating software architecture using a unified single-view visualization
US10120655B2 (en) Seamless high performance interoperability between different type graphs that share a garbage collector
US9348567B2 (en) Profile guided optimization in the presence of stale profile data
CN105701854A (zh) 一种3d渲染方法、装置及引擎
US20100050158A1 (en) System and process for debugging object-oriented programming code leveraging preprocessors
CN109634611B (zh) 基于OpenGL的移动端三维模型ply文件解析与展示方法
US20100269088A1 (en) Abstracting Business Logic into Centralized Database Controls
Gralka et al. Visual exploration of memory traces and call stacks
CN102710833A (zh) 一种手机测试用例及其自动生成方法
CN1749957A (zh) 一种面向图形绘制引擎的io中间件装置
Hähnle et al. HATS abstract behavioral specification: The architectural view
CN1877522A (zh) 嵌入式***基于功能构件化的实现方法
CN101055521A (zh) 映射规则的可视化生成方法及***
CN108319227A (zh) 图形套料的数控程序生成方法、服务器及存储介质
Hill et al. Scalable visualisations with ownership trees
CN1848093A (zh) 基本输入输出***中高级配置和电源接口模块的调试方法
CN108845791B (zh) 应用程序代码开发处理方法及装置、可读存储介质、终端
Cleeland et al. External polymorphism
CN106598701A (zh) 基于虚拟机的地理信息***标准符号***及其创建方法
Zhang et al. Making halide efficient for multicore systems
Watanabe et al. Visualizing an execution trace as a compact sequence diagram using dominance algorithms
CN113435144B (zh) 一种从Siwave到CST的远场数据交互方法
Mitchell et al. Building memory-efficient Java applications: Practices and challenges

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20080507

Termination date: 20160425