markbaker/phpgeodetic

大地测量库

dev-develop 2015-02-22 22:58 UTC

This package is auto-updated.

Last update: 2024-08-29 04:32:09 UTC


README

PHPGeodetic 是一个用 PHP 编写的库,提供了一套处理经纬度和 ECEF 坐标的大地测量类,以及不同基准面之间的转换

此库提供以下方法:

  • 将角度(方位角、纬度和经度)在度、弧度、分、秒和百分度之间进行转换。
  • 将距离在米和公里、英里、海里、码、英尺、英寸和天文单位之间进行转换。
  • 将面积在平方米、平方公里、公顷、平方英里、平方码、英亩等之间进行转换。
  • 计算参考椭球体导出的属性,如偏心率;平均、等积和体积半径;以及正交圈和子午线的曲率半径
  • 在纬度/经度和 ECEF(地球中心、地球固定)之间以及相反方向转换位置。
  • 在纬度/经度和 UTM(通用横轴墨卡托)之间以及相反方向转换位置。
  • 赫姆特转换,用于在基准面之间进行转换。
  • 使用哈夫尔范公式或文森特公式计算大圆距离。
  • 计算大圆航线上的起始和最终方位角,以及中点值。
  • 从起点、起始方位角和距离计算目的地。
  • 计算椭球体上区域的外围、面积和中心点。

要求

  • PHP 版本 5.3.0 或更高

安装

我们建议使用 Composer 安装此包。

通过 composer

在项目根目录中执行

composer require markbaker/phpgeodetic:dev-master

现在你应该在项目目录中有 composer.jsoncomposer.lock 文件以及 vendor 目录。

然后您可以从代码中要求 Composer 自动加载器

require 'vendor/autoload.php';

或者,如果您已经有了 composer.json 文件,那么在文件中要求此包,并更新 composer。

"require": {
    "markbaker/phpgeodetic": "dev-master"
}

和更新 composer。

composer update

通过 Phar

尽管我们强烈建议使用 Composer,但我们还提供了一个 Phar 归档 构建器,该构建器将创建一个包含所有库代码的 Phar 文件。

phar 构建器脚本位于存储库根目录中,可以通过以下方式运行:

php buildPhar.php

要使用存档,只需从脚本中要求它即可

require 'Geodetic.phar';

标准自动加载器

如果您想在不需要使用 composer 的自动加载器的情况下运行代码,并且不想构建 Phar,那么请从存储库中在代码中要求 bootstrap.php 文件,这将启用库的自动加载器。

require 'bootstrap.php';

想要贡献吗?

分支此库!

许可协议

PHPGeodetic 根据 LGPL (GNU LESSER GENERAL PUBLIC LICENSE) 许可。