2024年2月28日发(作者:)
维普资讯
第28卷第2期 海洋测绘 VoL 28,No.2 2008年3月 HYDR0GRAPmC SURVEYING AND CHARTING Mar.,2008 个性化大地测量报表服务的实现 赵冬青 ,李昌贵 ,吴凤娟 (1.解放军信息工程大学测绘学院,河南郑州450052;2.61081部队,北京100094) 摘要:报表服务是大地测量信息系统的一项基本功能,但往往会因为格式的微小调整而导致系统的整体重构。 首先分析了当前报表生成方法的缺点,提出了基于XML相关技术生成报表的新思路;然后介绍了以XML为基本 语法的统一数据交换接口,屏蔽了各种报表数据源的差异;重点讨论了如何运用XSL技术将接口文件变换成通用 的HTML,并对报表中的图形信息用SVG进行描述,从而将报表转换成通用浏览器可以识别的信息模型;最后对此 技术进行了实践。通过在系统外部更改报表样式文件,能够实现报表服务的个性化,增强系统的扩展性。 关键词:可扩展置标语言;可扩展样式语言;可缩放矢量图形;报表;个性化 中图分类号:P208 文献标识码:B 文章编号:1671 ̄044(2008)02—0068—04 第二种方法类似,但是由于Ofifce软件的广泛使用, 所生成报表具有较强的通用性,因此也有较大的应 成果表是大地测量生产过程的主要结果,也是 用范围。但是其缺点与基于第三方软件的方法相 对大地测量信息进行传递、存储和管理的主要形式。 似。将报表数据与报表格式相捆绑,不宜扩展,缺乏 虽然不断深入的大地测量信息化使纸质成果表的应 灵活性。 用越来越少,但直观形象的成果表仍是与人进行交 可扩展置标语言(XML)是一种网络通用语言, 互的主要手段。当前,高精度武器试验、导弹阵地机 运用XML相关技术,可以将繁琐的画图工作交给通 动发射等应用都需要多种不尽相同的大地测量保障 用的解析器来完成,而开发人员则将精力集中在系 元素,而且这些不同的应用也需要具有不同风格的 统外部表格样式的定义上,从而根据用户需求,快速 报表。另外,传统报表中大多以表格为基准对数据 实现个性化报表服务,提高系统的扩展性。 进行排版,而没有可视化的描述,不能形象地表达出 3大地测量数据接口 控制点之间的关系。 传统的大地测量成果表生成是一种数据源与报 2报表生成方法 表格式相捆绑的紧密耦合模式。这种紧密耦合的报 从实现报表系统的技术来看,当前广泛使用的 表系统直接访问报表源数据(数据库系统),从中提 主要有应用编程接口(API)画图、第三方专业报表 取报表所需信息,然后根据用户需求所提供表格的 软件和基于对象链接与嵌入(OLE)的Ofifce调 样式,生成用户成果表。 用等。 ’ 这种紧密耦合模式的主要缺点是系统自由度 基于API的报表是利用API函数将报表信息 差,适应能力弱,扩展性差,系统一旦发布就只能访 “一笔一划”地在画板上描述出来,由此生成的报表 问固定的数据源,也只能生成固定格式的成果表。 比较精美,但是开发难度较大,而且由于生成过程无 如果数据源发生变化,或者成果表样式有微小的调 法达到所见即所得,不便于修改。 整,整个报表系统都必须彻底重构。 在第三方软件上进行二次开发的报表过程比较 如果引入数据交换接口 J,即从各个数据源 复杂,需要开发人员对软件相当熟悉,而且报表界面 检索得到的信息都以统一的接口格式进行输出, 比较繁琐,报表的风格难于统一,报表的可重用性较 各种报表系统都从数据接口中获取信息,这样就 低。使用此方法的最大缺点就是严重依赖于报表软 可以屏蔽数据源的差异,提高系统的兼容性;避免 件,自定义功能薄弱,可扩展性差。 各种应用系统都直接访问数据源,提高了数据的 使用OLE调用Ofifce功能生成报表的方法与 安全性。 收稿日期:2007—05—31;修回日期:2007—10—22 作者简介:赵冬青(1977.),男,湖北郧西人,讲师,博士研究生,主要从事空间信息系统及其服务研究。
维普资讯
第2期 赵冬青,等个性化大地测量报表服务的实现 69 4基于 ̄Sk的数据报表及基于SVG的图形报表 输出的样式 。 XSLT是一种基于XML的语言,它能够将一种 4.1基于XSL的数据报表 XML文档转换成另一种XML文档或另一种类型的 大地测量数据接口采用XML作为基本语法,这 文档,即将一种XML文档转换成浏览器所能识别的 是一种支持自定义的元标记语言,可以根据需求来 一种格式(如HTML)。XSLT还可以向输出文件中 定义各种数据类型,能够将不同数据源进行转换,形 增加全新的元素,或去掉一些元素。它可以重新安 成统一的XML数据。XML的一个重要特性就是表 排这些元素并对元素进行分类排序,测试并确定显 现形式与内容的分离,XML只描述数据本身,与数 示哪些元素等。在XSLT文档中,还可以封装或嵌 据的显示方式无关,数据的具体表现形式可以使用 套用户自定义的函数。 可扩展样式语言(XSL) 来完成。 XSL.FO是一个以XML为基础,可以用来详细 (1)接口文档处理流程 说明格式语句的XML扩展函数库,能够详细定义各 XSL包括两个部分,一是用于对XML文档进行 个对象的表现效果,例如字体、颜色、页面设置等。 变换的XSL变换(XSLT)E3],二是用于定义数据显 也就是将一个XML转换的结果变成适于读者或听 示方式的语言XSL格式化对象(XSL.FO)。对大地 众使用的输出格式的过程。 测量数据接口文档的处理主要是根据这两部分来进 基于XSLT、XSL.FO和XML文档变换处理过程 行的,分别用XSLT将文档变换成通用浏览器可以 如图1所示。 识别的超文本置标语言(HTML)和用XSL.FO描述 HTML流 或 其他文本流 图1 XSLT文档转换过程 (2)XSLT文档变换 式则规定了需要进行转换的元素或属性对象,即在 在基于XSL的大地测量报表报务过程中,所涉 什么样的情况下需要应用这个模板规则,模式与源 及到的文档包括三类:一是源文档,用于描述所要报 文档中的元素相匹配,模板被实例化产生目标文档 表的信息内容;二是目标文档,即通过HTML流生 片断。 成磁盘文件或输出到Web浏览器,这是最终表现给 在转换的过程中,利用XPath对源文档中待转 用户的信息,是满足用户视觉要求的格式化表格;三 换的部分进行寻址,并定义源文档中与一个或多个 是含有模板规则的XSL文档,即XSLT样式表,它用 预先确定的模板相匹配的部分。当找到了一个匹配 于描述源文档和目标文档中的信息对应关系和表现 时,XSLT就将源文档中的匹配部分转换成目标文档 形式。 片断;而源文档中不与任何一个模板匹配的部分最 在XSL文档中,变换是通过规则模板来实现 终在目标文档中保持不变。 的,即用来定义“如果源文档中的节点满足此条件, 当利用XSLT样式表转换一个文档时,从源文 则生成下列输出”。规则的顺序是无关紧要的,当 档的根节点开始处理,接着按下面的步骤进行。 有几条规则匹配同一个输入时,可以使用冲突解决 ①处理器从样式表中选取最合适的模板来处理根节 算法。每条模板规则中包含了一个模板,并对应着 点,此时将根节点作为当前节点;②将产生的一些输 一种模式。模板定义了如何把源文档中的信息转换 出节点添加到目标文档中;③把源节点列表中的每 到目标文档中。一个模板通常有一个XPath表达 个节点顺序处理,重新选择适合的模板来处理当前 式,用来描述该模板在源文档中应用的节点。而模 节点。如此递归下去遍历所有的节点,直到整个文
维普资讯
海档被处理完毕。 洋测绘 第28卷 调用符号库生成大地测量报表中点符号的过 程是一个实例化的过程。实例化的过程分为两 显然,对于同一个源文档,选择不同的XSL文 档就能够得到不同的报表。当用户的需求发生变 更时,只需要对XSL文档进行调整,制订出新的 XSLT样式表就能够生成新的报表。由于源文档 和XSL文档之间是一种松散关系,因此XSL文档 的变更可以在系统外部完成,这样就不会涉及到 整个系统,从而保证了内部系统的稳定,实现服务 步:一是将符号插入到目标文档中,二是对符号属 性进行调整。在将符号插入到目标文档中时,需 要将符号库中对应点符号的源代码复制到目标文 件中。这种代码复制的方法虽然增加了目标文件 的大小,但与直接引用源符号相比,避免了更改一 个符号而影响到所有引用此符号的SVG文档的 的个性化。 4.2基于SVG的图形报表 为了让用户更好的理解成果表中的信息,有 时候会使用点位关系图,如导弹阵地成果卡片中 的阵地方位图、点位精度分布统计图等。虽然 XML文档经过XSL-FO描述后,在Web浏览器的 嵌入式解析器的支持下,报表内容能够以表格的 方式进行表现,但还不能形成图形,不能直观地表 示出点与点之间的关系,不能以图形方式对报表 内容进行统计。 可缩放矢量图形(SVG)是一种基于XML的用 来描述二维矢量图形和矢量/栅格 昆合图形的标识 语言。SVG支持图形、图像和文字三种图形对象, 而且这些图形对象可以被分组、加入式样、被转换或 者用来构成其他的对象。 位置关系图是以测量点的坐标为基本数据,显 示出不同点位之间的相对空间位置关系,因此点符 号的构造是生成位置关系图的核心。点符号可以用 一些基本的SVG图元来表示,通过对这些基本图元 的组合、变换等操作 ’ ,可以生成大地测量控制点 符号。组合图元生成点符号的方法包括 j:采用面 向对象程序设计方法生成;采用绘图工具生成;手动 输入生成。对于具有专业特征的复杂大地测量控制 点符号来说,采用绘图工具可方便快速生成符号,能 提高绘图速度和质量,降低错误率。AutoCAD是目 前世界上使用最广泛的计算机辅助设计和辅助绘图 软件,借助它可以方便地生成各种二维图形,因此本 文采用AutoCAD进行前期图形库的制作,然后将做 好的图形库转换成SVG符号库,在生成报表时直接 调用。 SVG符号按照SVG标准构造,它以文件形式存 放在图元库中。每个符号保存在一个SVG文件中, 该文件根据图元属性命名,符号文件名在符号库中 能唯一标志一个符号。在符号文件的根元素 <svg>下创建一个组元素<g>,称为顶层组元素, 顶层元素中保存图元对象的具体描述。 显示。 在对符号进行调制时,主要包括位置和大小两 个方面:点符号位置的调整可以直接利用XML接口 文件中提供的控制点坐标来确定,而符号的大小则 与图形比例尺相关。由于报表中图形大小是一个定 量,符号大小与整个图形的大小相对不变,但图形中 所要描述的控制点的数据和位置属于变量,需要根 据接口文件中的信息来动态确定。因此需要首先根 据所有需要描述点位的距离来确定图形的比例尺大 小,然后再确定符号的大小。 5应用实例 大地测量数据共享平台是为了实现大地测量过 程的高度信息化,研究各工序(设计、踏勘、外业、内 业、管理、应用)和各技术(边角测量、GPS测量、天 文测量、高程测量、重力测量)的综合集成,从而满 足高精度武器试验、导弹机动发射等多技术综合性 的大地测量保障需要,提升数据处理和服务能力而 建立的综合性信息系统。此系统建立了与外业测量 电子手簿的连接,实现了与平差系统的无缝集成,并 结合地图数据库进行可视化应用,能够在SQL Server数据库平台上进行大地测量过程数据的管理 与应用。 在大地测量数据共享平台的报表服务中,采用 了数据接口来集成来自各方的报表数据源,将报表 样式的选择预留在系统之外,用户可以根据自己的 需求动态定义报表的样式,提高了系统的可扩展性。 在生成数据报表服务时,设计了部分XSL报表样式 库,系统在生成接口数据文件时,用户可以选择所要 生成的报表样式。见图2。 系统还利用AutoCAD设计了大地测量符号图 元库,然后转换成SVG符号库。在生成数据接口文 件时,通过代码复制的方法,动态生成点位关系略图 的SVG文档。在用户终端的浏览器上,安装上通用 的SVG解析器(如Adobe SVG Viewer)后,即可实现 图形的显示。
维普资讯
第2期 赵冬青,等个性化大地测量报表服务的实现 为了提高系统的可扩展性,本文使用大地测量数据 接口将系统内部处理与报表服务相分离,然后针对 点名(点号)I(SsO0l1l1J) 等级 点位说明l赖村乡北老湾塘东 GPSIII、TWII、DXIll 正常高 子午线收敛角( ) 1。15’22-3” 标石类型l I 标志间距离 接口文件进行基于XSL的变换,生成HTML格式的 数据表格文档;运用代码复制法从事先定制的SVG 符号库中提取大地测量符号,并根据接口文件中的 点位信息来动态定位和确定大小,从而生成点位关 系图形。文章最后通过试验,验证了技术可行性,实 现了个性化的大地测量报表服务,提高了系统的可 扩展性,保持了系统内部的稳定。 参考文献: 吕志平,赵冬青,张西光,等.大地测量数据接口技术 大地坐标(WGS 84坐标系) 22。22’22.10290” 111。11’11.32817” 高斯平面直角坐标 19 310 395.515(m) 7 460 494.844(m: 垂线偏差分量( , ) 实测重力值(g) 高程异常(‘) (a)点位报表式一 点号 点名 SO1OH SO1OH 大地坐标B 。 ”L 22 22 22.10290 高程h 高斯平面坐标 (in) x(m)v .44 44 44.55958 l8 3l0 403.314 1l1 11 11.57504 99.245 6430 503030 SOll J SOl1J 111 11 11.32817 99.250 7 430 494844 .l9 310 395.515 阵地名称:++ 点名 (b)点位报表式二 代号:oo3 图幅号:8—5o一144一甲 WGS 84坐标系 与接口标准[J].测绘学院学报,2003,20(2):89—92. [2] W3C Consortium.The Extensible Stylesheet Language Family(XSL)[EB/OL].http://www.w3c.org/style/ xs1.2003. B 22。22’22.55958” h l l 8 129 971.549m L 111。11。11.57504” Y I 26 760 264.473m 99.245 In [3] W3C Consortium.XSL Trnsaformations(XSLT)ve ̄ion 2.0[EB/OL].http://www.w3c.org/TR/2003/WD— xslt20-2003l112/.2003. SO1OH 子午线收敛角.y 1。15’22.4” [4] 张万军,曾怡,董185~186. 伟,等.利用XSLT实现网格中的 垂线偏差I -q 3-38 —页面服务标准化[J].计算机应用研究,2004,21(12): [5] W3C Consortium.Scalable Vector Graphics(SVG)1.1 Speciifcaton[EB/OL].http://www.w3.org/TR/ 2oo2/CR—SVGl1_2O020430/.2oo2. 4.8O 重力加速度g 子午线收敛角.y mGal 1。15 22.3” S011J 至何点 大地方位角 概略边长 (C)点位报表式三 图2多式样的个性化数据报表 [6] 尹章才,李霖,朱海红,等.基于SVG的地图符号描 述模型研究[J].武汉大学学报・信息科学版,2004, 29(6):543~547. 6结论 [7] 尹章才,李霖,王铮,等.基于SVG的地图符号设 计与实现[J].测绘科学,2006,31(5):97—99. 本文首先分析了当前报表生成方法的不足, 提出了使用XML相关技术进行报表服务的新思路。 [8] 陈传波,蒋迅飞.面向行业的SVG实例生成方法研究 [J].武汉理工大学学报,2007,29(2):126—128. The Realization of Individual Report Forms Service of Geodetic Surveying ZHAO Dong—qing ,LI Chang.gui ,WU Feng-juan (1.Insittute of Surveying and Mapping,Information Engineering University,Zhengzhou,Henan,450052; 2.61081 Troops,Beijing,100094) Abstract:The shortcomings of present report forms service are analyzed at first.The new idea of report orfms service basd eon relative techniques iS presentd.Then ethe Uniifed Data Exchange Interface(UDEI) based on the XM as basic grammar iS in ̄oduced.the UDEI has the advantage of masking the difference of data source.The emphasis are given to the following questions:how to change the interface file by XSL tchnique to eunified}rnm,.how to describe the graphic information on the report forms by SVG and change the report forms to the information model which Can be identified by the unifid browser.Finalely.the above tcheniques are carried out in the practice.nle individual report forms are realized by updating the report forms files. Key words:extensible markup lnguage;extaensible s哆lesheet lnguage;scaaleable vector graphics;report orfms:individua1


发布评论