/**
  * {@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());
 }