longitude-one / wkt-parser
解析已知的文本(WKT)对象字符串的解析器
3.0.0
2024-04-27 07:44 UTC
README
用于解析2D、3D和4D WKT/EWKT空间对象字符串的词法和解析库。
注意
本包是已废弃的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);
返回
解析器将返回一个包含键type
、value
、srid
和dimension
的数组。
type
字符串,空间对象类型(POINT、LINESTRING等)不包含任何维度。value
数组,包含点、线、面等空间对象的整数或浮点数值。srid
整数,如果解析了EWKT值,则为SRID,否则为null
。dimension
字符串,对于3D和4D对象,将包含Z
、M
或ZM
,否则为null
。
异常
Lexer
和Parser
将抛出实现LongitudeOne\Geo\WKT\Exception\ExceptionInterface
接口的异常。