longitude-one/wkt-parser

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

3.0.0 2024-04-27 07:44 UTC

This package is auto-updated.

Last update: 2024-09-16 08:42:22 UTC


README

longitude-one/wkt-parser Stable release Packagist License

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

PHP CI Maintainability Test Coverage Coverage Status Minimum PHP Version

CI Downloads

注意

本包是已废弃的creof/wkt-parser包的后续版本。

安装

composer require longitude-one/wkt-parser

用法

解析器有两种用法。要解析的值可以传递给构造函数,然后对返回的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将抛出实现LongitudeOne\Geo\WKT\Exception\ExceptionInterface接口的异常。