docs: def getRastersAsPngs(self, session, tableName, rasterIds, postGisRampString, rasterField='raster', rasterIdField='id',  cellSize=None, resampleMethod='NearestNeighbour'):
          """
          Return the raster in a PNG format
          """
          # Validate
          VALID_RESAMPLE_METHODS = ('NearestNeighbour', 'Bilinear', 'Cubic', 'CubicSpline', 'Lanczos')
  
          # Validate
          if resampleMethod not in VALID_RESAMPLE_METHODS:
              print('RASTER CONVERSION ERROR: {0} is not a valid resampleMethod.'
                    ' Please use either {1}'.format(resampleMethod,
                                                    ', '.join(VALID_RESAMPLE_METHODS)))
  
          if cellSize is not None:
              if not self.isNumber(cellSize):
                  raise ValueError('RASTER CONVERSION ERROR: cellSize must be a number or None.')
  
          # Convert raster ids into formatted string
          rasterIdsString = '({0})'.format(', '.join(rasterIds))
  
          if cellSize is not None:
              statement = '''
                          SELECT ST_AsPNG(ST_Transform(ST_ColorMap(ST_Rescale({0}, {5}, '{6}'), 1, '{4}'), 4326, 'Bilinear')) As png
                          FROM {1}
                          WHERE {2} IN {3};
                          '''.format(rasterField, tableName, rasterIdField, rasterIdsString, postGisRampString, cellSize,
                                     resampleMethod)
          else:
              statement = '''
                          SELECT ST_AsPNG(ST_Transform(ST_ColorMap({0}, 1, '{4}'), 4326, 'Bilinear')) As png
                          FROM {1}
                          WHERE {2} IN {3};
                          '''.format(rasterField, tableName, rasterIdField, rasterIdsString, postGisRampString)
          result = session.execute(statement)
          return result