agencelimitless / wkt-parser
知名文本(WKT)对象字符串解析器
3.0.0
2019-08-02 11:39 UTC
Requires
- php: >=5.3.3
- ext-spl: *
- doctrine/lexer: ~1.0
Requires (Dev)
- codeclimate/php-test-reporter: dev-master
- phpunit/phpunit: >=4.8
This package is auto-updated.
Last update: 2024-09-29 05:42:21 UTC
README
用于二维、三维和四维 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);
返回值
解析器将返回一个包含键 type
、value
、srid
和 dimension
的数组。
type
字符串,不带任何维度的空间对象类型(POINT、LINESTRING 等)。value
数组,包含点、线等空间对象的整数或浮点数值,或基于空间对象类型的嵌套数组。srid
整数,如果解析了 EWKT 值,则为 SRID,否则为null
。dimension
字符串,对于相应的三维和四维对象,将包含Z
、M
或ZM
,否则为null
。
异常
Lexer
和 Parser
将抛出实现 CrEOF\Geo\WKT\Exception\ExceptionInterface
接口的异常。