'Requires GDAL. Transforms the geometry according to the given
transformation object, which may be an integer SRID, and WKT or
PROJ.4 string. By default, the geometry is transformed in-place and
nothing is returned. However if the `clone` keyword is set, then this
geometry will not be modified and a transformed clone will be returned
instead.'

def transform(self, ct, clone=False):

    srid = self.srid
    if (gdal.HAS_GDAL and srid):
        g = gdal.OGRGeometry(self.wkb, srid)
        g.transform(ct)
        ptr = wkb_r().read(g.wkb)
        if clone:
            return GEOSGeometry(ptr, srid=g.srid)
        if ptr:
            capi.destroy_geom(self.ptr)
            self.ptr = ptr
            self._post_init(g.srid)
        else:
            raise GEOSException('Transformed    WKB    was    invalid.')
