PHP extract GPS EXIF data

前端 未结 13 1422
执笔经年
执笔经年 2020-11-29 16:26

I would like to extract the GPS EXIF tag from pictures using php. I\'m using the exif_read_data() that returns a array of all tags + data :

GPS.         


        
13条回答
  •  执笔经年
    2020-11-29 16:54

    i have seen nobody mentioned this: https://pypi.python.org/pypi/LatLon/1.0.2

    from fractions import Fraction
    from LatLon import LatLon, Longitude, Latitude
    
    latSigned = GPS.GPSLatitudeRef == "N" ? 1 : -1
    longSigned = GPS.GPSLongitudeRef == "E" ? 1 : -1
    
    latitudeObj = Latitude(
                  degree = float(Fraction(GPS.GPSLatitude[0]))*latSigned , 
                  minute = float(Fraction(GPS.GPSLatitude[0]))*latSigned , 
                  second = float(Fraction(GPS.GPSLatitude[0])*latSigned)
    longitudeObj = Latitude(
                  degree = float(Fraction(GPS.GPSLongitude[0]))*longSigned , 
                  minute = float(Fraction(GPS.GPSLongitude[0]))*longSigned , 
                  second = float(Fraction(GPS.GPSLongitude[0])*longSigned )
    Coordonates = LatLon(latitudeObj, longitudeObj )
    

    now using the Coordonates objecct you can do what you want: Example:

    (like 46°56′48″N 7°26′39″E from wikipedia)

    print Coordonates.to_string('d%°%m%′%S%″%H')
    

    You than have to convert from ascii, and you are done:

    ('5\xc2\xb052\xe2\x80\xb259.88\xe2\x80\xb3N', '162\xc2\xb04\xe2\x80\xb259.88\xe2\x80\xb3W')
    

    and than printing example:

    print "Latitude:" + Latitude.to_string('d%°%m%′%S%″%H')[0].decode('utf8')
    
    >> Latitude: 5°52′59.88″N
    

提交回复
热议问题