<?php 
namespace Picamator\NeoWsClient\Example; 
 
use Picamator\NeoWsClient\Model\Api\Data\NeoInterface; 
 
/** 
 * Show neo detailed 
 * 
 * @param NeoInterface $data 
 */ 
function showNeoDetailed(NeoInterface $data) 
{ 
    echo <<<EOT 
{$data->getName()} 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
 
Neo reference id                | {$data->getNeoReferenceId()} 
Name                            | {$data->getName()} 
NASA JPL url                    | {$data->getNasaJplUrl()} 
Link                            | {$data->getLink()->getSelf()} 
Absolute magnitude H            | {$data->getAbsoluteMagnitudeH()} 
Potentially hazardous asteroid  | {$data->hasPotentiallyHazardousAsteroid()} 
 
 
Estimated diameter 
------------------ 
 
Kilometers (min)                | {$data->getEstimatedDiameter()->getKilometers()->getEstimatedDiameterMin()}  
Kilometers (max)                | {$data->getEstimatedDiameter()->getKilometers()->getEstimatedDiameterMax()} 
------------------------------- | ----------------------- 
Meters (min)                    | {$data->getEstimatedDiameter()->getMeters()->getEstimatedDiameterMin()}  
Meters (max)                    | {$data->getEstimatedDiameter()->getMeters()->getEstimatedDiameterMax()} 
------------------------------- | ----------------------- 
Miles (min)                     | {$data->getEstimatedDiameter()->getMiles()->getEstimatedDiameterMin()}  
Miles (max)                     | {$data->getEstimatedDiameter()->getMiles()->getEstimatedDiameterMax()} 
------------------------------- | ----------------------- 
Feet (min)                      | {$data->getEstimatedDiameter()->getFeet()->getEstimatedDiameterMin()}  
Feet (max)                      | {$data->getEstimatedDiameter()->getFeet()->getEstimatedDiameterMax()} 
 
 
EOT; 
 
    if ($data->getOrbitalData()) { 
 
        echo <<<EOT 
Orbital data 
------------ 
 
Orbit id                        | {$data->getOrbitalData()->getOrbitId()}  
Orbit determination date        | {$data->getOrbitalData()->getOrbitDeterminationDate()->format('Y-m-d H:i:s')}  
Orbit uncertainty               | {$data->getOrbitalData()->getOrbitUncertainty()}  
Minimum orbit intersection      | {$data->getOrbitalData()->getMinimumOrbitIntersection()}  
Jupiter Tisserand's invariant   | {$data->getOrbitalData()->getJupiterTisserandInvariant()}  
Epoch osculation                | {$data->getOrbitalData()->getEpochOsculation()}  
Eccentricity                    | {$data->getOrbitalData()->getEccentricity()}  
Semi major axis                 | {$data->getOrbitalData()->getSemiMajorAxis()}  
Inclination                     | {$data->getOrbitalData()->getInclination()}  
Ascending node longitude        | {$data->getOrbitalData()->getAscendingNodeLongitude()}  
Orbital period                  | {$data->getOrbitalData()->getOrbitalPeriod()}  
Perihelion distance             | {$data->getOrbitalData()->getPerihelionDistance()}  
Perihelion argument             | {$data->getOrbitalData()->getPerihelionArgument()}  
Aphelion distance               | {$data->getOrbitalData()->getAphelionDistance()}  
Perihelion time                 | {$data->getOrbitalData()->getPerihelionTime()}  
Mean anomaly                    | {$data->getOrbitalData()->getMeanAnomaly()}  
Mean motion                     | {$data->getOrbitalData()->getMeanMotion()}  
Equinox                         | {$data->getOrbitalData()->getEquinox()}  
 
 
EOT; 
    } 
 
    echo <<<EOT 
Close approach data 
------------------- 
 
EOT; 
 
    /** @var \Picamator\NeoWsClient\Model\Data\Component\CloseApproach $item */ 
    foreach ($data->getCloseApproachData() as $item) { 
 
        echo <<<EOT 
Close approach date             | {$item->getCloseApproachDate()->format('Y-m-d')}  
Epoch date close approach       | {$item->getEpochDateCloseApproach()}  
Orbiting body                   | {$item->getOrbitingBody()}  
------------------------------- | ------------------------------- 
Relative velocity               |  
------------------------------- | ------------------------------- 
Kilometers per second           | {$item->getRelativeVelocity()->getKilometersPerSecond()} 
Kilometers per hour             | {$item->getRelativeVelocity()->getKilometersPerHour()} 
Miles per hour                  | {$item->getRelativeVelocity()->getMilesPerHour()} 
------------------------------- | ------------------------------- 
Miss distance                   |  
------------------------------- | ------------------------------- 
Astronomical                    | {$item->getMissDistance()->getAstronomical()} 
Lunar                           | {$item->getMissDistance()->getLunar()} 
Kilometers                      | {$item->getMissDistance()->getKilometers()} 
Miles                           | {$item->getMissDistance()->getMiles()} 
================================================================= 
 
 
EOT; 
 
    } 
} 
 
 |