【问题标题】:PHP Converting 6 Figure grid Reference to Lat/LongPHP 将 6 图形网格参考转换为纬度/经度
【发布时间】:2018-02-09 15:23:36
【问题描述】:

我正在使用PHPcoord package 尝试将英国 6 位数网格参考转换为经纬度。

根据上面链接中给出的示例。这是一个两部分的过程。

第 1 部分)将 6 图网格参考转换为 OSGB 网格参考。

即:将 TG514131 转换为 (651400, 313100)。

给出的例子是:

$os6 = "TG514131";
echo "Six figure string: " . $os6 . "<br />";
$os6x = getOSRefFromSixFigureReference($os6);
echo "Converted to OS Grid Ref: " . $os6x->toString() . " - " . $os6x->toSixFigureString();
Six figure string: TG514131
Converted to OS Grid Ref: (651400, 313100) - TG514131

第 2 部分)通过以下方式将 OSGB 引用转换为经纬度:

$os1 = new OSRef(651409.903, 313177.270);
echo "OS Grid Reference: " . $os1->toString() . " - " . $os1->toSixFigureString() . "<br />";
$ll1 = $os1->toLatLng();
echo "Converted to Lat/Long: " . $ll1->toString();

我遇到的问题是我无法获得第一阶段的输出:

$os6x->toString()

进入第二阶段的输入:

$os1 = new OSRef(651409.903, 313177.270);

我尝试将 $os6x->toString() 转换为变量,然后使用:

$myvariable = $os6x->toString();

$os1 = new OSRef($myvariable);

$os1 = new OSRef$myvariable;

$os1 = new OSRef . $myvariable;

不出所料,没有任何工作。

如您所知,我在这方面不是很擅长,并且正在努力在 Google 上寻求任何帮助。

我的下一步是对 $myvariable 进行模式匹配,然后将其拆分为两个变量并像这样插入它们:

$os1 = new OSRef($number1, $number2);

但我确信这不是实现这一目标的正确方法,而且我遗漏了一些非常简单的东西。

感谢您的帮助。

编辑

我在Experts-Exchange 上发布了同样的问题并得到了答案。这是给有类似问题的人的:

“您对 getOSRefFromSixFigureReference() 的调用会返回 OSRef 类的一个实例。该类有 2 个属性 - 东向和北向,因此要获得这两个值,您可以访问这些属性:

$os6x->easting;
$os6x->northing;

在您的问题中,您似乎正在尝试访问这两个属性,以便您可以创建一个新的 OSRef 对象。这不是必需的,因为 $os6x 已经是 OSRef 类的一个实例,所以你已经可以调用它的各种方法了:

echo $os6x->toLatLng();

【问题讨论】:

  • 这是在 Experts-Exchange 上为我解答的。我已将答案添加到我原来的问题中,以防其他人遇到此问题。

标签: php latitude-longitude


【解决方案1】:

我在Experts-Exchange 上发布了同样的问题并在那里得到了答案。这是给有类似问题的人的:

“您对 getOSRefFromSixFigureReference() 的调用会返回 OSRef 类的一个实例。该类有 2 个属性 - 东向和北向,因此要获得这两个值,您可以访问这些属性:

$os6x->easting;
$os6x->northing;

在您的问题中,您似乎正在尝试访问这两个属性,以便您可以创建一个新的 OSRef 对象。这不是必需的,因为 $os6x 已经是 OSRef 类的一个实例,所以你已经可以调用它的各种方法了:

echo $os6x->toLatLng();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-09-26
    • 1970-01-01
    • 2021-09-22
    • 2021-09-26
    • 1970-01-01
    • 1970-01-01
    • 2022-11-26
    • 1970-01-01
    相关资源
    最近更新 更多