saikiran/geohash

将地理坐标编码为字母和数字的字符串的Geohash算法

v1.0.1 2020-07-25 17:30 UTC

This package is auto-updated.

Last update: 2024-08-29 04:37:14 UTC


README

Geohash是一个PHP模块,提供了以下功能。

  • 将地理位置编码为短字符串的字母和数字。
  • 将字母和数字字符串解码为经纬度。
  • 识别提供的geohash的相邻geohash。

安装

安装PHP Geohash最简单的方式是使用composer。在Packagist上找到它。

$ composer require saikiran/geohash

用法

编码坐标

use Sk\Geohash\Geohash;

$g = new Geohash();
echo $g->encode(17.38000000, 78.42000000, 5);

结果是

tepfb

将geohash解码为地理坐标

use Sk\Geohash\Geohash;

$g = new Geohash();
$coordinates = $g->decode("tepfb", 5);
echo "latitude : " . $coordinates[0] . ",  longitude : " . $coordinates[1];

结果是

latitude : 17.38,  longitude : 78.42

获取geohash的8个邻居的geohash

use Sk\Geohash\Geohash;

$g = new Geohash();
$hash = $g->encode(25.813646, -80.133761, 7);
$neighbors = $g->getNeighbors($hash);
echo "Hash: $hash\n";
echo "Neighbors: " . json_encode($neighbors) . "\n";

结果是

Hash: 
Neighbors: {"North":"dhx4be2","East":"dhx4be1","South":"dhx4bdb","West":"dhx4b7p","NorthEast":"dhx4be3","SouthEast":"dhx4bdc","SouthWest":"dhx4b6z","NorthWest":"dhx4b7r"}

运行单元测试

从您的项目文件夹转到这个目录

$ cd vendor/saikiran/geohash

然后运行这两个命令

$ composer install
$ vendor/bin/phpunit tests

在线查看这些资源