agencelimitless/wkb-parser

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

3.0.0 2019-08-02 11:38 UTC

This package is auto-updated.

Last update: 2024-09-29 05:28:41 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的异常。

参考