Author: Derek J. Lambert (dlambert@dereklambert.com)
Inheritance: implements CrEOF\Spatial\PHP\Types\Geometry\GeometryInterface
 /**
  * {@inheritdoc}
  */
 public function convertToDatabaseValue(AbstractGeometry $value)
 {
     $sridSQL = null;
     if (($srid = $value->getSrid()) !== null) {
         $sridSQL = sprintf('SRID=%d;', $srid);
     }
     return sprintf('%s%s(%s)', $sridSQL, strtoupper($value->getType()), $value);
 }
 /**
  * {@inheritdoc}
  */
 public function convertToDatabaseValue(AbstractGeometry $value)
 {
     if (!$value instanceof GeographyInterface) {
         throw InvalidValueException::invalidValueNotGeography();
     }
     if ($value->getSrid() === null) {
         $value->setSrid(self::DEFAULT_SRID);
     }
     return sprintf('SRID=%d;%s(%s)', $value->getSrid(), strtoupper($value->getType()), $value);
 }
 /**
  * @param AbstractGeometry $object
  * @param string           $type
  * @param mixed            $value
  *
  * @return InvalidValueException
  */
 public static function invalidType(AbstractGeometry $object, $type, $value)
 {
     return new self(sprintf('Invalid %s %s value of type "%s"', $object->getType(), $type, is_object($value) ? get_class($value) : gettype($value)));
 }