'Return a copy of this raster reprojected into the given SRID.'

def transform(self, srid, driver=None, name=None, resampling='NearestNeighbour', max_error=0.0):

    algorithm = GDAL_RESAMPLE_ALGORITHMS[resampling]
    target_srs = SpatialReference(srid)
    target = capi.auto_create_warped_vrt(self._ptr, self.srs.wkt.encode(), target_srs.wkt.encode(), algorithm, max_error, c_void_p())
    target = GDALRaster(target)
    data = {'srid': srid, 'width': target.width, 'height': target.height, 'origin': [target.origin.x, target.origin.y], 'scale': [target.scale.x, target.scale.y], 'skew': [target.skew.x, target.skew.y]}
    if driver:
        data['driver'] = driver
    if name:
        data['name'] = name
    return self.warp(data, resampling=resampling, max_error=max_error)
