protected function execute(InputInterface $input, OutputInterface $output) { $ellipsoid = Ellipsoid::createFromName($input->getOption('ellipsoid')); $from = new Coordinate($input->getArgument('origin'), $ellipsoid); $to = new Coordinate($input->getArgument('destination'), $ellipsoid); $geotools = new Geotools(); $distance = $geotools->distance()->setFrom($from)->setTo($to); if ($input->getOption('km')) { $distance->in('km'); } if ($input->getOption('mi')) { $distance->in('mi'); } if ($input->getOption('ft')) { $distance->in('ft'); } $output->writeln(sprintf('<value>%s</value>', $distance->haversine())); }