【问题标题】:How do I read values from a .GPX file in PHP?如何从 PHP 中的 .GPX 文件中读取值?
【发布时间】:2015-01-20 15:39:54
【问题描述】:

我有一个问题,我已经尝试解决两天了,但我找不到解决它所需的信息。

我想要做的是从 .gpx 文件中获取 lat、lon 和 ele 值并将它们放入表格中。

我制作了页面让用户将 gpx 文件上传到服务器上。然后,我创建了一个名为一、二、三等的新表。数据库中的下一个数字称为“vluchten”。

该表包含 lat、lon 和 ele 字段,均为双精度字段。

现在我需要打开用户可能上传的任何 .gpx 文件,然后将 lats、lons 和 eles 提取到我的表格中。

我已经研究过使用 php 文件系统函数(fopen、fseek 等),但它们似乎对我的需求没有用处。我还尝试将它作为一个 XML 来阅读,但它也不起作用(也许我犯了错误)。

非常欢迎任何关于我如何能够从 .gpx 文件中获取值并将它们放入数据库表中的建议! PHP 页面将在 $_POST['name'] 中接收 lat、lon 和 ele 需要进入的表名。

简而言之,我的问题是:如何从 .gpx 中取出 lon、lat 和 ele,并使用 SQL 将它们放入表中?

【问题讨论】:

标签: php mysql xml gpx


【解决方案1】:

此代码用于读取 gpx / gps 文件##

其简单的 xml 仅此而已

 <?php
//open gpx file
$gpx = simplexml_load_file("test.gpx");
foreach ($gpx->trk as $trk) {
    foreach($trk->trkseg as $seg){
        foreach($seg->trkpt as $pt){
            echo "<p> lat- ";
            echo $pt["lat"];
            echo "   lon-";
            echo $pt["lon"];
            echo"<p>";
        }}}
unset($gpx);
?>

【讨论】:

    【解决方案2】:

    这个小小的 php 代码 sn-p 将从 gpx 文件中读取每个航点。

    您可以编写一些 SQL 代码为每个航点插入一行到您的表中。

    $gpx = simplexml_load_file("test.gpx");
    
    foreach ($gpx->wpt as $pt) {
        $lat = (string) $pt['lat'];
        $lon = (string) $pt['lon'];
        $ele = (string) $pt->ele;
        $name = (string) $pt->name;
    }
    
    unset($gpx);
    

    类似的代码将从 xml 中提取 trk-&gt;trkseg-&gt;trkptrte-&gt;rtept 数据。

    【讨论】:

      猜你喜欢
      • 2021-11-18
      • 2018-12-28
      • 1970-01-01
      • 2019-05-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-22
      • 2016-01-01
      相关资源
      最近更新 更多