creof/wkb-parser

解析二进制(WKB/EWKB)对象数据的解析器

安装量 3,832,112

依赖: 17

建议: 0

安全: 0

星星: 59

关注者: 4

分支: 14

开放问题: 5

v2.4 2022-02-15 22:46 UTC

This package is auto-updated.

Last update: 2024-08-24 22:51:15 UTC


README

Build Status Code Climate Test Coverage Coverage Status

用于2D、3D和4D开放地理空间联盟(OGC)WKB或PostGIS EWKB空间对象数据的解析器库。

用法

解析器有两种使用模式。要解析的值可以传递给构造函数,然后对返回的Parser对象调用parse()方法。

$parser = new Parser($input);

$value = $parser->parse();

如果需要解析许多值,可以使用单个Parser实例。

$parser = new Parser();

$value1 = $parser->parse($input1);
$value2 = $parser->parse($input2);

输入值

编码

解析器目前支持3种WKB编码。

  • OGC v1.1
  • OGC v1.2
  • PostGIS EWKB

格式

解析器支持多种输入格式。

  • 二进制字符串(来自数据库或pack('H*', $hexString)返回)
  • 纯十六进制文本字符串(例如:'01010000003D0AD7A3.....'
  • 带前缀的十六进制测试字符串(xX0x0X,例如:'0x01010000003D0AD7A3.....'等)

返回值

解析器将返回一个包含键typevaluesriddimension的数组。

  • type字符串,没有维度的空间对象类型(例如:POINTLINESTRING等)的大写形式。
  • value数组,包含点、基于空间对象类型的嵌套数组或空数组(对于EMPTY几何体)的整数或浮点值。
  • srid整数,如果EWKB值中存在,则为SRID,否则为null
  • dimension字符串,对于相应的3D和4D对象将包含ZMZM,否则为null

异常

ReaderParser将抛出实现接口CrEOF\Geo\WKB\Exception\ExceptionInterface的异常。

参考