191 lines
13 KiB
PHP
191 lines
13 KiB
PHP
<?php
|
|
/**
|
|
* Zend Framework
|
|
*
|
|
* LICENSE
|
|
*
|
|
* This source file is subject to the new BSD license that is bundled
|
|
* with this package in the file LICENSE.txt.
|
|
* It is also available through the world-wide-web at this URL:
|
|
* http://framework.zend.com/license/new-bsd
|
|
* If you did not receive a copy of the license and are unable to
|
|
* obtain it through the world-wide-web, please send an email
|
|
* to license@zend.com so we can send you a copy immediately.
|
|
*
|
|
* @category Zend
|
|
* @package Zend_Measure
|
|
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
|
|
* @license http://framework.zend.com/license/new-bsd New BSD License
|
|
* @version $Id: Speed.php 13209 2008-12-13 22:34:06Z thomas $
|
|
*/
|
|
|
|
/**
|
|
* Implement needed classes
|
|
*/
|
|
require_once 'Zend/Measure/Abstract.php';
|
|
require_once 'Zend/Locale.php';
|
|
|
|
/**
|
|
* Class for handling speed conversions
|
|
*
|
|
* @category Zend
|
|
* @package Zend_Measure
|
|
* @subpackage Zend_Measure_Speed
|
|
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
|
|
* @license http://framework.zend.com/license/new-bsd New BSD License
|
|
*/
|
|
class Zend_Measure_Speed extends Zend_Measure_Abstract
|
|
{
|
|
const STANDARD = 'METER_PER_SECOND';
|
|
|
|
const BENZ = 'BENZ';
|
|
const CENTIMETER_PER_DAY = 'CENTIMETER_PER_DAY';
|
|
const CENTIMETER_PER_HOUR = 'CENTIMETER_PER_HOUR';
|
|
const CENTIMETER_PER_MINUTE = 'CENTIMETER_PER_MINUTE';
|
|
const CENTIMETER_PER_SECOND = 'CENTIMETER_PER_SECOND';
|
|
const DEKAMETER_PER_DAY = 'DEKAMETER_PER_DAY';
|
|
const DEKAMETER_PER_HOUR = 'DEKAMETER_PER_HOUR';
|
|
const DEKAMETER_PER_MINUTE = 'DEKAMETER_PER_MINUTE';
|
|
const DEKAMETER_PER_SECOND = 'DEKAMETER_PER_SECOND';
|
|
const FOOT_PER_DAY = 'FOOT_PER_DAY';
|
|
const FOOT_PER_HOUR = 'FOOT_PER_HOUR';
|
|
const FOOT_PER_MINUTE = 'FOOT_PER_MINUTE';
|
|
const FOOT_PER_SECOND = 'FOOT_PER_SECOND';
|
|
const FURLONG_PER_DAY = 'FURLONG_PER_DAY';
|
|
const FURLONG_PER_FORTNIGHT = 'FURLONG_PER_FORTNIGHT';
|
|
const FURLONG_PER_HOUR = 'FURLONG_PER_HOUR';
|
|
const FURLONG_PER_MINUTE = 'FURLONG_PER_MINUTE';
|
|
const FURLONG_PER_SECOND = 'FURLONG_PER_SECOND';
|
|
const HECTOMETER_PER_DAY = 'HECTOMETER_PER_DAY';
|
|
const HECTOMETER_PER_HOUR = 'HECTOMETER_PER_HOUR';
|
|
const HECTOMETER_PER_MINUTE = 'HECTOMETER_PER_MINUTE';
|
|
const HECTOMETER_PER_SECOND = 'HECTOMETER_PER_SECOND';
|
|
const INCH_PER_DAY = 'INCH_PER_DAY';
|
|
const INCH_PER_HOUR = 'INCH_PER_HOUR';
|
|
const INCH_PER_MINUTE = 'INCH_PER_MINUTE';
|
|
const INCH_PER_SECOND = 'INCH_PER_SECOND';
|
|
const KILOMETER_PER_DAY = 'KILOMETER_PER_DAY';
|
|
const KILOMETER_PER_HOUR = 'KILOMETER_PER_HOUR';
|
|
const KILOMETER_PER_MINUTE = 'KILOMETER_PER_MINUTE';
|
|
const KILOMETER_PER_SECOND = 'KILOMETER_PER_SECOND';
|
|
const KNOT = 'KNOT';
|
|
const LEAGUE_PER_DAY = 'LEAGUE_PER_DAY';
|
|
const LEAGUE_PER_HOUR = 'LEAGUE_PER_HOUR';
|
|
const LEAGUE_PER_MINUTE = 'LEAGUE_PER_MINUTE';
|
|
const LEAGUE_PER_SECOND = 'LEAGUE_PER_SECOND';
|
|
const MACH = 'MACH';
|
|
const MEGAMETER_PER_DAY = 'MEGAMETER_PER_DAY';
|
|
const MEGAMETER_PER_HOUR = 'MEGAMETER_PER_HOUR';
|
|
const MEGAMETER_PER_MINUTE = 'MEGAMETER_PER_MINUTE';
|
|
const MEGAMETER_PER_SECOND = 'MEGAMETER_PER_SECOND';
|
|
const METER_PER_DAY = 'METER_PER_DAY';
|
|
const METER_PER_HOUR = 'METER_PER_HOUR';
|
|
const METER_PER_MINUTE = 'METER_PER_MINUTE';
|
|
const METER_PER_SECOND = 'METER_PER_SECOND';
|
|
const MILE_PER_DAY = 'MILE_PER_DAY';
|
|
const MILE_PER_HOUR = 'MILE_PER_HOUR';
|
|
const MILE_PER_MINUTE = 'MILE_PER_MINUTE';
|
|
const MILE_PER_SECOND = 'MILE_PER_SECOND';
|
|
const MILLIMETER_PER_DAY = 'MILLIMETER_PER_DAY';
|
|
const MILLIMETER_PER_HOUR = 'MILLIMETER_PER_HOUR';
|
|
const MILLIMETER_PER_MINUTE = 'MILLIMETER_PER_MINUTE';
|
|
const MILLIMETER_PER_SECOND = 'MILLIMETER_PER_SECOND';
|
|
const MILLIMETER_PER_MICROSECOND = 'MILLIMETER_PER_MICROSECOND';
|
|
const MILLIMETER_PER_100_MICROSECOND = 'MILLIMETER_PER_100_MICROSECOND';
|
|
const NAUTIC_MILE_PER_DAY = 'NAUTIC_MILE_PER_DAY';
|
|
const NAUTIC_MILE_PER_HOUR = 'NAUTIC_MILE_PER_HOUR';
|
|
const NAUTIC_MILE_PER_MINUTE = 'NAUTIC_MILE_PER_MINUTE';
|
|
const NAUTIC_MILE_PER_SECOND = 'NAUTIC_MILE_PER_SECOND';
|
|
const LIGHTSPEED_AIR = 'LIGHTSPEED_AIR';
|
|
const LIGHTSPEED_GLASS = 'LIGHTSPEED_GLASS';
|
|
const LIGHTSPEED_ICE = 'LIGHTSPEED_ICE';
|
|
const LIGHTSPEED_VACUUM = 'LIGHTSPEED_VACUUM';
|
|
const LIGHTSPEED_WATER = 'LIGHTSPEED_WATER';
|
|
const SOUNDSPEED_AIR = 'SOUNDSPEED_AIT';
|
|
const SOUNDSPEED_METAL = 'SOUNDSPEED_METAL';
|
|
const SOUNDSPEED_WATER = 'SOUNDSPEED_WATER';
|
|
const YARD_PER_DAY = 'YARD_PER_DAY';
|
|
const YARD_PER_HOUR = 'YARD_PER_HOUR';
|
|
const YARD_PER_MINUTE = 'YARD_PER_MINUTE';
|
|
const YARD_PER_SECOND = 'YARD_PER_SECOND';
|
|
|
|
/**
|
|
* Calculations for all speed units
|
|
*
|
|
* @var array
|
|
*/
|
|
protected $_units = array(
|
|
'BENZ' => array('1', 'Bz'),
|
|
'CENTIMETER_PER_DAY' => array(array('' => '0.01', '/' => '86400'), 'cm/day'),
|
|
'CENTIMETER_PER_HOUR' => array(array('' => '0.01', '/' => '3600'), 'cm/h'),
|
|
'CENTIMETER_PER_MINUTE' => array(array('' => '0.01', '/' => '60'), 'cm/m'),
|
|
'CENTIMETER_PER_SECOND' => array('0.01', 'cd/s'),
|
|
'DEKAMETER_PER_DAY' => array(array('' => '10', '/' => '86400'), 'dam/day'),
|
|
'DEKAMETER_PER_HOUR' => array(array('' => '10', '/' => '3600'), 'dam/h'),
|
|
'DEKAMETER_PER_MINUTE' => array(array('' => '10', '/' => '60'), 'dam/m'),
|
|
'DEKAMETER_PER_SECOND' => array('10', 'dam/s'),
|
|
'FOOT_PER_DAY' => array(array('' => '0.3048', '/' => '86400'), 'ft/day'),
|
|
'FOOT_PER_HOUR' => array(array('' => '0.3048', '/' => '3600'), 'ft/h'),
|
|
'FOOT_PER_MINUTE' => array(array('' => '0.3048', '/' => '60'), 'ft/m'),
|
|
'FOOT_PER_SECOND' => array('0.3048', 'ft/s'),
|
|
'FURLONG_PER_DAY' => array(array('' => '201.1684', '/' => '86400'), 'fur/day'),
|
|
'FURLONG_PER_FORTNIGHT' => array(array('' => '201.1684', '/' => '1209600'), 'fur/fortnight'),
|
|
'FURLONG_PER_HOUR' => array(array('' => '201.1684', '/' => '3600'), 'fur/h'),
|
|
'FURLONG_PER_MINUTE' => array(array('' => '201.1684', '/' => '60'), 'fur/m'),
|
|
'FURLONG_PER_SECOND' => array('201.1684', 'fur/s'),
|
|
'HECTOMETER_PER_DAY' => array(array('' => '100', '/' => '86400'), 'hm/day'),
|
|
'HECTOMETER_PER_HOUR' => array(array('' => '100', '/' => '3600'), 'hm/h'),
|
|
'HECTOMETER_PER_MINUTE' => array(array('' => '100', '/' => '60'), 'hm/m'),
|
|
'HECTOMETER_PER_SECOND' => array('100', 'hm/s'),
|
|
'INCH_PER_DAY' => array(array('' => '0.0254', '/' => '86400'), 'in/day'),
|
|
'INCH_PER_HOUR' => array(array('' => '0.0254', '/' => '3600'), 'in/h'),
|
|
'INCH_PER_MINUTE' => array(array('' => '0.0254', '/' => '60'), 'in/m'),
|
|
'INCH_PER_SECOND' => array('0.0254', 'in/s'),
|
|
'KILOMETER_PER_DAY' => array(array('' => '1000', '/' => '86400'), 'km/day'),
|
|
'KILOMETER_PER_HOUR' => array(array('' => '1000', '/' => '3600'), 'km/h'),
|
|
'KILOMETER_PER_MINUTE' => array(array('' => '1000', '/' => '60'), 'km/m'),
|
|
'KILOMETER_PER_SECOND' => array('1000', 'km/s'),
|
|
'KNOT' => array(array('' => '1852', '/' => '3600'), 'kn'),
|
|
'LEAGUE_PER_DAY' => array(array('' => '4828.0417', '/' => '86400'), 'league/day'),
|
|
'LEAGUE_PER_HOUR' => array(array('' => '4828.0417', '/' => '3600'), 'league/h'),
|
|
'LEAGUE_PER_MINUTE' => array(array('' => '4828.0417', '/' => '60'), 'league/m'),
|
|
'LEAGUE_PER_SECOND' => array('4828.0417', 'league/s'),
|
|
'MACH' => array('340.29', 'M'),
|
|
'MEGAMETER_PER_DAY' => array(array('' => '1000000', '/' => '86400'), 'Mm/day'),
|
|
'MEGAMETER_PER_HOUR' => array(array('' => '1000000', '/' => '3600'), 'Mm/h'),
|
|
'MEGAMETER_PER_MINUTE' => array(array('' => '1000000', '/' => '60'), 'Mm/m'),
|
|
'MEGAMETER_PER_SECOND' => array('1000000', 'Mm/s'),
|
|
'METER_PER_DAY' => array(array('' => '1', '/' => '86400'), 'm/day'),
|
|
'METER_PER_HOUR' => array(array('' => '1', '/' => '3600'), 'm/h'),
|
|
'METER_PER_MINUTE' => array(array('' => '1', '/' => '60'), 'm/m'),
|
|
'METER_PER_SECOND' => array('1', 'm/s'),
|
|
'MILE_PER_DAY' => array(array('' => '1609.344', '/' => '86400'), 'mi/day'),
|
|
'MILE_PER_HOUR' => array(array('' => '1609.344', '/' => '3600'), 'mi/h'),
|
|
'MILE_PER_MINUTE' => array(array('' => '1609.344', '/' => '60'), 'mi/m'),
|
|
'MILE_PER_SECOND' => array('1609.344', 'mi/s'),
|
|
'MILLIMETER_PER_DAY' => array(array('' => '0.001', '/' => '86400'), 'mm/day'),
|
|
'MILLIMETER_PER_HOUR' => array(array('' => '0.001', '/' => '3600'), 'mm/h'),
|
|
'MILLIMETER_PER_MINUTE' => array(array('' => '0.001', '/' => '60'), 'mm/m'),
|
|
'MILLIMETER_PER_SECOND' => array('0.001', 'mm/s'),
|
|
'MILLIMETER_PER_MICROSECOND' => array('1000', 'mm/µs'),
|
|
'MILLIMETER_PER_100_MICROSECOND' => array('10', 'mm/100µs'),
|
|
'NAUTIC_MILE_PER_DAY' => array(array('' => '1852', '/' => '86400'), 'nmi/day'),
|
|
'NAUTIC_MILE_PER_HOUR' => array(array('' => '1852', '/' => '3600'), 'nmi/h'),
|
|
'NAUTIC_MILE_PER_MINUTE' => array(array('' => '1852', '/' => '60'), 'nmi/m'),
|
|
'NAUTIC_MILE_PER_SECOND' => array('1852', 'nmi/s'),
|
|
'LIGHTSPEED_AIR' => array('299702547', 'speed of light (air)'),
|
|
'LIGHTSPEED_GLASS' => array('199861638', 'speed of light (glass)'),
|
|
'LIGHTSPEED_ICE' => array('228849204', 'speed of light (ice)'),
|
|
'LIGHTSPEED_VACUUM' => array('299792458', 'speed of light (vacuum)'),
|
|
'LIGHTSPEED_WATER' => array('225407863', 'speed of light (water)'),
|
|
'SOUNDSPEED_AIT' => array('340.29', 'speed of sound (air)'),
|
|
'SOUNDSPEED_METAL' => array('5000', 'speed of sound (metal)'),
|
|
'SOUNDSPEED_WATER' => array('1500', 'speed of sound (water)'),
|
|
'YARD_PER_DAY' => array(array('' => '0.9144', '/' => '86400'), 'yd/day'),
|
|
'YARD_PER_HOUR' => array(array('' => '0.9144', '/' => '3600'), 'yd/h'),
|
|
'YARD_PER_MINUTE' => array(array('' => '0.9144', '/' => '60'), 'yd/m'),
|
|
'YARD_PER_SECOND' => array('0.9144', 'yd/s'),
|
|
'STANDARD' => 'METER_PER_SECOND'
|
|
);
|
|
}
|