forked from MapComplete/MapComplete
Fix: fix #2304
This commit is contained in:
parent
b615c34879
commit
0a001d3c7d
2 changed files with 20 additions and 0 deletions
|
@ -234,6 +234,12 @@ export class PanoramaxUploader implements ImageUploader {
|
||||||
) {
|
) {
|
||||||
lat = exifLat
|
lat = exifLat
|
||||||
lon = exifLon
|
lon = exifLon
|
||||||
|
if(tags?.GPSLatitudeRef?.value?.[0] === "S"){
|
||||||
|
lat *= -1
|
||||||
|
}
|
||||||
|
if(tags?.GPSLongitudeRef?.value?.[0] === "W"){
|
||||||
|
lon *= -1
|
||||||
|
}
|
||||||
}
|
}
|
||||||
const [date, time] =( tags.DateTime.value[0] ?? tags.DateTimeOriginal.value[0] ?? tags.GPSDateStamp ?? tags["Date Created"]).split(" ")
|
const [date, time] =( tags.DateTime.value[0] ?? tags.DateTimeOriginal.value[0] ?? tags.GPSDateStamp ?? tags["Date Created"]).split(" ")
|
||||||
const exifDatetime = new Date(date.replaceAll(":", "-") + "T" + time)
|
const exifDatetime = new Date(date.replaceAll(":", "-") + "T" + time)
|
||||||
|
|
|
@ -34,6 +34,9 @@
|
||||||
>tags?.GPSLongitude?.value
|
>tags?.GPSLongitude?.value
|
||||||
const exifLat = latD + latM / 60 + latS / (3600 * latSDenom)
|
const exifLat = latD + latM / 60 + latS / (3600 * latSDenom)
|
||||||
const exifLon = lonD + lonM / 60 + lonS / (3600 * lonSDenom)
|
const exifLon = lonD + lonM / 60 + lonS / (3600 * lonSDenom)
|
||||||
|
const directValueLat = tags?.GPSLatitude?.description
|
||||||
|
const directValueLon = tags?.GPSLongitude?.description
|
||||||
|
|
||||||
if (
|
if (
|
||||||
typeof exifLat === "number" &&
|
typeof exifLat === "number" &&
|
||||||
!isNaN(exifLat) &&
|
!isNaN(exifLat) &&
|
||||||
|
@ -43,11 +46,22 @@
|
||||||
) {
|
) {
|
||||||
lat = exifLat
|
lat = exifLat
|
||||||
lon = exifLon
|
lon = exifLon
|
||||||
|
if(tags?.GPSLatitudeRef?.value?.[0] === "S"){
|
||||||
|
lat *= -1
|
||||||
|
}
|
||||||
|
if(tags?.GPSLongitudeRef?.value?.[0] === "W"){
|
||||||
|
lon *= -1
|
||||||
|
}
|
||||||
l("Using EXIFLAT + EXIFLON")
|
l("Using EXIFLAT + EXIFLON")
|
||||||
} else {
|
} else {
|
||||||
l("NOT using exifLat and exifLon: invalid value detected")
|
l("NOT using exifLat and exifLon: invalid value detected")
|
||||||
}
|
}
|
||||||
l("Lat and lon are", lat, lon)
|
l("Lat and lon are", lat, lon)
|
||||||
|
l("ref lat is", tags?.GPSLatitudeRef?.description, JSON.stringify(tags?.GPSLatitudeRef?.value))
|
||||||
|
l("ref lon is", tags?.GPSLongitudeRef?.description, JSON.stringify(tags?.GPSLongitudeRef?.value))
|
||||||
|
|
||||||
|
|
||||||
|
l("Direct values are", directValueLat,directValueLon,"corrected:",lat,lon)
|
||||||
l("Datetime value is", JSON.stringify(tags.DateTime))
|
l("Datetime value is", JSON.stringify(tags.DateTime))
|
||||||
const [date, time] = tags.DateTime.value[0].split(" ")
|
const [date, time] = tags.DateTime.value[0].split(" ")
|
||||||
datetime = new Date(date.replaceAll(":", "-") + "T" + time).toISOString()
|
datetime = new Date(date.replaceAll(":", "-") + "T" + time).toISOString()
|
||||||
|
|
Loading…
Reference in a new issue