我需要将数据点从一个地理投影(拉特朗,墨卡托,UTM)转换为另一个,而我想知道是否有一组PHP工具或函数可以做到这一点?我尝试根据发现的公式编写自己的代码,但是它不够准确,而且我在任何地方都找不到更好的公式,因此我想知道某处是否可能有一些预包装的函数。如果失败,那么PROJ.4之类的东西呢?谢谢!
参考方案
MapServer / MapScript发行版中提供了Proj4的PHP模块。我认为它是由DM Solutions托管的,但是我找不到在线任何文档。要检查可用功能,我必须查看源代码。
无论如何,这是在投影之间转换坐标的方式:
//UTM zone 31N
$projDefSrc = array("proj=utm","zone=31","ellps=intl","units=m","no_defs");
$pjSrc = pj_init($projDefSrc);
//WGS84
$projDefDest = array("proj=longlat","ellps=WGS84","datum=WGS84","no_defs");
$pjDest = pj_init($projDefDest);
$x = 446423;
$y = 4610005;
$test = pj_transform($pjSrc,$pjDest,$x,$y);
//Outputs: Array ( [u] => 2.3567240656 [v] => 41.6384346565 )
print_r($test);
?>
如果要采用这种方式,则必须从Mapserver source代码文件夹(mapserver-X.X.X / mapscript / php3)编译php_proj.c并在PHP中加载扩展名。正如我之前说过的,在线没有文档,所以如果您发现任何问题,请告诉我。
希望这可以帮助。
PHP-将日期插入日期时间字段 - php
我已在数据库中使用datetime字段存储日期,使用PHP将“今天的日期”插入该字段的正确方法是什么?干杯, 参考方案 我认为您可以使用php date()函数PHP Count数组元素 - php
嗨,有人可以解释为什么这会返回“数组由0个元素组成”。 :$arr = array(1,3,5); $count = count($arr); if ($count = 0) { echo "An array is empty."; } else { echo "An array has $count elements.…PHP:从函数返回值并直接回显它? - php
这可能是一个愚蠢的问题,但是……的PHPfunction get_info() { $something = "test"; return $something; } html
我有一个需要发布的表单复选框组。
举一个简单的例子,如果我想计算一个不使用磁盘存储的脚本的命中次数,我可以使用静态类成员来执行此操作吗?用户1:<?php $test = Example::singleton(); $test->visits++; ?> 用户2:<?php $test = Example::singleton(); $test->visits+…