web/Zend/Measure/Area.php
changeset 0 4eba9c11703f
equal deleted inserted replaced
-1:000000000000 0:4eba9c11703f
       
     1 <?php
       
     2 /**
       
     3  * Zend Framework
       
     4  *
       
     5  * LICENSE
       
     6  *
       
     7  * This source file is subject to the new BSD license that is bundled
       
     8  * with this package in the file LICENSE.txt.
       
     9  * It is also available through the world-wide-web at this URL:
       
    10  * http://framework.zend.com/license/new-bsd
       
    11  * If you did not receive a copy of the license and are unable to
       
    12  * obtain it through the world-wide-web, please send an email
       
    13  * to license@zend.com so we can send you a copy immediately.
       
    14  *
       
    15  * @category  Zend
       
    16  * @package   Zend_Measure
       
    17  * @copyright  Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
       
    18  * @license   http://framework.zend.com/license/new-bsd     New BSD License
       
    19  * @version   $Id: Area.php 20096 2010-01-06 02:05:09Z bkarwin $
       
    20  */
       
    21 
       
    22 /**
       
    23  * Implement needed classes
       
    24  */
       
    25 require_once 'Zend/Measure/Abstract.php';
       
    26 require_once 'Zend/Locale.php';
       
    27 
       
    28 /**
       
    29  * Class for handling area conversions
       
    30  *
       
    31  * @category   Zend
       
    32  * @package    Zend_Measure
       
    33  * @subpackage Zend_Measure_Area
       
    34  * @copyright  Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
       
    35  * @license    http://framework.zend.com/license/new-bsd     New BSD License
       
    36  */
       
    37 class Zend_Measure_Area extends Zend_Measure_Abstract
       
    38 {
       
    39     const STANDARD = 'SQUARE_METER';
       
    40 
       
    41     const ACRE                       = 'ACRE';
       
    42     const ACRE_COMMERCIAL            = 'ACRE_COMMERCIAL';
       
    43     const ACRE_SURVEY                = 'ACRE_SURVEY';
       
    44     const ACRE_IRELAND               = 'ACRE_IRELAND';
       
    45     const ARE                        = 'ARE';
       
    46     const ARPENT                     = 'ARPENT';
       
    47     const BARN                       = 'BARN';
       
    48     const BOVATE                     = 'BOVATE';
       
    49     const BUNDER                     = 'BUNDER';
       
    50     const CABALLERIA                 = 'CABALLERIA';
       
    51     const CABALLERIA_AMERICA         = 'CABALLERIA_AMERICA';
       
    52     const CABALLERIA_CUBA            = 'CABALLERIA_CUBA';
       
    53     const CARREAU                    = 'CARREAU';
       
    54     const CARUCATE                   = 'CARUCATE';
       
    55     const CAWNEY                     = 'CAWNEY';
       
    56     const CENTIARE                   = 'CENTIARE';
       
    57     const CONG                       = 'CONG';
       
    58     const COVER                      = 'COVER';
       
    59     const CUERDA                     = 'CUERDA';
       
    60     const DEKARE                     = 'DEKARE';
       
    61     const DESSIATINA                 = 'DESSIATINA';
       
    62     const DHUR                       = 'DHUR';
       
    63     const DUNUM                      = 'DUNUM';
       
    64     const DUNHAM                     = 'DUNHAM';
       
    65     const FALL_SCOTS                 = 'FALL_SCOTS';
       
    66     const FALL                       = 'FALL';
       
    67     const FANEGA                     = 'FANEGA';
       
    68     const FARTHINGDALE               = 'FARTHINGDALE';
       
    69     const HACIENDA                   = 'HACIENDA';
       
    70     const HECTARE                    = 'HECTARE';
       
    71     const HIDE                       = 'HIDE';
       
    72     const HOMESTEAD                  = 'HOMESTEAD';
       
    73     const HUNDRED                    = 'HUNDRED';
       
    74     const JERIB                      = 'JERIB';
       
    75     const JITRO                      = 'JITRO';
       
    76     const JOCH                       = 'JOCH';
       
    77     const JUTRO                      = 'JUTRO';
       
    78     const JO                         = 'JO';
       
    79     const KAPPLAND                   = 'KAPPLAND';
       
    80     const KATTHA                     = 'KATTHA';
       
    81     const LABOR                      = 'LABOR';
       
    82     const LEGUA                      = 'LEGUA';
       
    83     const MANZANA_COSTA_RICA         = 'MANZANA_COSTA_RICA';
       
    84     const MANZANA                    = 'MANZANA';
       
    85     const MORGEN                     = 'MORGEN';
       
    86     const MORGEN_AFRICA              = 'MORGEN_AFRICA';
       
    87     const MU                         = 'MU';
       
    88     const NGARN                      = 'NGARN';
       
    89     const NOOK                       = 'NOOK';
       
    90     const OXGANG                     = 'OXGANG';
       
    91     const PERCH                      = 'PERCH';
       
    92     const PERCHE                     = 'PERCHE';
       
    93     const PING                       = 'PING';
       
    94     const PYONG                      = 'PYONG';
       
    95     const RAI                        = 'RAI';
       
    96     const ROOD                       = 'ROOD';
       
    97     const SECTION                    = 'SECTION';
       
    98     const SHED                       = 'SHED';
       
    99     const SITIO                      = 'SITIO';
       
   100     const SQUARE                     = 'SQUARE';
       
   101     const SQUARE_ANGSTROM            = 'SQUARE_ANGSTROM';
       
   102     const SQUARE_ASTRONOMICAL_UNIT   = 'SQUARE_ASTRONOMICAL_UNIT';
       
   103     const SQUARE_ATTOMETER           = 'SQUARE_ATTOMETER';
       
   104     const SQUARE_BICRON              = 'SQUARE_BICRON';
       
   105     const SQUARE_CENTIMETER          = 'SQUARE_CENTIMETER';
       
   106     const SQUARE_CHAIN               = 'SQUARE_CHAIN';
       
   107     const SQUARE_CHAIN_ENGINEER      = 'SQUARE_CHAIN_ENGINEER';
       
   108     const SQUARE_CITY_BLOCK_US_EAST  = 'SQUARE_CITY_BLOCK_US_EAST';
       
   109     const SQUARE_CITY_BLOCK_US_WEST  = 'SQUARE_CITY_BLOCK_US_WEST';
       
   110     const SQUARE_CITY_BLOCK_US_SOUTH = 'SQUARE_CITY_BLOCK_US_SOUTH';
       
   111     const SQUARE_CUBIT               = 'SQUARE_CUBIT';
       
   112     const SQUARE_DECIMETER           = 'SQUARE_DECIMETER';
       
   113     const SQUARE_DEKAMETER           = 'SQUARE_DEKAMETER';
       
   114     const SQUARE_EXAMETER            = 'SQUARE_EXAMETER';
       
   115     const SQUARE_FATHOM              = 'SQUARE_FATHOM';
       
   116     const SQUARE_FEMTOMETER          = 'SQUARE_FEMTOMETER';
       
   117     const SQUARE_FERMI               = 'SQUARE_FERMI';
       
   118     const SQUARE_FOOT                = 'SQUARE_FOOT';
       
   119     const SQUARE_FOOT_SURVEY         = 'SQUARE_FOOT_SURVEY';
       
   120     const SQUARE_FURLONG             = 'SQUARE_FURLONG';
       
   121     const SQUARE_GIGAMETER           = 'SQUARE_GIGAMETER';
       
   122     const SQUARE_HECTOMETER          = 'SQUARE_HECTOMETER';
       
   123     const SQUARE_INCH                = 'SQUARE_INCH';
       
   124     const SQUARE_INCH_SURVEY         = 'SQUARE_INCH_SURVEY';
       
   125     const SQUARE_KILOMETER           = 'SQUARE_KILOMETER';
       
   126     const SQUARE_LEAGUE_NAUTIC       = 'SQUARE_LEAGUE_NAUTIC';
       
   127     const SQUARE_LEAGUE              = 'SQUARE_LEAGUE';
       
   128     const SQUARE_LIGHT_YEAR          = 'SQUARE_LIGHT_YEAR';
       
   129     const SQUARE_LINK                = 'SQUARE_LINK';
       
   130     const SQUARE_LINK_ENGINEER       = 'SQUARE_LINK_ENGINEER';
       
   131     const SQUARE_MEGAMETER           = 'SQUARE_MEGAMETER';
       
   132     const SQUARE_METER               = 'SQUARE_METER';
       
   133     const SQUARE_MICROINCH           = 'SQUARE_MICROINCH';
       
   134     const SQUARE_MICROMETER          = 'SQUARE_MICROMETER';
       
   135     const SQUARE_MICROMICRON         = 'SQUARE_MICROMICRON';
       
   136     const SQUARE_MICRON              = 'SQUARE_MICRON';
       
   137     const SQUARE_MIL                 = 'SQUARE_MIL';
       
   138     const SQUARE_MILE                = 'SQUARE_MILE';
       
   139     const SQUARE_MILE_NAUTIC         = 'SQUARE_MILE_NAUTIC';
       
   140     const SQUARE_MILE_SURVEY         = 'SQUARE_MILE_SURVEY';
       
   141     const SQUARE_MILLIMETER          = 'SQUARE_MILLIMETER';
       
   142     const SQUARE_MILLIMICRON         = 'SQUARE_MILLIMICRON';
       
   143     const SQUARE_MYRIAMETER          = 'SQUARE_MYRIAMETER';
       
   144     const SQUARE_NANOMETER           = 'SQUARE_NANOMETER';
       
   145     const SQUARE_PARIS_FOOT          = 'SQUARE_PARIS_FOOT';
       
   146     const SQUARE_PARSEC              = 'SQUARE_PARSEC';
       
   147     const SQUARE_PERCH               = 'SQUARE_PERCH';
       
   148     const SQUARE_PERCHE              = 'SQUARE_PERCHE';
       
   149     const SQUARE_PETAMETER           = 'SQUARE_PETAMETER';
       
   150     const SQUARE_PICOMETER           = 'SQUARE_PICOMETER';
       
   151     const SQUARE_ROD                 = 'SQUARE_ROD';
       
   152     const SQUARE_TENTHMETER          = 'SQUARE_TENTHMETER';
       
   153     const SQUARE_TERAMETER           = 'SQUARE_TERAMETER';
       
   154     const SQUARE_THOU                = 'SQUARE_THOU';
       
   155     const SQUARE_VARA                = 'SQUARE_VARA';
       
   156     const SQUARE_VARA_TEXAS          = 'SQUARE_VARA_TEXAS';
       
   157     const SQUARE_YARD                = 'SQUARE_YARD';
       
   158     const SQUARE_YARD_SURVEY         = 'SQUARE_YARD_SURVEY';
       
   159     const SQUARE_YOCTOMETER          = 'SQUARE_YOCTOMETER';
       
   160     const SQUARE_YOTTAMETER          = 'SQUARE_YOTTAMETER';
       
   161     const STANG                      = 'STANG';
       
   162     const STREMMA                    = 'STREMMA';
       
   163     const TAREA                      = 'TAREA';
       
   164     const TATAMI                     = 'TATAMI';
       
   165     const TONDE_LAND                 = 'TONDE_LAND';
       
   166     const TOWNSHIP                   = 'TOWNSHIP';
       
   167     const TSUBO                      = 'TSUBO';
       
   168     const TUNNLAND                   = 'TUNNLAND';
       
   169     const YARD                       = 'YARD';
       
   170     const VIRGATE                    = 'VIRGATE';
       
   171 
       
   172     /**
       
   173      * Calculations for all area units
       
   174      *
       
   175      * @var array
       
   176      */
       
   177     protected $_units = array(
       
   178         'ACRE'               => array('4046.856422',      'A'),
       
   179         'ACRE_COMMERCIAL'    => array('3344.50944',       'A'),
       
   180         'ACRE_SURVEY'        => array('4046.872627',      'A'),
       
   181         'ACRE_IRELAND'       => array('6555',             'A'),
       
   182         'ARE'                => array('100',              'a'),
       
   183         'ARPENT'             => array('3418.89',          'arpent'),
       
   184         'BARN'               => array('1e-28',            'b'),
       
   185         'BOVATE'             => array('60000',            'bovate'),
       
   186         'BUNDER'             => array('10000',            'bunder'),
       
   187         'CABALLERIA'         => array('400000',           'caballeria'),
       
   188         'CABALLERIA_AMERICA' => array('450000',           'caballeria'),
       
   189         'CABALLERIA_CUBA'    => array('134200',           'caballeria'),
       
   190         'CARREAU'            => array('12900',            'carreau'),
       
   191         'CARUCATE'           => array('486000',           'carucate'),
       
   192         'CAWNEY'             => array('5400',             'cawney'),
       
   193         'CENTIARE'           => array('1',                'ca'),
       
   194         'CONG'               => array('1000',             'cong'),
       
   195         'COVER'              => array('2698',             'cover'),
       
   196         'CUERDA'             => array('3930',             'cda'),
       
   197         'DEKARE'             => array('1000',             'dekare'),
       
   198         'DESSIATINA'         => array('10925',            'dessiantina'),
       
   199         'DHUR'               => array('16.929',           'dhur'),
       
   200         'DUNUM'              => array('1000',             'dunum'),
       
   201         'DUNHAM'             => array('1000',             'dunham'),
       
   202         'FALL_SCOTS'         => array('32.15',            'fall'),
       
   203         'FALL'               => array('47.03',            'fall'),
       
   204         'FANEGA'             => array('6430',             'fanega'),
       
   205         'FARTHINGDALE'       => array('1012',             'farthingdale'),
       
   206         'HACIENDA'           => array('89600000',         'hacienda'),
       
   207         'HECTARE'            => array('10000',            'ha'),
       
   208         'HIDE'               => array('486000',           'hide'),
       
   209         'HOMESTEAD'          => array('647500',           'homestead'),
       
   210         'HUNDRED'            => array('50000000',         'hundred'),
       
   211         'JERIB'              => array('2000',             'jerib'),
       
   212         'JITRO'              => array('5755',             'jitro'),
       
   213         'JOCH'               => array('5755',             'joch'),
       
   214         'JUTRO'              => array('5755',             'jutro'),
       
   215         'JO'                 => array('1.62',             'jo'),
       
   216         'KAPPLAND'           => array('154.26',           'kappland'),
       
   217         'KATTHA'             => array('338',              'kattha'),
       
   218         'LABOR'              => array('716850',           'labor'),
       
   219         'LEGUA'              => array('17920000',         'legua'),
       
   220         'MANZANA_COSTA_RICA' => array('6988.96',          'manzana'),
       
   221         'MANZANA'            => array('10000',            'manzana'),
       
   222         'MORGEN'             => array('2500',             'morgen'),
       
   223         'MORGEN_AFRICA'      => array('8567',             'morgen'),
       
   224         'MU'                 => array(array('' => '10000', '/' => '15'), 'mu'),
       
   225         'NGARN'              => array('400',              'ngarn'),
       
   226         'NOOK'               => array('80937.128',        'nook'),
       
   227         'OXGANG'             => array('60000',            'oxgang'),
       
   228         'PERCH'              => array('25.29285264',      'perch'),
       
   229         'PERCHE'             => array('34.19',            'perche'),
       
   230         'PING'               => array('3.305',            'ping'),
       
   231         'PYONG'              => array('3.306',            'pyong'),
       
   232         'RAI'                => array('1600',             'rai'),
       
   233         'ROOD'               => array('1011.7141',        'rood'),
       
   234         'SECTION'            => array('2589998.5',        'sec'),
       
   235         'SHED'               => array('10e-52',           'shed'),
       
   236         'SITIO'              => array('18000000',         'sitio'),
       
   237         'SQUARE'             => array('9.290304',         'sq'),
       
   238         'SQUARE_ANGSTROM'    => array('1.0e-20',          'A²'),
       
   239         'SQUARE_ASTRONOMICAL_UNIT'   => array('2.2379523e+22', 'AU²'),
       
   240         'SQUARE_ATTOMETER'   => array('1.0e-36',          'am²'),
       
   241         'SQUARE_BICRON'      => array('1.0e-24',          'µµ²'),
       
   242         'SQUARE_CENTIMETER'  => array('0.0001',           'cm²'),
       
   243         'SQUARE_CHAIN'       => array('404.68726',        'ch²'),
       
   244         'SQUARE_CHAIN_ENGINEER'      => array('929.03412',   'ch²'),
       
   245         'SQUARE_CITY_BLOCK_US_EAST'  => array('4.97027584',  'sq block'),
       
   246         'SQUARE_CITY_BLOCK_US_WEST'  => array('17.141056',   'sq block'),
       
   247         'SQUARE_CITY_BLOCK_US_SOUTH' => array('99.88110336', 'sq block'),
       
   248         'SQUARE_CUBIT'       => array('0.20903184',       'sq cubit'),
       
   249         'SQUARE_DECIMETER'   => array('0.01',             'dm²'),
       
   250         'SQUARE_DEKAMETER'   => array('100',              'dam²'),
       
   251         'SQUARE_EXAMETER'    => array('1.0e+36',          'Em²'),
       
   252         'SQUARE_FATHOM'      => array('3.3445228',        'fth²'),
       
   253         'SQUARE_FEMTOMETER'  => array('1.0e-30',          'fm²'),
       
   254         'SQUARE_FERMI'       => array('1.0e-30',          'f²'),
       
   255         'SQUARE_FOOT'        => array('0.09290304',       'ft²'),
       
   256         'SQUARE_FOOT_SURVEY' => array('0.092903412',      'ft²'),
       
   257         'SQUARE_FURLONG'     => array('40468.726',        'fur²'),
       
   258         'SQUARE_GIGAMETER'   => array('1.0e+18',          'Gm²'),
       
   259         'SQUARE_HECTOMETER'  => array('10000',            'hm²'),
       
   260         'SQUARE_INCH'        => array(array('' => '0.09290304','/' => '144'),  'in²'),
       
   261         'SQUARE_INCH_SURVEY' => array(array('' => '0.092903412','/' => '144'), 'in²'),
       
   262         'SQUARE_KILOMETER'   => array('1000000',          'km²'),
       
   263         'SQUARE_LEAGUE_NAUTIC' => array('3.0869136e+07',  'sq league'),
       
   264         'SQUARE_LEAGUE'      => array('2.3309986e+07',    'sq league'),
       
   265         'SQUARE_LIGHT_YEAR'  => array('8.9505412e+31',    'ly²'),
       
   266         'SQUARE_LINK'        => array('0.040468726',      'sq link'),
       
   267         'SQUARE_LINK_ENGINEER' => array('0.092903412',    'sq link'),
       
   268         'SQUARE_MEGAMETER'   => array('1.0e+12',          'Mm²'),
       
   269         'SQUARE_METER'       => array('1',                'm²'),
       
   270         'SQUARE_MICROINCH'   => array(array('' => '1.0e-6','*' => '6.4516e-10'), 'µin²'),
       
   271         'SQUARE_MICROMETER'  => array('1.0e-12',          'µm²'),
       
   272         'SQUARE_MICROMICRON' => array('1.0e-24',          'µµ²'),
       
   273         'SQUARE_MICRON'      => array('1.0e-12',          'µ²'),
       
   274         'SQUARE_MIL'         => array('6.4516e-10',       'sq mil'),
       
   275         'SQUARE_MILE'        => array(array('' => '0.09290304','*' => '27878400'), 'mi²'),
       
   276         'SQUARE_MILE_NAUTIC' => array('3429904',          'mi²'),
       
   277         'SQUARE_MILE_SURVEY' => array('2589998.5',        'mi²'),
       
   278         'SQUARE_MILLIMETER'  => array('0.000001',         'mm²'),
       
   279         'SQUARE_MILLIMICRON' => array('1.0e-18',          'mµ²'),
       
   280         'SQUARE_MYRIAMETER'  => array('1.0e+8',           'mym²'),
       
   281         'SQUARE_NANOMETER'   => array('1.0e-18',          'nm²'),
       
   282         'SQUARE_PARIS_FOOT'  => array('0.1055',           'sq paris foot'),
       
   283         'SQUARE_PARSEC'      => array('9.5214087e+32',    'pc²'),
       
   284         'SQUARE_PERCH'       => array('25.292954',        'sq perch'),
       
   285         'SQUARE_PERCHE'      => array('51.072',           'sq perche'),
       
   286         'SQUARE_PETAMETER'   => array('1.0e+30',          'Pm²'),
       
   287         'SQUARE_PICOMETER'   => array('1.0e-24',          'pm²'),
       
   288         'SQUARE_ROD'         => array(array('' => '0.092903412','*' => '272.25'), 'rd²'),
       
   289         'SQUARE_TENTHMETER'  => array('1.0e-20',          'sq tenth-meter'),
       
   290         'SQUARE_TERAMETER'   => array('1.0e+24',          'Tm²'),
       
   291         'SQUARE_THOU'        => array('6.4516e-10',       'sq thou'),
       
   292         'SQUARE_VARA'        => array('0.70258205',       'sq vara'),
       
   293         'SQUARE_VARA_TEXAS'  => array('0.71684731',       'sq vara'),
       
   294         'SQUARE_YARD'        => array('0.83612736',       'yd²'),
       
   295         'SQUARE_YARD_SURVEY' => array('0.836130708',      'yd²'),
       
   296         'SQUARE_YOCTOMETER'  => array('1.0e-48',          'ym²'),
       
   297         'SQUARE_YOTTAMETER'  => array('1.0e+48',          'Ym²'),
       
   298         'STANG'              => array('2709',             'stang'),
       
   299         'STREMMA'            => array('1000',             'stremma'),
       
   300         'TAREA'              => array('628.8',            'tarea'),
       
   301         'TATAMI'             => array('1.62',             'tatami'),
       
   302         'TONDE_LAND'         => array('5516',             'tonde land'),
       
   303         'TOWNSHIP'           => array('93239945.3196288', 'twp'),
       
   304         'TSUBO'              => array('3.3058',           'tsubo'),
       
   305         'TUNNLAND'           => array('4936.4',           'tunnland'),
       
   306         'YARD'               => array('0.83612736',       'yd'),
       
   307         'VIRGATE'            => array('120000',           'virgate'),
       
   308         'STANDARD'           => 'SQUARE_METER'
       
   309     );
       
   310 }