/** * Format params. * * @param array $input Swetest data * @param null|array $params Array of blocks (optional) * @return array */ private function formatParams(array $input, array $params = null) { $dataParams = []; if (is_null($params) || in_array(Data::BLOCK_GRAHA, $params) && in_array(Data::BLOCK_BHAVA, $params)) { $count = 22; } elseif (in_array(Data::BLOCK_GRAHA, $params)) { $count = 8; } elseif (in_array(Data::BLOCK_BHAVA, $params)) { $count = 14; } foreach ($input as $k => $v) { // Break if swetest warning if ($k == $count) { break; } $parametersString = str_replace(' ', '', $v); $parameters = explode(',', $parametersString); $bodyName = $parameters[0]; $units = Math::partsToUnits($parameters[1]); if (array_key_exists($bodyName, $this->outputPlanets)) { $dataParams[Data::BLOCK_GRAHA][$this->outputPlanets[$bodyName]] = ['longitude' => (double) $parameters[1], 'latitude' => (double) $parameters[2], 'speed' => (double) $parameters[3], 'ascension' => (double) $parameters[4], 'declination' => (double) $parameters[5], 'rashi' => $units['units'], 'degree' => $units['parts']]; } elseif (array_key_exists($bodyName, $this->outputHouses)) { $dataParams[Data::BLOCK_BHAVA][$this->outputHouses[$bodyName]] = ['longitude' => (double) $parameters[1], 'ascension' => (double) $parameters[2], 'declination' => (double) $parameters[3], 'rashi' => $units['units'], 'degree' => $units['parts']]; } elseif (array_key_exists($bodyName, $this->outputLagna)) { $dataParams[Data::BLOCK_LAGNA][$this->outputLagna[$bodyName]] = ['longitude' => (double) $parameters[1], 'ascension' => (double) $parameters[2], 'declination' => (double) $parameters[3], 'rashi' => $units['units'], 'degree' => $units['parts']]; } } if (is_null($params) || in_array(Data::BLOCK_GRAHA, $params)) { $longitudeKe = Math::oppositeValue($dataParams['graha'][Graha::KEY_RA]['longitude'], 360); $ascensionKe = Math::oppositeValue($dataParams['graha'][Graha::KEY_RA]['ascension'], 360); $units = Math::partsToUnits($longitudeKe); $dataParams['graha'][Graha::KEY_KE] = ['longitude' => $longitudeKe, 'latitude' => $dataParams['graha'][Graha::KEY_RA]['latitude'], 'speed' => $dataParams['graha'][Graha::KEY_RA]['speed'], 'rashi' => $units['units'], 'degree' => $units['parts'], 'ascension' => $ascensionKe, 'declination' => $dataParams['graha'][Graha::KEY_RA]['declination']]; } return $dataParams; }