Changeset 5004


Ignore:
Timestamp:
Feb 28, 2010, 10:00:25 PM (15 years ago)
Author:
grum
Message:

update GPS, XMP and MAGIC tags

Location:
extensions/AMetaData/JpegMetaData
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • extensions/AMetaData/JpegMetaData/Readers/GpsReader.class.php

    r4904 r5004  
    8383          {
    8484            case "N" :
    85               $returned="north";
     85              $returned="N";
    8686              break;
    8787            case "S" :
    88               $returned="south";
     88              $returned="S";
    8989              break;
    9090            default:
    91               $returned="unknown";
     91              $returned="";
    9292              break;
    9393          }
     
    107107          {
    108108            case "E" :
    109               $returned="east";
     109              $returned="E";
    110110              break;
    111111            case "W" :
    112               $returned="west";
     112              $returned="W";
    113113              break;
    114114            default:
    115               $returned="unknown";
     115              $returned="";
    116116              break;
    117117          }
     
    133133          break;
    134134        case 0x0009: // GPSStatus
    135           switch(substr($values,0,1))
    136           {
    137             case "A" :
    138               $returned="measurement in progress";
    139               break;
    140             case "V" :
    141               $returned="measurement interoperability";
    142               break;
    143             default:
    144               $returned="unknown";
    145               break;
    146           }
    147           break;
    148135        case 0x000A: // GPSMeasureMode
    149           switch(substr($values,0,1))
    150           {
    151             case "2" :
    152               $returned="2-dimensional measurement";
    153               break;
    154             case "3" :
    155               $returned="3-dimensional measurement";
    156               break;
    157             default:
    158               $returned="unknown";
    159               break;
    160           }
    161           break;
    162136        case 0x000C: // GPSSpeedRef
    163137        case 0x0019: // GPSDestDistanceRef
    164           switch(substr($values,0,1))
    165           {
    166             case "K" :
    167               $returned="kilometers per hour";
    168               break;
    169             case "M" :
    170               $returned="miles per hour";
    171               break;
    172             case "N" :
    173               $returned="knots";
    174               break;
    175             default:
    176               $returned="unknown";
    177               break;
    178           }
    179           break;
    180138        case 0x000E: // GPSTrackRef
    181139        case 0x0010: // GPSImgDirectionRef
    182140        case 0x0017: // GPSDestBearingRef
    183           switch(substr($values,0,1))
     141          $tag=$this->tagDef->getTagById(0x0009);
     142          $key=substr($values,0,1);
     143          if(array_key_exists($key, $tag['tagValues.special']))
    184144          {
    185             case "T" :
    186               $returned="true direction";
    187               break;
    188             case "M" :
    189               $returned="magnetic direction";
    190               break;
    191             default:
    192               $returned="unknown";
    193               break;
     145            $returned=$tag['tagValues.special'][$key];
     146          }
     147          else
     148          {
     149            $returned=$tag['tagValues.special']['unknown'];
    194150          }
    195151          break;
  • extensions/AMetaData/JpegMetaData/TagDefinitions/GpsTags.class.php

    r4904 r5004  
    111111        'implemented' => true,
    112112        'tagValues'   => Array(
    113           0x00 => "above sea level",
    114           0x01 => "under sea level"
     113          0x00 => "+",
     114          0x01 => "-"
    115115        )
    116116      ), // < GPSAltitudeRef
     
    147147        'tagName'     => "GPSStatus",
    148148        'schema'      => "GPS",
    149         'translatable'=> false,
    150         'combiTag'    => 0,
    151         'implemented' => true
     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        )
    152157      ), // < GPSStatus
    153158
     
    156161        'tagName'     => "GPSMeasureMode",
    157162        'schema'      => "GPS",
    158         'translatable'=> false,
    159         'combiTag'    => 0,
    160         'implemented' => true
     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        )
    161171      ), // < GPSMeasureMode
    162172
     
    174184        'tagName'     => "GPSSpeedRef",
    175185        'schema'      => "GPS",
    176         'translatable'=> false,
    177         'combiTag'    => 0,
    178         'implemented' => true
     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        )
    179195      ), // < GPSSpeedRef
    180196
     
    192208        'tagName'     => "GPSTrackRef",
    193209        'schema'      => "GPS",
    194         'translatable'=> false,
    195         'combiTag'    => 0,
    196         'implemented' => true
     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        )
    197218      ), // < GPSTrackRef
    198219
     
    210231        'tagName'     => "GPSImgDirectionRef",
    211232        'schema'      => "GPS",
    212         'translatable'=> false,
    213         'combiTag'    => 0,
    214         'implemented' => true
     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        )
    215241      ), // < GPSImgDirectionRef
    216242
     
    273299        'tagName'     => "GPSDestBearingRef",
    274300        'schema'      => "GPS",
    275         'translatable'=> false,
    276         'combiTag'    => 0,
    277         'implemented' => true
     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        )
    278309      ), // < GPSDestBearingRef
    279310
     
    291322        'tagName'     => "GPSDestDistanceRef",
    292323        'schema'      => "GPS",
    293         'translatable'=> false,
    294         'combiTag'    => 0,
    295         'implemented' => true
     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        )
    296333      ), // < GPSDestDistanceRef
    297334
     
    338375        'tagName'     => "GPSDifferential",
    339376        'schema'      => "GPS",
    340         'translatable'=> false,
     377        'translatable'=> true,
    341378        'combiTag'    => 0,
    342379        'implemented' => true,
  • extensions/AMetaData/JpegMetaData/TagDefinitions/MagicTags.class.php

    r4998 r5004  
    8989      ),
    9090
    91 
    9291      'ShotInfo.Aperture' => Array(
    9392        'implemented'  => true,
     
    117116        'tagValues'    => Array(
    118117          "{exif.exif.ISOSpeedRatings}",
     118          "{xmp.exif:ISOSpeedRatings}",
    119119          "{exif.Pentax.ISO}",
    120           "{exif.Canon.CanonShotInfo.BaseISO}",
    121           "{xmp.exif:ISOSpeedRatings}",
    122120        )
    123121      ),
     
    138136        'translatable' => false,
    139137        'tagValues'    => Array(
    140           "{exif.exif.FocalLengthIn35mm}",
    141           "{xmp.exif:FocalLengthIn35mm}",
     138          "{exif.exif.FocalLengthIn35mmFilm}",
     139          "{xmp.exif:FocalLengthIn35mmFilm}",
    142140        )
    143141      ),
     
    299297      ),
    300298
     299      'GPS.Altitude' => Array(
     300        'implemented'  => true,
     301        'translatable' => false,
     302        'tagValues' => Array(
     303          "{exif.gps.GPSAltitudeRef}{exif.gps.GPSAltitude}m",
     304          "{xmp.exif:GPSAltitudeRef}{xmp.exif:GPSAltitude}m",
     305        )
     306      ),
     307
     308      'GPS.Latitude' => Array(
     309        'implemented'  => true,
     310        'translatable' => false,
     311        'tagValues' => Array(
     312          "{exif.gps.GPSLatitude} {exif.gps.GPSLatitudeRef}",
     313          "{xmp.exif:GPSLatitude}",
     314        )
     315      ),
     316
     317      'GPS.Longitude' => Array(
     318        'implemented'  => true,
     319        'translatable' => false,
     320        'tagValues' => Array(
     321          "{exif.gps.GPSLongitude} {exif.gps.GPSLongitudeRef}",
     322          "{xmp.exif:GPSLongitude}",
     323        )
     324      ),
     325
    301326    );
    302327
  • extensions/AMetaData/JpegMetaData/TagDefinitions/XmpTags.class.php

    r4998 r5004  
    8787    {
    8888      $result=preg_match("/([a-z]*)([-|_])([a-z]*)/i", $lang, $arr);
    89       return($arr[1]."_".strtoupper($arr[3]));
     89      if(is_array($arr) and count($arr))
     90      {
     91        return($arr[1]."_".strtoupper($arr[3]));
     92      }
     93      else
     94      {
     95        return($lang);
     96      }
    9097    }
    9198
Note: See TracChangeset for help on using the changeset viewer.