Посібник з GPS метаданими у фотографіях (ч.1). Географічні координати та їх вилучення з файлів

25 квітня 2023 1 хвилина Автор: Cyber Witcher

Програми для редагування метаінформації під Windows та Linux

Ми вже знаємо, що за допомогою програм mat і mat2 можна переглядати та видаляти метадані файлів (підтримується безліч типів файлів). Але що якщо замість видалення потрібно змінити метадані у фотографії чи документі? Ці програми не допоможуть у цій задачі. Для цієї задачі є інші інструменти, які можуть змінювати GPS координати, дату та час зйомки, інформацію про камеру та будь-яку іншу метаінформацію, яку тільки може містити файл. Також вони можуть вибірково видаляти ті чи інші теги. Наприклад, можна видалити GPS координати, але залишити інформацію про камеру. А можна навпаки додати коментарі до метаінформації, наприклад, з описом події та інших зауважень про зроблений знімок.

У цій інструкції ми розберемося з різними способами запису координат — щоб щось записати або відредагувати, потрібно в цьому розбиратися. Також ми навчимося копіювати значення координат із фотографії до карти, щоб можна було переглянути місце зйомки без завантаження зображення на сторонні сервіси. Ще ми дізнаємося, як зберігати метадані у файл, щоб ці метадані можна було записати в іншу фотографію і як копіювати метадані між фотографіями. Ну і бонусом ми навчимося виводити тільки ті метадані, які нам потрібні та змінювати формат їхнього виведення.

У цій інструкції ми розглянемо відразу три приголомшливі програми:

  • ExifTool

  • Exiv2

  • Geotag

Вони всі працюють і на Linux і на Windows – за посиланнями для кожної є докладні інструкції з установки. У програми Geotag ще й графічний інтерфейс! Тобто спуфінг (підміна) GPS на фотографіях зводиться до редагування цифр у таблиці.

ExifTool.
Geotag.

У роботі з редагуванням географічних координат, Geotag використовує саме ExifTool, тому якщо ви використовуєте Geotag на Windows вам потрібно також встановити і ExifTool і вказати шлях до файлу (в інструкціях з посиланням вище все вже є). До речі, mat2 для показу та видалення метаінформації також використовує ExifTool. А Exiv2 використовує, наприклад, редактор фотографій GIMP для показу та редагування метаінформації. Також міняти метадані вміє програма jhead, але її можливості дуже обмежені – наприклад, вона не може змінювати GPS координати у фотографії.

Географічні координати

Географічні координати це широта та довгота. Широта визначає розташування “вгору-вниз” на глобусі/карті. Нулем вважається екватор. Довгота визначає розташування «вправо-вліво» на глобусі/карті. Нулем вважається Грінвіч. Про самі числа і як «на око» прикидати в якій частині планети розташовані координати, ми поговоримо нижче, а поки що про те, як їх записують, форматів координат багато.

Формати запису географічних координат

Координати (широта від -90 ° до +90 °, довгота від -180 ° до +180 °) можуть записуватися:

  • у ° градусах у вигляді десяткового дробу (сучасний варіант)

  • у ° градусах і ′ хвилинах із десятковим дробом

  • у ° градусах, ′ хвилинах та ″ секундах з десятковим дробом (історично склалася форма запису)

Негативні знаки координат є або знаком «−», або літерами:

  • “S” або “пд. ш.» – Південна широта

  • “W” або “з. д.» – Західна довгота

Літери можуть стояти як попереду, так і ззаду. Єдиних правил запису координат немає

Розділювачем десяткового дробу може бути точка або кома. Позитивні знаки координат представляються (переважно опускаемым) знаком «+» чи літерами:

  • “N” або “пн. ш.» – Північна широтa

  • “E” або “сх. д.» – Східна довгота

Приклад запису.

На картах пошукових систем за промовчанням показуються координати в градусах з десятковим дробом зі знаком «-» для негативної довготи. На картах Google та картах Яндекс спочатку широта, потім довгота. Ці координати видно, наприклад, під час прокладання маршрутів від довільних точок. Під час пошуку розпізнаються й інші формати. Нам необов’язково у всьому цьому детально розумітися. З практичної точки зору нам треба запам’ятати: шукати на сервісах карток (наприклад, Google Карти) можна координати у форматі «2 числа з десятковим дробом; роздільником десяткового дробу є точка».

Наприклад, у вікно пошуку по карті замість географічної назви можна ввести два десяткові числа, припустимо: 12.459444 99.978611. І Карти покажуть вам місце на планеті, що знаходиться за відповідними координатами.

