source: extensions/AMetaData/JpegMetaData/TagDefinitions/GpsTags.class.php @ 5004

Last change on this file since 5004 was 5004, checked in by grum, 14 years ago

update GPS, XMP and MAGIC tags

  • Property svn:executable set to *
File size: 11.5 KB
Line 
1<?php
2/*
3 * --:: JPEG MetaDatas ::-------------------------------------------------------
4 *
5 *  Author    : Grum
6 *   email    : grum at piwigo.org
7 *   website  : http://photos.grum.fr
8 *
9 *   << May the Little SpaceFrog be with you ! >>
10 *
11 *
12 * +-----------------------------------------------------------------------+
13 * | JpegMetaData - a PHP based Jpeg Metadata manager                      |
14 * +-----------------------------------------------------------------------+
15 * | Copyright(C) 2010  Grum - http://www.grum.fr                          |
16 * +-----------------------------------------------------------------------+
17 * | This program is free software; you can redistribute it and/or modify  |
18 * | it under the terms of the GNU General Public License as published by  |
19 * | the Free Software Foundation                                          |
20 * |                                                                       |
21 * | This program is distributed in the hope that it will be useful, but   |
22 * | WITHOUT ANY WARRANTY; without even the implied warranty of            |
23 * | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU      |
24 * | General Public License for more details.                              |
25 * |                                                                       |
26 * | You should have received a copy of the GNU General Public License     |
27 * | along with this program; if not, write to the Free Software           |
28 * | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, |
29 * | USA.                                                                  |
30 * +-----------------------------------------------------------------------+
31 *
32 *
33 * -----------------------------------------------------------------------------
34 *
35 * The GpsTags is the definition of the Gps Exif tags
36 *
37 * -----------------------------------------------------------------------------
38 *
39 * .. Notes ..
40 *
41 * The GpsTags class is derived from the KnownTags class.
42 *
43 * ======> See KnownTags.class.php to know more about the tag definitions <=====
44 *
45 */
46
47  require_once(JPEG_METADATA_DIR."TagDefinitions/KnownTags.class.php");
48
49  /**
50   * Define the tags for GPS
51   */
52  class GpsTags extends KnownTags
53  {
54    protected $label = "Exif GPS tags";
55    protected $tags = Array(
56      /*
57       * tags with defined values
58       */
59
60      // GPSVersionID, tag 0x0000
61      0x0000 => Array(
62        'tagName'     => "GPSVersionID",
63        'schema'      => "GPS",
64        'translatable'=> false,
65        'combiTag'    => 0,
66        'implemented' => true
67      ), // < GPSVersionID
68
69      // GPSLatitudeRef, tag 0x0001
70      0x0001 => Array(
71        'tagName'     => "GPSLatitudeRef",
72        'schema'      => "GPS",
73        'translatable'=> false,
74        'combiTag'    => 0,
75        'implemented' => true
76      ), // < GPSLatitudeRef
77
78      // GPSLatitude, tag 0x0002
79      0x0002 => Array(
80        'tagName'     => "GPSLatitude",
81        'schema'      => "GPS",
82        'translatable'=> false,
83        'combiTag'    => 0,
84        'implemented' => true
85      ), // < GPSLatitudeRef
86
87      // GPSLongitudeRef, tag 0x0003
88      0x0003 => Array(
89        'tagName'     => "GPSLongitudeRef",
90        'schema'      => "GPS",
91        'translatable'=> false,
92        'combiTag'    => 0,
93        'implemented' => true
94      ), // < GPSLongitudeRef
95
96      // GPSLongitude, tag 0x0004
97      0x0004 => Array(
98        'tagName'     => "GPSLongitude",
99        'schema'      => "GPS",
100        'translatable'=> false,
101        'combiTag'    => 0,
102        'implemented' => true
103      ), // < GPSLongitude
104
105      // GPSAltitudeRef, tag 0x0005
106      0x0005 => Array(
107        'tagName'     => "GPSAltitudeRef",
108        'schema'      => "GPS",
109        'translatable'=> false,
110        'combiTag'    => 0,
111        'implemented' => true,
112        'tagValues'   => Array(
113          0x00 => "+",
114          0x01 => "-"
115        )
116      ), // < GPSAltitudeRef
117
118      // GPSAltitude, tag 0x0006
119      0x0006 => Array(
120        'tagName'     => "GPSAltitude",
121        'schema'      => "GPS",
122        'translatable'=> false,
123        'combiTag'    => 0,
124        'implemented' => true
125      ), // < GPSAltitude
126
127      // GPSTimeStamp, tag 0x0007
128      0x0007 => Array(
129        'tagName'     => "GPSTimeStamp",
130        'schema'      => "GPS",
131        'translatable'=> false,
132        'combiTag'    => 0,
133        'implemented' => false
134      ), // < GPSTimeStamp
135
136      // GPSSatellites, tag 0x0008
137      0x0008 => Array(
138        'tagName'     => "GPSSatellites",
139        'schema'      => "GPS",
140        'translatable'=> false,
141        'combiTag'    => 0,
142        'implemented' => true
143      ), // < GPSSatellites
144
145      // GPSStatus, tag 0x0009
146      0x0009 => Array(
147        'tagName'     => "GPSStatus",
148        'schema'      => "GPS",
149        'translatable'=> true,
150        'combiTag'    => 0,
151        'implemented' => true,
152        'tagValues.special' => Array(
153          'A' => "measurement in progress",
154          'V' => "measurement interoperability",
155          'unknown' => "Unknown",
156        )
157      ), // < GPSStatus
158
159      // GPSMeasureMode, tag 0x000a
160      0x000A => Array(
161        'tagName'     => "GPSMeasureMode",
162        'schema'      => "GPS",
163        'translatable'=> true,
164        'combiTag'    => 0,
165        'implemented' => true,
166        'tagValues.special' => Array(
167          '2' => "2-dimensional measurement",
168          '3' => "3-dimensional measurement",
169          'unknown' => "Unknown",
170        )
171      ), // < GPSMeasureMode
172
173      // GPSDOP, tag 0x000b
174      0x000B => Array(
175        'tagName'     => "GPSDOP",
176        'schema'      => "GPS",
177        'translatable'=> false,
178        'combiTag'    => 0,
179        'implemented' => false
180      ), // < GPSDOP
181
182      // GPSSpeedRef, tag 0x000c
183      0x000C => Array(
184        'tagName'     => "GPSSpeedRef",
185        'schema'      => "GPS",
186        'translatable'=> true,
187        'combiTag'    => 0,
188        'implemented' => true,
189        'tagValues.special' => Array(
190          'K' => "kilometers per hour",
191          'M' => "miles per hour",
192          'N' => "knots",
193          'unknown' => "Unknown",
194        )
195      ), // < GPSSpeedRef
196
197      // GPSSpeed, tag 0x000d
198      0x000D => Array(
199        'tagName'     => "GPSSpeed",
200        'schema'      => "GPS",
201        'translatable'=> false,
202        'combiTag'    => 0,
203        'implemented' => true
204      ), // < GPSSpeed
205
206      // GPSTrackRef, tag 0x000e
207      0x000E => Array(
208        'tagName'     => "GPSTrackRef",
209        'schema'      => "GPS",
210        'translatable'=> true,
211        'combiTag'    => 0,
212        'implemented' => true,
213        'tagValues.special' => Array(
214          'T' => "true direction",
215          'M' => "magnetic direction",
216          'unknown' => "Unknown",
217        )
218      ), // < GPSTrackRef
219
220      // GPSTrack, tag 0x000f
221      0x000F => Array(
222        'tagName'     => "GPSTrack",
223        'schema'      => "GPS",
224        'translatable'=> false,
225        'combiTag'    => 0,
226        'implemented' => true
227      ), // < GPSTrack
228
229      // GPSImgDirectionRef, tag 0x0010
230      0x0010 => Array(
231        'tagName'     => "GPSImgDirectionRef",
232        'schema'      => "GPS",
233        'translatable'=> true,
234        'combiTag'    => 0,
235        'implemented' => true,
236        'tagValues.special' => Array(
237          'T' => "true direction",
238          'M' => "magnetic direction",
239          'unknown' => "Unknown",
240        )
241      ), // < GPSImgDirectionRef
242
243      // GPSImgDirection, tag 0x0011
244      0x0011 => Array(
245        'tagName'     => "GPSImgDirection",
246        'schema'      => "GPS",
247        'translatable'=> false,
248        'combiTag'    => 0,
249        'implemented' => true
250      ), // < GPSImgDirection
251
252      // GPSMapDatum, tag 0x0012
253      0x0012 => Array(
254        'tagName'     => "GPSMapDatum",
255        'schema'      => "GPS",
256        'translatable'=> false,
257        'combiTag'    => 0,
258        'implemented' => true
259      ), // < GPSMapDatum
260
261      // GPSDestLatitudeRef, tag 0x0013
262      0x0013 => Array(
263        'tagName'     => "GPSDestLatitudeRef",
264        'schema'      => "GPS",
265        'translatable'=> false,
266        'combiTag'    => 0,
267        'implemented' => true
268      ), // < GPSDestLatitudeRef
269
270      // GPSDestLatitude, tag 0x0014
271      0x0014 => Array(
272        'tagName'     => "GPSDestLatitude",
273        'schema'      => "GPS",
274        'translatable'=> false,
275        'combiTag'    => 0,
276        'implemented' => true
277      ), // < GPSDestLatitude
278
279      // GPSDestLongitudeRef, tag 0x0015
280      0x0015 => Array(
281        'tagName'     => "GPSDestLongitudeRef",
282        'schema'      => "GPS",
283        'translatable'=> false,
284        'combiTag'    => 0,
285        'implemented' => true
286      ), // < GPSDestLongitudeRef
287
288      // GPSDestLongitude, tag 0x0016
289      0x0016 => Array(
290        'tagName'     => "GPSDestLongitude",
291        'schema'      => "GPS",
292        'translatable'=> false,
293        'combiTag'    => 0,
294        'implemented' => true
295      ), // < GPSDestLongitude
296
297      // GPSDestBearingRef, tag 0x0017
298      0x0017 => Array(
299        'tagName'     => "GPSDestBearingRef",
300        'schema'      => "GPS",
301        'translatable'=> true,
302        'combiTag'    => 0,
303        'implemented' => true,
304        'tagValues.special' => Array(
305          'T' => "true direction",
306          'M' => "magnetic direction",
307          'unknown' => "Unknown",
308        )
309      ), // < GPSDestBearingRef
310
311      // GPSDestBearing, tag 0x0018
312      0x0018 => Array(
313        'tagName'     => "GPSDestBearing",
314        'schema'      => "GPS",
315        'translatable'=> false,
316        'combiTag'    => 0,
317        'implemented' => true
318      ), // < GPSDestBearing
319
320      // GPSDestDistanceRef, tag 0x0019
321      0x0019=> Array(
322        'tagName'     => "GPSDestDistanceRef",
323        'schema'      => "GPS",
324        'translatable'=> true,
325        'combiTag'    => 0,
326        'implemented' => true,
327        'tagValues.special' => Array(
328          'K' => "kilometers per hour",
329          'M' => "miles per hour",
330          'N' => "knots",
331          'unknown' => "Unknown",
332        )
333      ), // < GPSDestDistanceRef
334
335      // GPSDestDistance, tag 0x001A
336      0x001A=> Array(
337        'tagName'     => "GPSDestDistance",
338        'schema'      => "GPS",
339        'translatable'=> false,
340        'combiTag'    => 0,
341        'implemented' => true
342      ), // < GPSDestDistance
343
344
345      // GPSProcessingMethod, tag 0x001B
346      0x001B=> Array(
347        'tagName'     => "GPSProcessingMethod",
348        'schema'      => "GPS",
349        'translatable'=> false,
350        'combiTag'    => 0,
351        'implemented' => true
352      ), // < GPSProcessingMethod
353
354      // GPSAreaInformation, tag 0x001C
355      0x001C=> Array(
356        'tagName'     => "GPSAreaInformation",
357        'schema'      => "GPS",
358        'translatable'=> false,
359        'combiTag'    => 0,
360        'implemented' => true
361      ), // < GPSAreaInformation
362
363      // GPSDateStamp, tag 0x001D
364      0x001D=> Array(
365        'tagName'     => "GPSDateStamp",
366        'schema'      => "GPS",
367        'translatable'=> false,
368        'combiTag'    => 0,
369        'implemented' => true
370      ), // < GPSDateStamp
371
372
373      // GPSDifferential, tag 0x001E
374      0x001E=> Array(
375        'tagName'     => "GPSDifferential",
376        'schema'      => "GPS",
377        'translatable'=> true,
378        'combiTag'    => 0,
379        'implemented' => true,
380        'tagValues'   => Array(
381          0x00 => "measurement without differential correction",
382          0x01 => "differential correction applied"
383        )
384      ), // < GPSDifferential
385
386
387
388    );
389
390
391    function __destruct()
392    {
393      parent::__destruct();
394    }
395
396  }
397
398
399?>
Note: See TracBrowser for help on using the repository browser.