---
title: "为GPS XML数据创建优雅的报告"
date: "2012-04-10"
tags: 
  - "altova-online-training"
  - "altova-xmlspy"
  - "charts"
  - "stylevision"
  - "xml-publishing"
description: 利用 Altova XMLSpy 和 StyleVision，了解如何从 GPS XML 数据创建精美的报告。学习如何可视化海拔变化，并生成各种类型的输出结果。
---
Status: #blog

Tags:  #altova-online-training #altova-xmlspy #charts #stylevision #xml-publishing

Categories: [Altova](/blog/zh/category/altova.md) 
# 为GPS XML数据创建优雅的报告

在我们的上一篇文章中， [用于全球定位系统的 XML](https://www.altova.com/blog/2012/03/global-positioning-of-xml.html), 我们之前提到，探险者和运动员可能会利用其设备中的XML数据来记录他们的旅行，或者甚至是为马拉松或其他特殊活动进行的训练过程。 几位同事积极响应，提供了示例文件！

经过对这些数据的分析，我们意识到，如果将海拔变化随时间的变化绘制成图，将会为许多活动提供有趣的结果。我们使用[XMLSpy](https://www.altova.com/zh/xmlspy.html)软件，直接从XML数据中创建了定制的折线图，以展示加州葡萄酒产区骑行活动中，海拔与时间的关系。我们甚至将葡萄园的照片作为背景图像，直接在XMLSpy图表设置对话框中进行了设置。

![由 XMLSpy 生成的折线图](https://lh4.ggpht.com/-WWjzG82AL7g/T6FOW7WHS3I/AAAAAAAAAz4/dYSTAlmANQU/clip_image001%25255B1%25255D.png?imgmax=800 "XMLSpy Line Chart")

无论您希望如何优雅地呈现来自多个 XML 数据文件的数据，这些文件都基于相同的 XML 模式，[Altova StyleVision](https://www.altova.com/zh/stylevision.html) 都是一款能够让您设计功能丰富的样式表，从而以 HTML、RTF、PDF 或 Microsoft Word 格式生成可重复输出结果的工具。以下是如何我们使用它来处理 GPS XML 数据的：

<!--more-->

首先，我们使用XMLSpy软件打开每个行程的GPS数据文件，目的是替换GPS设备在文件顶部的<name>元素中插入的通用标题（如图所示，位于第11行）。GPX格式的XML Schema（gpx.xsd）定义了一个可选的<desc>元素，用于描述，该元素可以出现在<name>之后。因此，我们添加了该元素，并在其中添加了一些关于该行程的描述。

![在 XMLSpy 中编辑 GPS 轨迹的名称和描述](https://lh5.ggpht.com/-7qnjd1QWLPc/T37x85krqII/AAAAAAAAA0A/qyu0lVzR91E/clip_image002%25255B1%25255D.png?imgmax=800 "XMLSpy XML editor")

接下来，我们使用StyleVision软件，基于gpx.xsd模式，创建了一个新的SPS样式表。我们以编辑后的.gpx文件作为工作XML。我们为文档创建了一个简单的标题，并将<name>和<desc>元素拖动到设计窗口中。

![带有 XML 元素的 StyleVision 设计窗口](https://lh6.ggpht.com/-_Qg6XqiqV7E/T37x96qQJnI/AAAAAAAAA0E/ePQzlT8xDek/clip_image003%25255B1%25255D.png?imgmax=800 "Altova StyleVision")

我们接下来想插入一个高度图。所有图表的设置都已经保存在 XMLSpy 中，因此我们可以轻松地将设计加载到我们的样式表中，方法是使用 StyleVision 图表设置对话框中的“所有设置”按钮。我们还编写了 XPath 表达式，用于从工作 XML 文件中选择时间和高度数据。

![StyleVision 图表配置对话框](https://lh3.ggpht.com/-Xl3oMfmwQ-M/T37x_k-yaWI/AAAAAAAAA0I/U6XgrjP4gS0/clip_image004%25255B1%25255D.png?imgmax=800 "StyleVision Chart Configuration dialog")

我们觉得将海拔变化图与地图路线进行对比会很有意思，所以我们使用 [GPS Visualizer](http://www.gpsvisualizer.com/) 网站绘制了路线，截取了地图的屏幕截图，然后通过 StyleVision 软件的“插入/插入图片”菜单选项，将截图添加到我们的设计中。

在设计过程中，StyleVision 设计窗口底部的“预览”按钮允许我们以任何支持的输出格式预览文档。以下是 StyleVision 使用最终版本的样式表，将俄勒冈州俄勒冈河谷的 GPS 数据渲染成 HTML 格式的示例：

![StyleVision HTML 预览：自行车旅行报告](https://lh3.ggpht.com/-y4WvNNi-pj0/T37yCaWbvRI/AAAAAAAAA0M/nvBMACA22Yk/clip_image006%25255B1%25255D.jpg?imgmax=800 "StyleVision HTML preview")

我们需要一种简单的方法，可以将相同的样式表应用于其他GPS XML文件。StyleVision项目可以将相关文件集中管理，以便SPS样式表可以轻松访问这些文件。因此，我们定义了一个项目，其中包含一个外部文件夹，该文件夹包含了我们用于创建设计的全部文件。

![StyleVision 项目窗口](https://lh6.ggpht.com/-otVBg4-DWlM/T37yEdZ2yPI/AAAAAAAAA0Q/v1Pq2ZS-9KY/clip_image007%25255B1%25255D.png?imgmax=800 "StyleVision Project window")

我们仔细选择了样式表中使用到的三个文件的文件名，目的是为了描述它们的功能，而不是其内容。要创建新的报告，我们只需将工作文件夹中的以下三个文件替换为对应其他行程的副本：chartBackground.jpg（图表的背景图片）、Log file.gpx（工作用的XML文件）和routeMap.PNG（来自GPS Visualizer的地图），然后生成新的输出。我们无需对SPS文件进行任何修改或调整！ 简单地替换这三个文件，然后生成新的HTML，就得到了以下结果，这代表了一次在阿尔卑斯山进行的滑雪旅行，距离维也纳的Altova办公室不远：

![StyleVision HTML 预览：滑雪旅行报告](https://lh4.ggpht.com/-X_s1VI_AoMg/T37yGMpNjQI/AAAAAAAAA0U/HXeM8B_av1g/clip_image009%25255B1%25255D.jpg?imgmax=800 "StyleVision HTML preview")

这次再次调整参数后，得到了一个适合在缅因州森林中进行的冬季徒步方案，目标是到达一个适合冰川攀登的区域：

![StyleVision HTML 预览：冬季登山报告](https://lh4.ggpht.com/-h29Jp8-NhRM/T37yHTTIu_I/AAAAAAAAA0Y/4Ie5u5lFHK4/clip_image011%25255B1%25255D.jpg?imgmax=800 "StyleVision HTML preview")

同样的样式表也可以生成其他格式。我们的设计非常适合作为一份单页的Microsoft Word文档，方便打印和装订存档。

如果您希望根据自己的GPS XML文件生成报告，或者需要完成其他报告、电子表格或其他多渠道发布需求，[请点击此处下载StyleVision的免费试用版](https://www.altova.com/zh/download/stylevision/db_xslt_stylesheet_designer_enterprise.html)。StyleVision包含丰富的在线帮助文档，包括教程和示例文件。Altova甚至提供针对StyleVision的自学式初级和中级[在线培训课程](https://www.altova.com/zh/aot/online-training.aspx)。

**编辑语：** 这篇文章的后续内容，标题为： [XPath 增强了 XML 报表的功能](https://www.altova.com/blog/2012/04/xpath-enhances-xml-reports.html) 本文介绍了如何使用 XPath 表达式来定位并向包含 GPX 数据的报告中添加更多数据。
