/** * {@inheritdoc} */ public function convertBinaryToPHPValue($sqlExpr) { $parser = new BinaryParser($sqlExpr); $value = $parser->parse(); $class = sprintf('CrEOF\\Spatial\\PHP\\Types\\%s\\%s', $this->getBaseType(), $value['type']); return new $class($value['value'], $value['srid']); }
public function testParsingXDRGeometryCollectionValueWithSrid() { $value = '0020000007000010E6000000030000000001402400000000000040240000000000000000000001403E000000000000403E000000000000000000000200000002402E000000000000402E00000000000040340000000000004034000000000000'; $value = pack('H*', $value); $parser = new BinaryParser($value); $expected = array('srid' => 4326, 'type' => 'GEOMETRYCOLLECTION', 'value' => array(array('type' => 'POINT', 'value' => array(10, 10)), array('type' => 'POINT', 'value' => array(30, 30)), array('type' => 'LINESTRING', 'value' => array(array(15, 15), array(20, 20))))); $actual = $parser->parse(); $this->assertEquals($expected, $actual); }
/** * {@inheritdoc} */ public function convertBinaryToPHPValue($sqlExpr) { $parser = new BinaryParser($sqlExpr); return $this->newObjectFromValue($parser->parse()); }