creof/wkt-parser

知名文本(WKT)对象字符串解析器

2.2.0 2016-05-03 16:15 UTC

This package is auto-updated.

Last update: 2024-09-08 04:21:40 UTC


README

Code Climate Test Coverage Build Status

2D、3D和4D WKT/EWKT空间对象字符串的词法和解析库。

用法

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

$input = 'POLYGON((0 0,10 0,10 10,0 10,0 0))';

$parser = new Parser($input);

$value = $parser->parse();

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

$input1 = 'POLYGON((0 0,10 0,10 10,0 10,0 0))';
$input2 = 'POINT(0,0)';

$parser = new Parser();

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

返回值

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

  • type 字符串,不带任何维度的空间对象类型(POINT、LINESTRING等)。
  • value 数组,包含点的整型或浮点值,或者根据空间对象类型包含这些值的嵌套数组。
  • srid 整数,如果解析了 EWKT 值,则为 SRID,否则为 null
  • dimension 字符串,对于相应的 3D 和 4D 对象将包含 ZMZM,否则为 null

异常

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