photoprism/internal/photoprism/location.go
2020-12-04 23:16:22 +01:00

25 lines
471 B
Go

package photoprism
import (
"errors"
"github.com/photoprism/photoprism/internal/entity"
)
// Location returns the S2 cell entity of a MediaFile.
func (m *MediaFile) Location() (*entity.Cell, error) {
if m.location != nil {
return m.location, nil
}
data := m.MetaData()
if data.Lat == 0 && data.Lng == 0 {
return nil, errors.New("media: no latitude and longitude in metadata")
}
m.location = entity.NewCell(data.Lat, data.Lng)
return m.location, nil
}