数据值/地理

地理值对象、解析器和格式化程序

基金套餐维护!
杰伦·德道夫

安装以下为:507998

受抚养人以下为:20

建议者以下为:2

安全以下为:0

星星以下为:16

观察者以下为:13

叉子以下为:11

未决问题以下为:4

4.4.0 2022-10-21 14:19 UTC

自述文件

小型图书馆解析、格式化和表示坐标。此库支持多种坐标格式,它经过了很好的测试,并且被维基百科和维基数据背后的软件所使用。

GitHub工作流状态 代码覆盖率

打开包装商以下为:最新稳定版本 下载计数

用法

收件人将字符串解析为LatLongValue(纬度长值)对象您可以使用其中一个坐标解析器。

$解析器=新的 LatLongParser软件();$纬度长值=$解析器->解析(北纬55.7557860,西经37.6176330);变量转储($纬度长值->获得经度());//浮子:-37.6176330

提供了以下解析器:

  • LatLongParser软件-用于特定于格式的解析器的外观。在大多数情况下,您将使用此
  • DdCoordinate分析器-分析十进制度数坐标
  • Dm坐标Parser-分析十进制分钟坐标
  • DmsCoordinate分析器-解析度数分秒坐标
  • 浮点坐标分析器-分析浮点坐标
  • 全球坐标分析程序-将坐标解析为全球坐标值物体

收件人将坐标对象转换为字符串您可以使用其中一个坐标格式器。

$格式化程序=新的 LatLongFormatter格式();$坐标字符串=$格式化程序->格式(新的 LatLongValue(纬度长值)(42.23,13.37));

提供了这些格式化程序:

  • LatLongFormatter格式-格式化aLatLongValue(纬度长值)转换为任何支持的格式
  • 全球坐标格式设置工具-格式化a全球坐标值

收件人表示一组坐标使用其中一个值对象。

LatLongValue(纬度长值)具有浮动纬度和经度。全球坐标值包裹LatLongValue(纬度长值)并添加精度和全局标识符。

这个支持的坐标格式是:

  • 度分秒(55°45'20.8296“,-37°37'3.4788”北纬55°45'20.8296“,西经37°37'3.4788”)
  • 十进制分钟(55°30',-37°30'北纬55°30',西经37°30')
  • 十进制度数(55.7557860°,-37.6176330°北纬55.7557860°,西经37.6176330°)
  • 浮子(55.7557860, -37.6176330北纬55.7557860,西经37.6176330)

解析器和格式化程序允许您自定义度、分、秒和更改用于指示方向的字母(N、E、S、W)。

要求

地理4.x:PHP 7.1或更高版本(使用PHP 7.1到PHP 7.4进行测试)

地理3.x:PHP 5.5或更高版本(使用PHP 5.5到PHP 7.4和HHVM进行测试)

安装

要将此包作为本地、项目间的依赖项添加到项目中,只需添加一个依赖于数据值/geo到您的项目作曲家.json文件。下面是一个最小的示例作曲家.json仅定义依赖项的文件此软件包的4.x版本:

{“需要”: {“数据值/geo”以下为:"^4.0.0"}}

运行测试

仅用于测试

作曲家测试

仅用于样式检查

作曲家cs

对于完整CI运行

作曲家词

作者

DataValues Geo基于并包含许多由杰罗恩·德道夫对于地图语义媒体Wiki项目。

Wikidata团队做出的重大贡献,如德国维基媒体员工Wikidata项目.

发行说明

4.4.0 (2022-10-21)

  • 已实施__序列化__取消序列化在里面LatLongValue(纬度长值)全球坐标值,提高与PHP 8.1的兼容性
  • 补充LatLongValue::getSerializationForHash;类的PHP序列化LatLongValue(锁定长度值)对于散列,应该改为调用此方法

4.3.0 (2021-04-21)

  • 将最低PHP版本从7.1提高到7.3

4.2.3 (2021-04-23)

  • 全球坐标值::newFromArray现在支持数字字符串(感谢@Silvan-WMDE)

4.2.2 (2021-01-20)

  • 添加了与的兼容性数据值/数据值3.x个
  • 添加了与的兼容性数据值/接口1.x个

4.2.1 (2019-12-18)

  • 固定的全球坐标分析程序无法解析多个值(4.2.0回归)

4.2.0 (2019-09-20)

  • 补充全球坐标值::withPrecision

4.1.0 (2018-10-29)

  • 在所有文件中添加了“PHP严格类型”
  • LatLongValue(纬度长值)不再延伸数据值对象
  • 全球坐标值不再延伸数据值对象
  • 中重新排序的方法LatLongValue(纬度长值)全球坐标值便于阅读
  • 未折旧LatLongValue::newFromArray
  • 未折旧全局坐标值::newFromArray

4.0.1 (2018-08-10)

  • 修复了使用小写S/W方向解析坐标的问题
  • 修正了省略单个分钟数的解析DMS坐标

3.0.1 (2018-08-01)

  • 修复了使用小写S/W方向解析坐标的问题

2.1.2(2018年8月1日)

  • 修复了使用小写S/W方向解析坐标的问题

4.0.0 (2018-07-13)

  • 将所需的最低PHP版本从5.5.9更新为7.1
  • 添加了标量类型提示
  • 添加了返回类型提示
  • 添加了可为null的类型提示
  • 明确了持续可见性
  • 构造无效的LatLongValue(纬度长值)现在原因无效参数异常而不是超出范围异常

