"EXIF_GPSAltitude": "(220.279)",
"EXIF_GPSLatitude": "(55) (40.711) (0)",
"EXIF_GPSLatitudeRef": "N",
"EXIF_GPSLongitude": "(8) (30.2282) (0)",
Como devo entender o exemplo acima como grau, min, s?
Alguns dados exif extraídos possuem metadados listados acima. Esses formatos estão especificados em algum lugar? ou devo esperar muitos formatos diferentes de posições de GPS no EXIF?
Preciso escrever um método que forneça o lat, lng como números decimais com base em dados exif, e não tenho certeza sobre quantos formatos diferentes eu devo poder analisar (aprenderei isso com o tempo) e essa pergunta é principalmente sobre os exemplos acima. Eu sei que o grau é 55 e 8, mas não tenho certeza se são 30 minutos e 0,22 * 60 segundos e, nesse caso, por que o 0 está lá?
Respostas:
De acordo com esta página , os valores de latitude e longitude podem estar em (1) graus, (2) graus e minutos decimais ou (3) graus, minutos e segundos decimais.
No seu exemplo, (2) é um valor decimal e (3) é zero, então você tem graus, minutos decimais.
Portanto, você precisará fazer algumas verificações nos três valores para determinar qual formato está sendo usado.
fonte
O EXIF armazena as cordas do GPS como
rational64u
uma lista de seis números inteiros não assinados na seguinte ordem:O formato é consistente e parece que a ferramenta que você está usando já dividiu cada par em números decimais; portanto, o que você tem é:
Se você deseja converter para um único número decimal:
fonte
Usei esse arquivo em lotes para obter nomes de arquivos, data / hora e graus decimais
posições.
************** start lalo.bat '-n força exift de graus decimais com sinal - e: \ util \ 00ymp * .jpg> fud' strfile uma string por linha (espaços ok) findstr / G: "strfile" fud >> fum ********** end lalo.bat
produz saída
Nome do arquivo: 0104171345.jpg Data e hora do GPS: 2017: 01: 04 21: 45: 19Z Posição do GPS: 46.9997367777778 -117.3392105 Nome do arquivo: 0104171355.jpg Data / hora do GPS: 2017: 01: 04 21: 55: 52Z Posição do GPS : 46.99622725 -117.307495111111 Nome do arquivo: 0104171402.jpg Data / hora do GPS: 2017: 01: 04 22: 02: 02Z Posição do GPS: 47.0075378333333 -117.284553527778 Nome do arquivo: 0104171404.jpg Data / hora do GPS: 2017: 01: 04 22:04 : 51Z Posição GPS: 47.0222473055556 -117.275527944444 Nome do arquivo: 0104171405.jpg Data / hora do GPS: 2017: 01: 04 22: 05: 40Z Posição GPS: 47.0269584444444 -117.269523611111
Nome do arquivo: 0112171921.jpg Nome do arquivo: 0112171921a.jpg Nome do arquivo: 0112171921b.jpg Nome do arquivo: 0120171623.jpg Nome do arquivo: 0120171623a.jpg Nome do arquivo: 0120171624.jpg
Nome do arquivo: 0120171626.jpg Data / hora do GPS: 2017: 01: 21 00: 26: 49Z Posição do GPS: 48.7900199722222 -117.290061944444 Nome do arquivo: 0120171628.jpg Data / hora do GPS: 2017: 01: 21 00: 28: 44Z Posição do GPS : 48.7907943611111 -117.292045583333
Nome do arquivo: 0122170942.jpg Nome do arquivo: 0122170942a.jpg Nome do arquivo: 0122170948.jpg Nome do arquivo: 0122170948a.jpg
Nome do arquivo: 0122170950.jpg Data / hora do GPS: 2017: 01: 22 17: 50: 12Z Posição do GPS: 48.7828292777778 -117.287322972222 Nome do arquivo: 0122170950a.jpg Data / hora do GPS: 2017: 01: 22 17: 50: 16Z Posição do GPS : 48.7828483333333 -117.287322972222 Nome do arquivo: 0122170950b.jpg Data / hora do GPS: 2017: 01: 22 17: 50: 38Z Posição do GPS: 48.7828178333333 -117.28733825
fonte
Obrigado Jason pela fórmula de converter para decimal e /programming/45136895/extracting-gps-numerical-values-from-byte-array-using-powershell
getGPS D: \ pics \ mypic.jpg
Nome completo: P: \ IMG_0014.JPG Latitude: 42; 32.27; 0 Longitude: 82; 52.58; 0 DECLatitude: 42.5378333333333 DECLongitude: 82.8763333333333
fonte
O Exiftool produzirá as coordenadas em decimal de baixa precisão se você usar a opção -n. Você pode obter mais precisão com a opção -c e fornecer a quantidade desejada de dígitos atrás do decimal:
Mostra a posição com 6 dígitos atrás do decimal, o que é bom para encontrar um local dentro de 5 polegadas.
fonte