[RUBY] Erhalten Sie schnell Standortinformationen

Ich entwickle normalerweise mit Rails. Zu dieser Zeit war ich süchtig nach dem unerwarteten Teil beim Erfassen der Standortinformationen. Ist es also ein Memorandum des erstellten Codes? Kopf hoch? Ich werde es als belassen. Wenn Sie nur die Situation anzeigen möchten, in der keine GPS-Informationen abgerufen werden können, fahren Sie mit "GPS konnte nicht abgerufen werden" fort.

Ich werde sofort versuchen, die Standortinformationen im Terminal zu bestätigen. Sie können den Code auch kopieren und einfügen.

Umgebung: Ruby2.6.6 ImageMagick 7.0.10-34

Erstellen Sie eine Ruby-Datei

Dieses Mal habe ich eine main.rb-Datei in einem Verzeichnis namens gps_test erstellt. Dann schreiben Sie den folgenden Code.

main.rb


require 'rmagick'

img = Magick::ImageList.new(File.expand_path('~/Downloads/Name der Bilddaten'))
p img
p img.get_exif_by_entry('GPSLatitude')

#Breitengrad: In Dezimalzahl konvertieren und ausgeben
exif_lat = img.get_exif_by_entry('GPSLatitude')[0][1].split(',').map(&:strip)
latitude = (Rational(exif_lat[0]) + Rational(exif_lat[1])/60 + Rational(exif_lat[2])/3600).to_f
p latitude

#Längengrad: In Dezimalzahl konvertieren und ausgeben
exif_lng = img.get_exif_by_entry('GPSLongitude')[0][1].split(',').map(&:strip)
longitude = (Rational(exif_lng[0]) + Rational(exif_lng[1])/60 + Rational(exif_lng[2])/3600).to_f
p longitude

Geben Sie die zu lesende Bilddatei (IMG_8765.jpg usw.) unter "Name der Bilddaten" ein.

Wenn Sie "Magick :: ImageList.new (File.expand_path ('~ / Desktop / Bilddatenname')") ausführen, wird es vom Desktop gelesen. (Wie Sie es sehen ..)

In meinem Fall wurde die Leseberechtigung des Download-Verzeichnisses nicht festgelegt, daher habe ich es als "Desktop" geladen.

Installieren Sie RMagick

Führen Sie Folgendes vom Terminal im Projekt aus

$ gem install rmagick

Wenn zu diesem Zeitpunkt ein Fehler auftritt, ist dies hilfreich. Installation mit gem install rmagick fehlgeschlagen Kann nicht mit Bundle-Installation "rmagick" installiert werden

Führen Sie ein Ruby-Programm aus

$ ruby main.rb

Ausführungsergebnis

ruby main.rb
[/Users/tn/Desktop/Akihabara.jpeg JPEG 1200x1600 1200x1600+0+0 DirectClass 8-bit 535kb]
scene=0
[["GPSLatitude", "35/1, 41/1, 5920/100"]]
35.699777777777776
139.7717

Jetzt haben Sie den GPS-Breiten- und Längengrad!

GPS konnte nicht erhalten werden

Fazit ** GPS konnte nicht erfasst werden, da es sich bei Aufnahme mit einem iPhone um ein HDR-Bild handelte. ** Das bedeutet.

In den iPhone-Einstellungen gibt es eine Funktion namens "Auto HDR".

Automatische HDR: Eine Funktion, mit der mehrere Fotos mit verschiedenen Belichtungen kontinuierlich mit hoher Geschwindigkeit aufgenommen und mit einem Foto kombiniert werden können, das die Details heller Bereiche und Schatten klar ausdrückt.

Wenn es sich um ein iPhone-Terminal handelt, können Sie die Karte anzeigen, indem Sie sie mit Standortinformationen einstellen = GPS wird ebenfalls erfasst Ich dachte, aber ich konnte es mit den am Anfang beschriebenen Inhalten nicht bekommen. (Wenn Sie wissen, wie Sie es bekommen, lassen Sie es mich bitte wissen ...)

Das Programm sollte nicht falsch sein, warum kann ich es nicht bekommen? Möglicherweise möchten Sie sicherstellen, dass die automatische HDR ausgeschaltet ist. Ich frage mich, wie viele Stunden ich damit verschwendet habe IPhone HDR automatisch ausschalten

Ich habe eine einfache Überprüfung in der Vorschau durchgeführt, um festzustellen, ob die Standortinformationen enthalten waren. [Mac] So überprüfen Sie schnell die Positionsinformationen (Geotag) eines Bildes

** Warum kann GPS jedoch nicht gelesen werden, obwohl die Standortinformationen festgelegt sind? Ich habe versucht zu überprüfen, ob es ein Einstellungsmuster gibt. ** ** **

Musterüberprüfung (Einstellung der Positionsinformationen ist eingeschaltet)

Muster 1 beide EIN "Automatische HDR (Synthesefunktion)" einschalten Ergebnis: Aktivieren Sie "Normales Foto verlassen" → GPS kann nicht gelesen werden

Muster 2 auf einer Seite "Automatische HDR (Synthesefunktion)" einschalten Ergebnis: Deaktivieren Sie "Normale Fotos hinterlassen" → GPS kann nicht gelesen werden

Muster 3 auf einer Seite "Automatische HDR (Synthesefunktion)" ist ausgeschaltet. Ergebnis: Deaktivieren Sie "Normale Fotos hinterlassen" → GPS kann nicht gelesen werden

Muster 4 Zustand des Referenzbildes "Automatische HDR (Synthesefunktion)" ist ausgeschaltet. Ergebnis: Aktivieren Sie "Normale Fotos hinterlassen" ** → GPS kann erfasst werden **

Referenzbild: スクリーンショット 2020-10-29 15.52.07.png

Zusammenfassung

Selbststudium und ineffizient, aber das ist auch eine Erfahrung! !! Ich denke, ich bin auch dieses Mal ein wenig gewachsen und werde mich weiterhin der Herausforderung der Entwicklung stellen. Es war ein grundlegender Inhalt, aber ich hoffe, Sie können sich auf die Erwerbsmethode und die Vorsichtsmaßnahmen beziehen.

Referenz

Verwenden Sie R Magick, um Bild-Exif-Positionsinformationen in Dezimalwerte umzuwandeln

Recommended Posts

Erhalten Sie schnell Standortinformationen
Holen Sie sich Android-Standortinformationen
Holen Sie sich Standortinformationen mit Rails und sortieren Sie in aufsteigender Reihenfolge
Holen Sie sich EXIF-Informationen in Java
[Ethereum] Blockinformationen mit web3j abrufen
Erfassung von Standortinformationen mit FusedLocationProviderClient
Abrufen von Anruferinformationen aus dem Stack-Trace (Java)
[Java] Tag-Informationen aus Musikdateien abrufen
Erhalten Sie Kontoinformationen, indem Sie auf die Strava-API zugreifen