3.0.0 (2018-03-20)

  • 远离的数据可用性_地理_版本常数
  • 解析器不再扩展字符串值分析器
    • 他们不再有公共方法设置选项获取选项
    • 他们不再有受保护的田地选项
    • 他们不再有受保护的方法requireOption(必需选项),默认选项字符串解析
    • 全球坐标分析程序LatLongParser软件不再具有保护方法获取选项
  • 将几个受保护的字段和方法私有化
    • 的所有字段LatLongValue(纬度长值)
    • 这个检测…精度中的方法全球坐标分析程序
    • LatLongParser::getParsers
  • 已删除公共静态方法LatLongParser::are坐标
  • 删除了对DataValues公共库的依赖
  • 删除了长期不推荐使用的类别名
    • 数据值\全球坐标值(现在加入数据值\地理\值)
    • 数据值\LatLongValue(现在加入数据值\Geo\Values)
    • 数据值\Geo\Formatters\GeoCoordinateFormatter(现在LatLongFormatter格式)
    • 数据值\Geo\Parsers\GeoCoordinateParser(现在LatLongParser软件)

2.1.1 (2017-08-09)

  • 允许与约0.4.0个DataValues/Common一起使用

2.1.0 (2017-08-09)

  • 删除MediaWiki集成
  • 利用…::类功能
  • 添加.gitattributes以从git导出中排除不需要的文件
  • 使用Wikibase CodeSniffer而不是Mediawiki的
  • 移动到短数组语法

2.0.1 (2017-06-26)

  • 固定的全球坐标值::newFromArrayLatLongValue::newFromArray不接受混合值。
  • 已弃用全球坐标值::newFromArrayLatLongValue::newFromArray.
  • 将所需的最低PHP版本从5.3更新为5.5.9。

2.0.0 (2017-05-09)

  • 全球坐标值不再接受空字符串作为globes。
  • 全球坐标值不再接受[-360..+360]间隔之外的精度。
  • 更改的哈希计算全球坐标值以一种不相容的方式。
  • 已重命名地理坐标格式设置工具LatLong格式化程序,留下一个弃用的别名。
  • 已重命名地理坐标分析器LatLong分析器,留下一个弃用的别名。
  • 已重命名地理坐标分析程序库LatLong分析器基础.
  • 已弃用LatLongParser::are坐标.

1.2.2 (2017-03-14)

  • 修复了中的多个舍入问题地理坐标格式设置工具.

1.2.1 (2016-12-16)

  • 修复了中的另一个IEEE问题地理坐标格式设置工具.

1.2.0 (2016-11-11)

  • 将缺少的内联文档添加到公共方法和常量中。
  • 添加了基本PHPCS规则集,可以使用作曲家phpc.

1.1.8 (2016-10-12)

  • 修复了中的IEEE问题地理坐标格式设置工具
  • 修复了测试中的PHP 7.1兼容性问题

1.1.7 (2016-05-25)

  • 对文档进行了微小改进

1.1.6 (2016-04-02)

  • 增加了与DataValues Common 0.3.x的兼容性

1.1.5 (2015-12-28)

  • 该组件现在可以与DataValues Interfaces 0.2.x一起安装

1.1.4 (2014-11-25)

  • 将无效精度的回退添加到更多位置。

1.1.3 (2014-11-19)

  • 返回到无效精度的默认值,而不是除以零。

1.1.2 (2014-11-18)

  • 精密检测全球坐标分析程序现在下限为0.000001°

1.1.1 (2014-10-21)

  • 从消息和注释中删除了类别名的剩余用法
  • 修复了文档中的某些类型

1.1.0 (2014-10-09)

  • 使组件可以用DataValues 1.x安装
  • 地理坐标格式器现在支持以度为单位的精度
  • 全球坐标格式设置工具现在将全球精度传递给地理坐标格式设置工具它使用
  • 介绍格式_名称在ValueParsers上类常量,以便将它们用作预期格式
  • 在构造分析异常

1.0.0 (2014-07-31)

  • 所有类和接口都已移动到数据值\Geo命名空间
    • 数据值\LatLongValue已保留为不推荐的别名
    • 数据值\全球坐标值已保留为不推荐的别名
  • 球进全球坐标值现在默认为http://www.wikidata.org/entity/Q2

0.2.0 (2014-07-07)

  • 已删除已弃用地理坐标值
  • 补充全球数学

0.1.2 (2014-01-22)

  • 添加了对GeoCoordinateFormatter中不同级别间距的支持

0.1.1 (2013-11-30)

  • 添加了对GeoCoordinateFormatter方向标记的支持
  • 降低了GeoCoordinateFormatter的复杂性
  • 降低了GeoCoordinateFormatterTest的复杂性和耦合性

0.1.0 (2013-11-17)

具有以下功能的初始版本:

  • LatLongValue(纬度长值)
  • 全球坐标值
  • 地理坐标格式设置工具
  • 全球通用格式设置工具
  • DdCoordinate分析器
  • Dm坐标分析器
  • DmsCoordinateParser公司
  • 浮点坐标分析器
  • 地理坐标分析器
  • 全球协调员Parser

链接