CommunityID/libs/Zend/Measure/Speed.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'
);
}