mirror of https://github.com/dsoprea/go-exif.git
Change Ifd.GpsInfo() to calculate Degrees, Mintutes, and Seconds as float64 instead of int
parent
17eaca4233
commit
12b8993a44
4
gps.go
4
gps.go
|
@ -14,11 +14,11 @@ var (
|
|||
|
||||
type GpsDegrees struct {
|
||||
Orientation byte
|
||||
Degrees, Minutes, Seconds int
|
||||
Degrees, Minutes, Seconds float64
|
||||
}
|
||||
|
||||
func (d GpsDegrees) String() string {
|
||||
return fmt.Sprintf("Degrees<O=[%s] D=(%d) M=(%d) S=(%d)>", string([]byte{d.Orientation}), d.Degrees, d.Minutes, d.Seconds)
|
||||
return fmt.Sprintf("Degrees<O=[%s] D=(%g) M=(%g) S=(%g)>", string([]byte{d.Orientation}), d.Degrees, d.Minutes, d.Seconds)
|
||||
}
|
||||
|
||||
func (d GpsDegrees) Decimal() float64 {
|
||||
|
|
|
@ -901,18 +901,18 @@ func (ifd *Ifd) GpsInfo() (gi *GpsInfo, err error) {
|
|||
|
||||
gi.Latitude = GpsDegrees{
|
||||
Orientation: latitudeRefValue.(string)[0],
|
||||
Degrees: int(float64(latitudeRaw[0].Numerator) / float64(latitudeRaw[0].Denominator)),
|
||||
Minutes: int(float64(latitudeRaw[1].Numerator) / float64(latitudeRaw[1].Denominator)),
|
||||
Seconds: int(float64(latitudeRaw[2].Numerator) / float64(latitudeRaw[2].Denominator)),
|
||||
Degrees: float64(latitudeRaw[0].Numerator) / float64(latitudeRaw[0].Denominator),
|
||||
Minutes: float64(latitudeRaw[1].Numerator) / float64(latitudeRaw[1].Denominator),
|
||||
Seconds: float64(latitudeRaw[2].Numerator) / float64(latitudeRaw[2].Denominator),
|
||||
}
|
||||
|
||||
longitudeRaw := longitudeValue.([]Rational)
|
||||
|
||||
gi.Longitude = GpsDegrees{
|
||||
Orientation: longitudeRefValue.(string)[0],
|
||||
Degrees: int(float64(longitudeRaw[0].Numerator) / float64(longitudeRaw[0].Denominator)),
|
||||
Minutes: int(float64(longitudeRaw[1].Numerator) / float64(longitudeRaw[1].Denominator)),
|
||||
Seconds: int(float64(longitudeRaw[2].Numerator) / float64(longitudeRaw[2].Denominator)),
|
||||
Degrees: float64(longitudeRaw[0].Numerator) / float64(longitudeRaw[0].Denominator),
|
||||
Minutes: float64(longitudeRaw[1].Numerator) / float64(longitudeRaw[1].Denominator),
|
||||
Seconds: float64(longitudeRaw[2].Numerator) / float64(longitudeRaw[2].Denominator),
|
||||
}
|
||||
|
||||
// Parse altitude.
|
||||
|
|
Loading…
Reference in New Issue