【发布时间】:2021-11-20 10:43:03
【问题描述】:
我正在尝试将 GPX 文件转换为数据表,但似乎真的在努力解决这个问题。 GPX 文件只是 GPS 数据的 XML。我已经设法将文件的 URI 放入带有对话框的变量中。
这是我尝试加载的 GPX 文件(尽管点数有所减少):
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<gpx xmlns="http://www.topografix.com/GPX/1/1"
xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3"
xmlns:gpxtpx="http://www.garmin.com/xmlschemas/TrackPointExtension/v1"
xmlns:badelf="http://bad-elf.com/xmlschemas"
version="1.1"
creator="Bad Elf GPS Pro+ 2.1.50"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.topografix.com/GPX/1/1 http://www.topografix.com/GPX/1/1/gpx.xsd http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensionsv3.xsd http://www.garmin.com/xmlschemas/TrackPointExtension/v1 http://www.garmin.com/xmlschemas/TrackPointExtensionv1.xsd http://bad-elf.com/xmlschemas http://bad-elf.com/xmlschemas/GpxExtensionsV1.xsd">
<metadata>
<extensions>
<badelf:modelNickname>BE021</badelf:modelNickname>
<badelf:modelSerialNumber>011215</badelf:modelSerialNumber>
<badelf:modelName>Bad Elf GPS Pro+</badelf:modelName>
<badelf:modelNumber>BE-GPS-2300</badelf:modelNumber>
<badelf:modelHardwareRevision>8.0.0</badelf:modelHardwareRevision>
<badelf:modelFirmwareRevision>2.1.50</badelf:modelFirmwareRevision>
<badelf:elevationSource>gps</badelf:elevationSource>
</extensions>
</metadata>
<wpt lat="50.650192" lon="-1.186149">
<ele>10.3</ele>
<time>2021-07-24T14:47:40Z</time>
<name>START (2021-07-24T14:47:40Z)</name>
</wpt>
<trk>
<name>2021-07-24T14:47:40Z</name>
<trkseg>
<trkpt lat="50.650192" lon="-1.186149"><ele>10.3</ele><time>2021-07-24T14:47:40Z</time><hdop>0.9</hdop><extensions><badelf:speed>0.00</badelf:speed><badelf:baroEle>52.4</badelf:baroEle><badelf:baroPress>1005.81</badelf:baroPress></extensions></trkpt>
<trkpt lat="50.650195" lon="-1.186144"><ele>8.8</ele><time>2021-07-24T14:47:41Z</time><hdop>0.9</hdop><extensions><badelf:speed>0.00</badelf:speed><badelf:baroEle>52.4</badelf:baroEle><badelf:baroPress>1005.81</badelf:baroPress></extensions></trkpt>
<trkpt lat="50.650193" lon="-1.186146"><ele>8.9</ele><time>2021-07-24T14:47:41Z</time><hdop>0.9</hdop><extensions><badelf:speed>0.00</badelf:speed><badelf:baroEle>52.4</badelf:baroEle><badelf:baroPress>1005.81</badelf:baroPress></extensions></trkpt>
</trkseg>
</trk>
<wpt lat="50.650168" lon="-1.186119">
<ele>13.4</ele>
<time>2021-07-24T15:52:30Z</time>
<name>END (2021-07-24T15:52:30Z)</name>
</wpt>
</gpx>
我想要将 badelf:modelNickname 提取到一个变量中,然后制作一个列标题为“lat”“lon”“ele”“time”“hdop”“badelf:speed”和“badelf:baropressure”的数据表"
有人可以帮我在 VB.Net 中做到这一点吗?甚至是我可能翻译的 C#。
【问题讨论】:
-
当您说数据表时,您的意思是内存中(没有数据库)
DataTable,因此您可以将其附加到网格,还是要将其插入数据库?跨度> -
是的,内存数据表。稍后我会在修剪数据时将其写入 SQL Express。我已经设法将xml读入数据集,但这感觉很混乱,并且可能只适用于这个确切的模式。不同的 GPS 可能会产生不同的结果。