|
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 } |