【问题标题】:How to convert any GPX file to Xcode acceptable GPX file如何将任何 GPX 文件转换为 Xcode 可接受的 GPX 文件
【发布时间】:2017-06-02 15:42:08
【问题描述】:

我正在尝试在 Xcode 中模拟一条具有速度、纬度和经度信息的路径。

有一个网站产生相同的结果:http://www.bikehike.co.uk/mapview.php

我找到了一个 awk 脚本,它可以将此文件转换为 Xcode 可接受的格式:https://gist.github.com/scotbond/8a61cf1f4a43973e570b

尝试在终端中运行此命令:awk -F script.awk bikehike_course >output.gpx

script.awk 包含脚本,bikehike_course 包含 GPX 文件,而 output.gpx 是输出文件名

更新

试过:awk -f script.awk bikehike_course > output.gpx

错误:awk:源代码行 1 源文件中的语法错误 adjust_gpx_to_apple_format.awk 上下文是 awk >>> '

我认为 GPS 文件的语法有问题。

【问题讨论】:

  • 我错过了您的实际问题。顺便提一句。 -F-f 是 awk 中不同的选项,具有不同的含义。您可能想使用 -f(表示 awk 脚本文件),但 -F 指定了字段分隔符。
  • @Scheff 尝试使用-f,但文件中出现语法错误。问题更新了,看看。
  • 我明白了。您在 github 上的 scipt 包含一个完整的 awk 调用。因此,要么直接在 bash 中调用它(应该将其重命名为 adjust_gpx_to_apple_format.sh),要么在开头删除 awk ',在结尾删除 ' $1
  • 因为它目前在 github 上,它是一个 shell 脚本,它使用作为参数提供的 awk 脚本调用 awk。因此,后缀.awk 在某种程度上具有误导性。 (并且awk -f adjust_gpx_to_apple_format.awk 将无法正常工作,因为它期望 awk 语法而不是 shell 语法。)
  • awk 确实是一个老工具。尝试简单地谷歌“awk 教程”并选择你最喜欢的一个。考虑到 GNU awk (gawk) 目前广泛传播(因为它提供了一些方便和有用的扩展),但我发现 OSX 上的问题不是默认设置。

标签: ios regex xcode awk gpx


【解决方案1】:

github 上adjust_gpx_to_apple_format.awk 上的脚本是 awk 调用,其中 awk 脚本作为参数提供(在 shell 语法中)。

因此,adjust_gpx_to_apple_format.awk 这个名字在某种程度上具有误导性。

必须删除开头的awk ' 和结尾的' $1'。在这种情况下,

awk -f adjust_gpx_to_apple_format.awk

应该可以工作(因为脚本看起来像一个正确的 awk 脚本,否则)。

如果保持原样,脚本可能会直接在 shell 中调用:

> ./adjust_gpx_to_apple_format.awk input.txt >output.txt

在后一种情况下,我建议添加两点:

  1. 在第一行插入一个“小屋”,例如#!/bin/bash 更明显。

  2. 将脚本重命名为adjust_gpx_to_apple_format.sh

注意: 请记住,文件后缀在 Unix 中不像 shell 那样具有严格的含义,例如在 MSDOS 中。实际上,后缀可以是任何东西(包括什么都没有)。对用户来说比shell更有价值,应该分别选择。

【讨论】:

  • 我现在遇到了另一个问题。我正在使用这个 GPX 文件在 iPhone 模拟器中进行模拟。 XCode 有一定的要求:“Waypoint 必须指定比前一个 Waypoint 更晚的时间”。我想我必须找到一个不同的 GPX 文件,它为每个航点提供不同的时间,或者以某种方式更改我从 bikehike.co.uk 获得的那个
  • 维基百科上有一个描述GPS Exchange Format,这似乎是一个好的开始。以防万一,您可以就该主题提出一个新的(特定)问题。 (抱歉,我对 OSX、IOS 或 iPhone 或 GPS 数据一无所知。我对 OSX 上的 awk 的注释是基于我在提供我已经检查并认为很好的答案时从 OSX 用户那里得到的反馈在 GNU awk 中处理“我的”Windows/cygwin。)
  • 如何编辑您的问题并包含不工作的 GPX 文件(或至少其中的一部分)。可能是,您的 awk 脚本也可以扩展为修复/调整 <time> 标记...(对我来说,这听起来可能是您的问题的一个可能原因。)
猜你喜欢
  • 2012-06-22
  • 2017-08-16
  • 2013-05-22
  • 2017-09-11
  • 2018-12-28
  • 2015-06-15
  • 2021-09-14
  • 1970-01-01
  • 2013-11-01
相关资源
最近更新 更多