- 4
- 0
- 约2.96千字
- 约 22页
- 2017-08-23 发布于河南
- 举报
GIS符号虚拟机及实
GIS符号虚拟机及实现方法 苏科华 2008.10.15 报告内容 1.背景知识 2.符号虚拟机基本原理 3.符号虚拟机的外部接口 4.符号虚拟机的内部结构 5.符号虚拟机的实现方法 6.结论 1.1符号的描述方法 ①参数法:用一些代表基本图元及其组合方式的参数来描述符号 ②程序法:则采用程序代码来描述一个符号的具体绘制过程。 moveto lineto curveto 1.2符号共享困难的原因 ①符号描述方法的差异 ②符号存储格式的差异 ③图形绘制能力的差异 1.3虚拟机 虚拟机是相对于真实计算机而言的一个概念, 它是一个模拟真实计算机软硬件环境而工作的软件系统。 系统级虚拟机:像VMWare和Virtual PC这样的模拟 高级语言虚拟机:JVM,CLI。 2.1符号虚拟机基本原理 2.2符号虚拟机的外部接口 2.3符号化接口ISymbolize 2.4图形绘制接口(IGraphicsRender) 3.1符号虚拟机的内部结构 3.2符号虚拟机的指令系统 ①堆栈操作指令,如push、pop等,用于控制操作数堆栈; ②算术运算指令,如add、sub、mul、div等,用于支持加减乘除; ③关系比较指令,如gt、lt、eq等,用于比较数值的大小; ④逻辑运算指令,如and、or、not等,用于进行逻辑运算; ⑤跳转和过程调用指令, 如jmp、call、ret等,用于支持分支,循环,和过程调用。 4.1符号虚的机的三种实现方法 ①完全底层实现 ②利用虚拟机生成工具进行生成 ③利用现有的通用虚拟机如JVM、CLI改造实现 4.2利用通用虚拟机的符号化流程 4.3基于JVM实现符号虚拟机 利用JVM实现符号虚拟机,如果宿主GIS本身就是基于JAVA平台的,则只需要要包装JAVA2D实现IGraphicsRender即可,否则的话需要完成两个工作:一是利用宿主GIS绘图功能实现IGraphicsRender接口;二是在宿主GIS中嵌入JVM。可以利用JNI来完成这两方面的工作。 4.4JNI概述 4.5GraphicsRender 的实现 4.6符号虚拟机的嵌入 5.1应用实例---ArcMap 符号属性页 5.2应用实例 5.3结果分析 6.结论 不同GIS平台由于符号描述方法、符号格式及图形绘制能力的差异导致了符号共享的困难,本文提出的基于虚拟机的符号化技术为符号的共享提供了一种新的途径,它利用虚拟机屏蔽了具体GIS平台之间的差异,使符号能够在不同的GIS平台上共享与通用并能达到一致的表现效果。利用通用虚拟机是实现符号虚拟机的一种便捷途径,实践也证明这是一种切实可行的方法。 谢谢! * * 定义一个专门用于进行符号化工作的抽象机器(简称符号虚拟机),利用符号虚拟机来屏蔽不同GIS平台的差异性,生产符号时,只面向符号虚拟机而不是具体的GIS平台来生产符号,这样符号就能在所有实现了符号虚拟机的平台上共享 与宿主GIS存在着两方面的信息交互,一方面宿主GIS需要把空间数据传给符号虚拟机,另一方面符号虚拟机需要把符号化的结果反馈给宿主GIS,这种信息交互是通过符号化数据接口和图形绘制接口完成的 虽然符号虚拟机是一台抽象的机器,它是通过软件模拟来实现的,但它还是具有想象中的硬件,如处理器(CPU)、堆栈(stack)、寄存器(register)、内存(memory)等,还具有相应的指令系统。 JNI是Java Native Interface的缩写,从Java 1.1开始, JNI标准成为java平台的一部分,它允许Java代码和其他语言写的代码进行交互。JNI使得运行在JVM虚拟机上的Java代码能够使用其它语言(如C/C++以及汇编语言等)编写的应用程序和库。此外JNI提供的某些API还允许你把JVM嵌入到本地应用程序中 JDK提供了一个名为javah.exe的工具,利用它可以很方便地生成Java类的本地方法(Native method)所对应的C/C++的头文件,根据生成的头文件,就可以编写相应的C/C++实现文件。通过该方法可以实现IGraphicsRender接口,实现过程由四个基本步骤构成(如图5所示):首先声明一个JAVA类,该类从包含IGraphicsRender里的所有方法,将这些方法标记为本地方法类型并保存到文件GraphicsRender.java; 其次利用JDK自带的工具javah.exe以GraphicsRender.java为输入,创建一个对应的C语言头文件GraphicsRender.h; 再次,根据每二步生成的头文件,用C语言编写头文件中声明的函数的实现文件GraphicsRender.c,在实现这个函数时调用宿主GIS的绘图API
您可能关注的文档
- UPLC-ESI-MS-MS同时检测水产品中激素残留.pdf
- VB与Fortran混合编程.doc
- VBA编程技术在沥青路面检测数据分析中应用.pdf
- universal(广泛)attraction.doc
- vb中mshflexgrid与datagrid区别.doc
- 深度技术win7系统安装虚拟机的步骤.ppt
- Target Designer与组件数据库协作方式.pdf
- VaR方法在房地产收益波动性度量中应用_杨楠.pdf
- VB程序设计--菜单、对话框与多重窗体.ppt
- VM虚拟机基础简介.ppt
- 中国国家标准 GB/Z 10062.32-2025锥齿轮承载能力计算方法 第32部分:锥齿轮和准双曲面齿轮的ISO评价体系 胶合承载能力算例.pdf
- 《GB/Z 10062.32-2025锥齿轮承载能力计算方法 第32部分:锥齿轮和准双曲面齿轮的ISO评价体系 胶合承载能力算例》.pdf
- GB/T 46881-2025数字化供应链 追溯体系通用要求.pdf
- GB/Z 10062.32-2025锥齿轮承载能力计算方法 第32部分:锥齿轮和准双曲面齿轮的ISO评价体系 胶合承载能力算例.pdf
- 中国国家标准 GB/T 46881-2025数字化供应链 追溯体系通用要求.pdf
- 4、《建筑与市政施工现场安全卫生与职业健康通用规范》孙其珩(1).pdf
- 25-26学年政治统编版必修4课件:5.2 社会历史的发展.pptx
- 25-26学年政治(部编版)选择性必修第二册课件:1.2.2 尊重知识产权.pptx
- 25-26学年政治统编版必修4课件:6.3 价值的创造和实现.pptx
- 25-26学年政治(部编版)选择性必修第二册课件:第1单元 第4课 知能双测8.pptx
原创力文档

文档评论(0)