Координати в десяткових числах.

Але ось у метаданих координати зберігаються у вигляді трьох чисел – тому програми, що показують метадані файлів, за замовчуванням також показують їх у вигляді трьох чисел (градуси, хвилини та секунди).

Еxiftool

Еxiv2

В принципі координати легко конвертуються в десяткові числа, але цю роботу можна не робити, про це нижче. Ще можна додати, що, наприклад, Google Карти приймають такі формати:

  • Градуси, хвилини та секунди: 41°24’12.2″N 2°10’26.5″E

  • Градуси та десяткові хвилини: 41 24.2028, 2 10.4418

  • Десяткові градуси: 41.40338, 2.17403

Але найзручніше використовувати саме десятковий формат.

Конвертування координат.

Як вивести координати в десяткових числах з метаданих GPS

ExifTool

Якщо з фотографії отримати координати у вигляді десяткових чисел, можна знайти їх розташування на сервісах карт навіть не завантажуючи саме зображення, а просто виконавши пошук по координатах. Я знайшов дві програми, які вміють показувати координати у десятковому вигляді. Перша програма, в якій за допомогою опцій та вказівки імен тегів можна вивести саме те, що потрібно.

За допомогою опції “-lang ru” можна вивести назву тегів метаінформації російською мовою:

exiftool -lang ru 20190930_095515.jpg

Метаінформація.

Якщо додати опцію ‘-*GPS*’ (лапки обов’язкові!), то будуть показані лише теги метаінформації, в назві яких є рядок «GPS»:

exiftool -lang ru ‘-*GPS*’  20190930_095515.jpg

Метаінформація зі строкою GPS.

Якщо потрібна лише широта і довгота, то назва тегів така «-GPSLatitude -GPSLongitude»:

exiftool -lang ru -GPSLatitude -GPSLongitude 20190930_095515.jpg

Метадані широти та довготи.

Якщо вказати опцію -n, то координати будуть виведені у десятковому вигляді:

exiftool -lang ru -GPSLatitude -GPSLongitude -n20190930_095515.jpg

Опція -n.

Щоб показувалося лише шість цифр після точки, а також щоб для позначення півкуль не використовувалися букви, а використовувався знак мінус, потрібно вказати опцію -c ‘%+.6f’:

exiftool -lang ru -GPSLatitude -GPSLongitude -c ‘%+.6f’ 20190930_095515.jpg

Опція -c ‘%+.6f’

Дргуа програма, це Geotag – додавання метаданих географічної ідентифікації до різних носіїв, таких як фотографія чи відео з геотегами, веб-сайти, SMS-повідомлення, QR-коди або канали RSS, і є формою геопросторових метаданих. Але треба пам’ятати деякі важливі речі.  З опцією -n не будуть використовуватися літери для вказівки півкуль, а якщо це потрібно, будуть виведені негативні числа.

Опція -c дозволяє встановити формат координат, що виводяться. Наприклад, якщо вам занадто багато (або занадто мало) цифр після десяткової точки, їх кількість можна змінити цією опцією. Також, за допомогою опції -c можна налаштувати не лише десятковий формат, а й будь-який інший – можна зробити абсолютно будь-яку форму виведення координат.

Метадані з Geotag.

Як за координатами визначити зразкове розташування на земній кулі

Що ви можете сказати, дивлячись на наступні координати?

Якщо нічого, то зараз ми навчимося «на око» визначати зразкове розташування по координатах навіть без карти — хоча б у яких півкулях знаходиться координата і як далеко вона від екватора, Грінвіча та полюсів. Широта визначає розташування «вгору-вниз» на глобусі/карті: 0 ° – екватор, 90 ° – північний полюс (верх глобуса), -90 ° – південний полюс (низ глобуса). Довгота визначає розташування “вправо-вліво” на глобусі/карті: 0 – Грінвіч (Лондон/Великобританія), від 0 ° до +180 ° на схід (вправо) і від 0 ° до -180 ° на захід (вліво). Зверніть увагу, що діапазон широти дорівнює 180 градусів (половина кола), а діапазон довготи 360 градусів (повне коло). Діапазон довготи дозволяє “переміщатися” по всьому колу земної кулі (по всьому екватору). А діапазон широти дозволяє переміщатися тільки по видимій половині — якщо потрібно було б переміститися за північний/південний полюс, то для цього потрібно змінити довготу, тобто переїхати в іншу частину екватора. Тому вистачає 180 ° широти, але необхідно 360 ° довготи. Відповідно до міжнародної угоди, меридіану, який проходить через Грінвічську обсерваторію (Лондон, Великобританія) було присвоєно значення 0° довготи, інакше кажучи, його було обрано як точку відліку довготи на земній кулі. Довгота інших місць вимірюється як кут на схід чи захід від нульового меридіана, в діапазоні від 0° до +180° на схід та від 0° до −180° на захід”.

