docs: def get_value_by_row_col(self, row, col):
          """Get raster value by (row, col).
  
          Args:
              row: row number.
              col: col number.
  
          Returns:
              raster value, None if the input are invalid.
          """
          if row < 0 or row >= self.nRows or col < 0 or col >= self.nCols:
              raise ValueError("The row or col must be >=0 and less than "
                               "nRows (%d) or nCols (%d)!" % (self.nRows, self.nCols))
          else:
              value = self.data[int(round(row))][int(round(col))]
              if value == self.noDataValue:
                  return None
              else:
                  return value