*get next batch of exposures requiring orbfit positions*

        **Key Arguments:**
            - ``batchSize`` -- number of exposures to process per batch

        **Return:**
            - ``expsoureObjects`` -- a dictionary with exposure names as keys and a dictionary of exposure ra, dec and moving object names/mpc number as values
            - ``astorbString`` -- as string of the object orbital elements to be used later for orbfit ephemerides

def _get_exposures_requiring_orbfit_positions(
            self,
            batchSize=25):
        """*get next batch of exposures requiring orbfit positions*

        **Key Arguments:**
            - ``batchSize`` -- number of exposures to process per batch

        **Return:**
            - ``expsoureObjects`` -- a dictionary with exposure names as keys and a dictionary of exposure ra, dec and moving object names/mpc number as values
            - ``astorbString`` -- as string of the object orbital elements to be used later for orbfit ephemerides
        """
        self.log.info(
            'starting the ``_get_exposures_requiring_orbfit_positions`` method')

        if self.dev_flag == True:
            dev_flag = " and dev_flag = 1"
        else:
            dev_flag = ""

        sqlQuery = u"""
            select count(*) as count from atlas_exposures where pyephem_positions = 1 and orbfit_positions = 0 and local_data = 1  %(dev_flag)s order by pyephem_mjd asc
        """ % locals()
        rows = readquery(
            log=self.log,
            sqlQuery=sqlQuery,
            dbConn=self.atlasMoversDBConn,
            quiet=False
        )

        exposureCount = rows[0]["count"]

        if batchSize > 1:
            text = "%(batchSize)s exposures" % locals()
        else:
            text = "%(batchSize)s exposure" % locals()

        if exposureCount:
            print "There are currently %(exposureCount)s ATLAS exposures with pyephem positions needing tightened - processing the next %(text)s with orbfit" % locals()
        else:
            print "There are no more ATLAS exposures requiring to be processed with orbfit"
            return {}, '', exposureCount

        sqlQuery = u"""
            SELECT
                a.expname, a.mjd, o.primaryId, a.raDeg, a.decDeg, p.object_name, p.mpc_number, o.astorb_string, a.mjd+a.exp_time/(2*3600*24) as `mjd_mid`
            FROM
                atlas_exposures a,
                pyephem_positions p,
                orbital_elements o
            WHERE
                a.expname=p.expname
                 %(dev_flag)s
                and
                p.object_name=o.name
                and
                a.expname IN (SELECT
                        *
                    FROM
                        (SELECT
                            expname
                        FROM
                            atlas_exposures
                        WHERE
                            pyephem_positions = 1
                                AND orbfit_positions = 0 and local_data = 1 order by mjd
                        LIMIT %(batchSize)s) AS a);
                    """ % locals()
        objects = readquery(
            log=self.log,
            sqlQuery=sqlQuery,
            dbConn=self.atlasMoversDBConn,
            quiet=False
        )

        expsoureObjects = {}
        astorbDict = {}

        for o in objects:
            if o["expname"] not in expsoureObjects:
                expsoureObjects[o["expname"]] = {
                    "ra": o["raDeg"],
                    "dec": o["decDeg"],
                    "mjd": o["mjd_mid"],
                    "objects": [[o["mpc_number"], o["object_name"], o["primaryId"]]]
                }
            else:
                expsoureObjects[o["expname"]]["objects"].append(
                    [o["mpc_number"], o["object_name"], o["primaryId"]])

            if o["object_name"] not in astorbDict:
                astorbDict[o["object_name"]] = o["astorb_string"]

        astorbString = ("\n").join(astorbDict.values())

        self.log.info(
            'completed the ``_get_exposures_requiring_orbfit_positions`` method')
        return expsoureObjects, astorbString, exposureCount