Отже, повернемося до наших координат

Широта 12 (позитивне число) означає вище лінії екватора, але не набагато, десь на 1/7 від висоти від екватора до північного полюса (90/12.46=7,22). Довгота 99 означає значне віддалення від лінії Грінвіча у бік сходу — приблизно чверть повороту земної кулі Схід (180/99.97=0,55). (0,55 – це приблизно половина від східної півкулі, яка становить ½ від усієї землі). Якби перша цифра (широта) була негативною, то координата була б трохи нижче лінії екватора. А якби друга цифра була б негативною (довгота), то зміщення було б таким самим великим, але вже у бік заходу (від Грінвіча/Лондона).

Як дізнатися місце, де знято фотографію, без використання сторонніх сервісів

Якщо ви не хочете завантажувати фотографію на будь-який сайт або сервіс, то це цілком зрозуміле бажання. Перший спосіб вже показаний вище – вийміть із зображення координати, перейдіть на Google Maps і введіть їх, в одному з наступних форматів (розрізняються пробілами і комами, що розділяють числа):

  • +12.459444 +99.978611

  • +12.459444, +99.978611

  • +12.459444,+99.978611

Знак + (плюс) писати необов’язково, але знак мінус (якщо є) писати обов’язково. Якщо раптом координата не має десяткових цифр, то додайте до неї «.0», інакше сервіс не зрозуміє, що це координати — обидва числа мають бути з точкою та цифрою після неї. Другий спосіб – використовувати Geotag. Ця програма в один клік запускає свій локальний веб-сервер, на якому розміщена веб-сторінка з картою, відкриває браузер і показує на карті фотографії.

Запускаємо Geotag та додаємо фотографії. Тепер вибираємо фотографії, які ми хочемо побачити на карті (можна вибрати одну або кілька, або всі). Клацаємо правою кнопкою миші за списком зображень та вибираємо.

Запускаємо Geotag.

Відкриється браузер з такою сторінкою. Треба звернути увагу на те, що це не статична картинка, це інтерактивна карта з усіма назвами. Адреса сторінки – localhost, а на карті є меню з можливими діями.

Інтерактивна карта.

Перетворення координат на десятковий вигляд і хвилини/секунди

Перш ніж перейти до редагування координат, давайте навчимося їх перетворювати. Як було зазначено вище, координати зберігаються у трьох числах (градуси, хвилини й секунди). Деякі програми приймають нове значення координат у десятковому вигляді, а деякі у тому вигляді, в якому вони зберігаються в метаданих (три раціональних числа). Тому не зайве навчитися конвертувати координати.

У десятковий вид перетворення відбувається за такою формулою:

ГРАДУС + ХВИЛИНИ/60 + СЕКУНДИ/3600

Градус залишається як є, а хвилини та секунди діляться на 60 та 3600 відповідно. Якщо в рядку є букви S (південь) або W (захід), то перед числом ставиться знак мінус.

Щоб не рахувати вручну (до того ж, при перетворенні в хвилини та секунди потрібно виконати кілька дій), напишемо невеликий скрипт, який це робитиме за нас. Создадим файл geoconverter.php:

І скопіюємо до нього всі дані, які в нас є.

Приклад скрипта.

1-ий спосіб:

У цьому випадку буде обчислено координату у форматі  хвилини та секунди.

2-ий спосіб:

У цьому випадку буде обчислено координату у форматі десяткового числа.

Інші статті по темі
GEOINT АкадеміяЗбір інформації про супротивникаКібервійна
Читати далі
Посібник з GPS метаданими у фотографіях (ч.2). Як змінити GPS та інші метадані у фотографії.
У статті можна дізнатись, як видалити тільки певні теги в метаданих, або як змінити GPS координати на фотографії завдяки певним інструментам.
719
GEOINT АкадеміяЗбір інформації про супротивникаКібервійна
Читати далі
Посібник з GPS метаданими у фотографіях (ч. 3). Побудова треків руху на основі групи фотографій.
У статті поговоримо про програми, які дозволяють автоматизувати процес побудови маршруту переміщення на основі GPS даних із серії фотографій.
551
Знайшли помилку?
Якщо ви знайшли помилку, зробіть скріншот і надішліть його боту.