Beispiel #1
0
 /**
  * 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;
 }