EXIF Metadata

EXIF Metadata — Standard pro inspekční data nesená snímky

Definice a standard EXIF

EXIF, zkratka pro Exchangeable Image File Format, je globální standard metadat pro vkládání popisných, technických a geoprostorových informací přímo do souborů digitálních snímků. Původně vyvinutý organizací Japan Electronics and Information Technology Industries Association (JEITA) v roce 1995, je standard nyní spravován společně JEITA a Camera and Imaging Products Association (CIPA) pod označením CIPA DC-008. Aktuální verze je EXIF 2.32 (vydána 2019), přičemž nejrozšířenější implementovanou základnou je EXIF 2.31 (2016). Specifikace je publikována jako CIPA DC-008-Translation-2019 a je volně dostupná na webových stránkách standardů CIPA.

EXIF data jsou ukládána do obrazových souborů pomocí struktury metadat TIFF (Tagged Image File Format), a to i když je samotný snímek komprimován jako JPEG. V souboru JPEG zabírá EXIF segment značky APP1 (jehož první bajt je 0xFFE1), umístěný bezprostředně za značkou SOI (Start of Image) a před daty JPEG komprese. V souborech TIFF a DNG (Digital Negative) jsou EXIF data uložena ve vyhrazených adresářích IFD (Image File Directories). Tento strukturní design znamená, že EXIF metadata lze číst bez dekomprimace obrazových dat — kritická vlastnost pro efektivní dávkové zpracování velkých sad inspekčních snímků, které mohou čítat tisíce kusů na jeden průzkum.

Standard definuje několik skupin IFD, které organizují metadata podle funkce: IFD0 (hlavní vlastnosti snímku — rozměry, orientace, komprese, software, datum/čas, výrobce, model), IFD1 (vlastnosti náhledu), ExifIFD (parametry snímání fotoaparátu — expozice, clona, ISO, ohnisková vzdálenost, blesk, vyvážení bílé, scénický režim), GPS IFD (geolokační data — šířka, délka, výška, časové razítko, směr, rychlost) a Interoperability IFD (barevný prostor a pravidla interoperability). Každý IFD může obsahovat stovky jednotlivých definic značek, každou s unikátním hexadecimálním identifikátorem, datovým typem (BYTE, ASCII, SHORT, LONG, RATIONAL atd.), počtem a hodnotou nebo offsetem k hodnotě.

Dron pořizující inspekční snímky nad letištní runwayí s kamerou na gimbalu pro EXIF-tagované průzkumné fotografie

Pro inspekci infrastruktury a dronové mapování je EXIF primárním nositelem geoprostorových a technických metadat od okamžiku pořízení až po zpracovatelskou pipeline. Každý snímek z dronu — ať už z DJI Phantom, Mavic, Matrice, Autel EVO, Skydio X10 nebo vlastní kamery — obsahuje EXIF data, která přesně zaznamenávají, kde, kdy, jak a z jaké výšky byla každá fotografie pořízena. Tato data jsou základem pro geotagování fotografií, fotogrammetrickou rekonstrukci, generování ortomozik a automatizovanou inspekční analýzu, jak je implementováno v platformách jako TarmacView.

Standard EXIF je jedním ze tří dominantních schémat metadat v digitálním zobrazování, vedle IPTC (International Press Telecommunications Council — zaměřené na popisná a autorskoprávní metadata pro zpravodajství a publikování) a XMP (Extensible Metadata Platform — XML-based framework pro vkládání vlastních jmenných prostorů metadat). EXIF je jedinečný svou přesností a strukturou pro technická data kamery a GPS, zatímco XMP rozšiřuje schopnosti EXIF o značky specifické pro výrobce — což je rozdíl kritický pro fotogrammetrické pracovní postupy s drony.

GPS značky v EXIF — Šířka, délka, výška a časové razítko

GPS IFD (Image File Directory) je pravděpodobně nejdůležitější částí EXIF pro aplikace inspekce infrastruktury. Identifikován značkou 0x8825 v rámci IFD0, obsahuje GPS IFD strukturovanou sadu pod-značek, které kódují geografickou polohu, nadmořskou výšku, směr, rychlost a časové razítko pořízení snímku. Standard CIPA DC-008 definuje tyto značky v Sekci 9 (GPS značky) s přísnými pravidly kódování, která zajišťují interoperabilitu napříč zařízeními a softwarovými platformami.

GPSLatitude (značka 0x0002) a GPSLongitude (značka 0x0004) jsou uloženy jako tři RATIONAL hodnoty reprezentující stupně, minuty a sekundy — každá kódovaná jako 32bitový pár čitatel/jmenovatel. Například šířka 25° 45’ 30,5" N je uložena jako [25/1, 45/1, 305/10], neboli v racionálním tvaru [25.000000, 45.000000, 30.500000]. Doprovodné značky GPSLatitudeRef (0x0001) a GPSLongitudeRef (0x0003) jsou jednotlivé ASCII znaky — “N” nebo “S” a “E” nebo “W” — určující polokouli. Značka GPSMapDatum (0x0012) zaznamenává geodetický referenční systém; pro prakticky všechny spotřebitelské a prosumerské drony je to “WGS-84” (World Geodetic System 1984).

GPSAltitude (značka 0x0006) je uložena jako jediná RATIONAL hodnota reprezentující metry nad nebo pod elipsoidem WGS84. GPSAltitudeRef (0x0005) je jediná BYTE hodnota — 0 pro nad hladinou moře, 1 pro pod hladinou moře. Kritický rozdíl, který mnoho uživatelů chápe nesprávně, je ten, že GPS výška není nadmořská výška (MSL) ani výška nad úrovní terénu (AGL). GPS výška je výška nad matematickým referenčním elipsoidem (WGS84), který se může lišit od místní střední hladiny moře o 20 až 100 metrů v závislosti na separaci geoidu (také nazývané undulace geoidu) v místě pořízení. Například v Denveru, Colorado (USA), je elipsoid WGS84 přibližně 16 metrů pod místním geoidem (NAVD88), takže GPS výška 1 600 m odpovídá nadmořské výšce přibližně 1 584 m. Tento rozdíl je dokumentován v požadavcích ICAO Annex 14 pro měření výšek letišť a v ISO 19111 pro definice souřadnicových referenčních systémů.

GPS EXIF značkaID značky (Hex)Datový typPopis
GPSLatitudeRef0x0001ASCII(2)“N” nebo “S” — severní nebo jižní polokoule
GPSLatitude0x0002RATIONAL(3)Stupně, minuty, sekundy jako racionální hodnoty
GPSLongitudeRef0x0003ASCII(2)“E” nebo “W” — východní nebo západní polokoule
GPSLongitude0x0004RATIONAL(3)Stupně, minuty, sekundy jako racionální hodnoty
GPSAltitudeRef0x0005BYTE0 = nad hladinou moře, 1 = pod hladinou moře
GPSAltitude0x0006RATIONALVýška v metrech nad referenčním elipsoidem WGS84
GPSTimeStamp0x0007RATIONAL(3)UTC čas (hodiny, minuty, sekundy) GPS fixace
GPSDateStamp0x001DASCII(11)UTC datum: “YYYY:MM:DD”
GPSSpeedRef0x000CASCII(2)“K” pro km/h, “M” pro mph, “N” pro uzly
GPSSpeed0x000DRATIONALRychlost nad zemí v jednotkách určených GPSSpeedRef
GPSTrackRef0x000EASCII(2)“T” pro skutečný sever, “M” pro magnetický sever
GPSTrack0x000FRATIONALSměr pohybu ve stupních po směru hodin od severu
GPSImgDirectionRef0x0010ASCII(2)“T” nebo “M” pro referenci směru snímku
GPSImgDirection0x0011RATIONALSměr, kterým kamera míří, ve stupních
GPSMapDatum0x0012ASCIIGeodetické datum — typicky “WGS-84”
GPSHPositioningError0x001FRATIONALHorizontální ředění přesnosti (HDOP) v metrech

GPSTimeStamp (0x0007) ukládá UTC čas GPS fixace jako tři RATIONAL hodnoty (hodiny, minuty, sekundy), zatímco GPSDateStamp (0x001D) ukládá UTC datum jako 11znakový ASCII řetězec ve formátu “YYYY:MM:DD”. Dohromady poskytují GPS časové razítko — odlišné od EXIF značky DateTimeOriginal (0x9003 v ExifIFD), která zaznamenává čas interních hodin fotoaparátu v okamžiku stisknutí spouště. GPS časové razítko pochází z atomových hodin satelitů a je mnohem spolehlivější pro přesné časové řazení inspekčních snímků, zejména při průzkumu přes hranice časových pásem nebo přechody na letní čas.

Značka GPSTrack (0x000F) zaznamenává směr pohybu v okamžiku pořízení, měřený ve stupních po směru hodinových ručiček od skutečného severu (nebo magnetického severu podle GPSTrackRef). Značka GPSImgDirection (0x0011) zaznamenává směr, kterým kamera míří — kriticky důležité pro dronovou inspekci, kde může být gimbal kamery orientován nezávisle na směru letu dronu. Pro drony DJI létající standardní nadirové mapovací mise se GPSImgDirection obvykle rovná směru letu dronu, ale pro šikmou inspekci pilířů mostů, fasád budov nebo okrajů runwayí poskytuje směr natočení gimbalu úhel pohledu kamery nezbytný pro odhad fotogrammetrické orientace.

GPSHPositioningError (0x001F) — přidáno v EXIF 2.31 — udává odhadovanou horizontální chybu polohy v metrech. U dronů vybavených RTK může být tato hodnota 0,02–0,05 (2–5 cm), zatímco u standardních GPS/GLONASS přijímačů se pohybuje od 1,0 do 5,0 metrů. Tato značka umožňuje automatické kvalitativní filtrování při výběru snímků pro fotogrammetrické zpracování — snímky s GPSHPositioningError překračujícím nastavitelný práh mohou být označeny nebo vyloučeny pro zachování přesnosti rekonstrukce.

Orientační značky kamery — Náklon, sklon, směr a záhada EXIF orientace

EXIF orientační značka (tag 0x0112, umístěná v IFD0) je jedním z nejčastěji chybně interpretovaných EXIF polí. Ukládá jediné SHORT celé číslo (1 až 8) popisující rotaci a zrcadlení pixelových dat snímku vzhledem k přirozeným osám souřadnic snímače fotoaparátu. Osm hodnot definovaných ve standardu EXIF je: 1 = normální (0° rotace), 2 = horizontálně zrcadleno (překlopeno zleva doprava), 3 = otočeno o 180°, 4 = vertikálně zrcadleno (překlopeno shora dolů), 5 = horizontálně zrcadleno a otočeno o 270° po směru hodin, 6 = otočeno o 90° po směru hodin, 7 = horizontálně zrcadleno a otočeno o 90° po směru hodin, 8 = otočeno o 270° po směru hodin. Tato značka umožňuje fotoaparátům a chytrým telefonům indikovat, jak má být snímek zobrazen pro správné prohlížení, bez fyzického otáčení pixelových dat — což je významná optimalizace výkonu.

U dronových inspekčních snímků je orientační značka téměř vždy 1 (normální), protože kamery dronů jsou namontovány na stabilizovaných gimbalech, které udržují snímač v pevné orientaci vůči horizontu. Avšak orientace kamery, která je důležitá pro geoprostorovou analýzu — úhly náklonu, sklonu a směru optické osy kamery — NENÍ uložena ve standardním EXIF IFD. Místo toho jsou tato data zapisována výrobci dronů do proprietárních XMP jmenných prostorů, které rozšiřují strukturu EXIF.

DJI drony zapisují orientaci kamery do XMP jmenného prostoru http://www.dji.com/drone-dji/1.0/ se značkami GimbalPitchDegree, GimbalRollDegree a GimbalYawDegree. Ty reprezentují orientaci gimbalu vůči lokálnímu souřadnicovému systému: pitch (sklon) je kladný, když se kamera naklání nahoru od nadiru (90° = horizont vpřed, -90° = horizont vzad), roll (náklon) je rotace kolem podélné osy (kladný = pravá strana dolů) a yaw (směr) je kompasový směr kamery (0° = sever, kladný po směru hodin). Pro nadirové mapovací mise je pitch gimbalu typicky -90° (přímo dolů), roll gimbalu 0° a yaw gimbalu se rovná směru letu dronu.

DJI také zapisuje FlightPitchDegree, FlightRollDegree a FlightYawDegree — postoje samotného trupu letadla, které se liší od orientace gimbalu, když gimbal aktivně kompenzuje pohyb letadla. Během standardní mapovací mise udržuje letový ovladač gimbal v požadovaném úhlu, zatímco letadlo se může během dopředného letu naklánět dopředu (typicky 2–8° při mapovacích rychlostech 5–15 m/s). Fotogrammetrický software jako Pix4Dmapper, Agisoft Metashape a OpenDroneMap používá orientaci gimbalu (nikoli postoj letadla) jako počáteční odhad orientace kamery pro vyrovnání svazku, protože gimbal reprezentuje skutečnou optickou osu kamery.

Autel drony ukládají orientaci odlišně. XMP jmenný prostor pro telemetrii Autel zahrnuje značky <Camera:Pitch> a <Camera:Yaw>, ale roll (náklon) typicky není zaznamenán. Hodnoty orientace Autel používají jinou konvenci znamének než DJI — kladný pitch znamená, že kamera je nakloněna dolů (směrem k nadiru), což je opačná konvence než u DJI. Tento rozdíl v konvenci znamének je známým zdrojem chyb konfigurace při zpracování datových sad dronů od různých výrobců.

Skydio drony, zejména řada X10, vkládají orientaci kamery do XMP jmenného prostoru se značkami CameraOrientation, které následují fotogrammetrickou konvenci (Omega, Phi, Kappa nebo Yaw, Pitch, Roll v závislosti na verzi firmwaru). Metadata Skydio také zahrnují kalibrační intrinsické parametry kamery (ohnisková vzdálenost, hlavní bod, koeficienty zkreslení objektivu) přímo v souboru snímku — klíčové pro fotogrammetrické zpracování bez samostatného kalibračního kroku.

Pro fotogrammetrický software, který nemá nativní podporu pro výrobcovské XMP značky, je počáteční orientace kamery typicky odhadnuta pouze z GPS stopy — porovnáním sekvenčních pozic snímků k odvození směru pohybu za předpokladu, že kamera míří k nadiru (přímo dolů). Tento předpoklad funguje přiměřeně pro standardní gridové mapovací mise, ale selhává u šikmých inspekčních letů, kde je kamera záměrně namířena 15–45° od vertikály. V těchto případech poskytuje orientace gimbalu z XMP jediný spolehlivý počáteční odhad a její absence může způsobit selhání fotogrammetrického zarovnání.

Konvence rotace omega, phi, kappa (ω, φ, κ) běžně používaná ve fotogrammetrii se liší od konvence yaw, pitch, roll používané v letectví a metadatech dronů. Omega (ω) je rotace kolem osy X (ekvivalent roll), phi (φ) je rotace kolem osy Y (pitch) a kappa (κ) je rotace kolem osy Z (yaw). Převod mezi těmito dvěma konvencemi vyžaduje pečlivé zacházení se znaménky a mapování souřadnicových os — úkol, který fotogrammetrický software řeší interně, ale který by inženýři měli chápat při validaci metadat orientace kamery.

Nástroje pro extrakci EXIF — exiftool, Python PIL, piexif a exifread

ExifTool — Průmyslový standard

ExifTool, vytvořený a udržovaný Philem Harveym, je nejkomplexnější a nejpoužívanější nástroj pro čtení, zápis a úpravu EXIF metadat napříč všemi operačními systémy (Windows, macOS, Linux). Napsaný v Perlu a distribuovaný jako samostatný spustitelný soubor, ExifTool podporuje přes 11 000 názvů značek napříč EXIF, IPTC, XMP, ICC Profile a stovkami výrobcovských jmenných prostorů MakerNote. Nástroj je zdarma a open source pod GNU General Public License (GPL) verze 1 nebo Artistic License.

Základní struktura příkazu pro čtení metadat je:

exiftool -NÁZEVZNAČKY -NÁZEVZNAČKY název_souboru

Pro extrakci GPS souřadnic z jednoho dronového snímku v desetinném formátu:

exiftool -GPSLatitude -GPSLongitude -GPSAltitude -n DJI_0042.JPG

Přepínač -n vypisuje číselné hodnoty v desetinných stupních, metrech a sekundách namísto výchozích formátovaných řetězců stupně-minuty-sekundy — což je nezbytné pro programové zpracování. Bez -n by GPS šířka byla vypsána jako “25 deg 45’ 30.50"”, což vyžaduje parsování.

Dávková extrakce do CSV pro celý průzkumný let:

exiftool -csv -GPSLatitude -GPSLongitude -GPSAltitude -GPSHPositioningError -DateTimeOriginal -RelativeAltitude -GimbalPitchDegree -GimbalYawDegree -n *.JPG > survey_metadata.csv

Tím vznikne strukturovaná tabulka s jedním řádkem na snímek a sloupci pro každou požadovanou značku. Přepínač -csv zahrnuje záhlaví, díky čemuž je výstup přímo importovatelný do GIS softwaru, tabulkových aplikací nebo databázových systémů.

Extrakce veškeré telemetrie specifické pro DJI:

exiftool -XMP-drone-dji:all DJI_0042.JPG

Toto filtruje výstup pouze na značky v rámci XMP jmenného prostoru DJI, zobrazující pole jako AbsoluteAltitude, RelativeAltitude, GimbalPitchDegree, GimbalRollDegree, GimbalYawDegree, FlightPitchDegree, FlightYawDegree, FlightXSpeed, FlightYSpeed, FlightZSpeed, CalibratedFocalLength a CalibratedOpticalCenterX/Y.

Zápis GPS souřadnic do snímku, který je postrádá:

exiftool -GPSLatitude=25.759167 -GPSLatitudeRef=N -GPSLongitude=-80.152778 -GPSLongitudeRef=W -GPSAltitude=12.5 -GPSAltitudeRef=0 image.jpg

Toto je operace používaná k geotagování snímků, když GPS nebyla k dispozici v době pořízení — například při použití GPX stop záznamu z ovladače dronu k retrospektivnímu přiřazení pozic každé fotografii na základě synchronizovaných časových razítek.

Terminál příkazové řádky ExifTool zobrazující výstup extrakce EXIF metadat s GPS souřadnicemi a výškovými daty

Python PIL (Pillow)

Fork Python Imaging Library (PIL) s názvem Pillow poskytuje nativní schopnost čtení EXIF prostřednictvím metody _getexif() objektu Image. Ačkoli je název metody označen jako chráněný (prefix podtržítka), je široce používán a stabilní napříč verzemi Pillow 8.0 až po aktuální (10.x). Metoda vrací slovník mapující číselné ID EXIF značek na jejich hodnoty:

from PIL import Image
from PIL.ExifTags import TAGS, GPSTAGS

img = Image.open('drone_photo.JPG')
exif_data = img._getexif()
if exif_data:
    for tag_id, value in exif_data.items():
        tag_name = TAGS.get(tag_id, tag_id)
        print(f"{tag_name}: {value}")

Extrakce GPS souřadnic specificky vyžaduje přístup k sub-IFD GPSInfo (ID značky 34853, definováno jako TAGS.get(34853) = “GPSInfo”), následně zpracování sub-slovníku pomocí GPSTAGS pro čitelné názvy klíčů:

gps_info = exif_data.get(34853, {})
for k, v in gps_info.items():
    print(f"{GPSTAGS.get(k, k)}: {v}")

Pillow vrací GPS souřadnice jako n-tice racionálních hodnot (čitatel, jmenovatel), což vyžaduje převod na desetinné stupně pro použití v mapovacích a fotogrammetrických aplikacích. Vzorec pro převod: desetinné_stupně = stupně + minuty/60 + sekundy/3600

Pillow poskytuje modul ExifTags s třídami enum (PIL.ExifTags.Base, PIL.ExifTags.GPS, PIL.ExifTags.IFD atd.), které nabízejí lidsky čitelné konstanty pro nejčastěji používané ID EXIF značek, čímž se snižuje potřeba pevně kódovaných hodnot ID značek v produkčním kódu.

piexif

Piexif je čistě Python knihovna (bez externích závislostí) navržená speciálně pro čtení a zápis EXIF metadat. Poskytuje čistší API než Pillow pro manipulaci s EXIF a je obzvláště vhodná pro zápis GPS značek do snímků:

import piexif
from piexif import GPSIFD, TAGS

def to_deg(value):
    d, m, s = float(value[:2]), float(value[2:4]), float(value[4:])
    return [(d, 1), (m, 1), (int(s * 1000), 1000)]

# Read EXIF
exif_dict = piexif.load('image.JPG')
gps = exif_dict.get('GPS', {})
lat = gps.get(GPSIFD.GPSLatitude)
lng = gps.get(GPSIFD.GPSLongitude)

# Write GPS to image
exif_dict['GPS'][GPSIFD.GPSLatitude] = to_deg("2545.500")
exif_dict['GPS'][GPSIFD.GPSLatitudeRef] = 'N'
exif_bytes = piexif.dump(exif_dict)
piexif.insert(exif_bytes, 'image.JPG')

Piexif také podporuje extrakci náhledů, zpracování MakerNote a hromadné odstraňování metadat (užitečné pro zpracování zaměřené na soukromí, kde musí být GPS data odstraněna z publikovaných snímků).

exifread

Exifread (přes PyPI balíček exifread) je Python knihovna specializovaná na extrakci EXIF s podporou širšího rozsahu výrobcovských MakerNote značek než Pillow. Na rozdíl od omezené podpory MakerNote v Pillow dokáže exifread dekódovat proprietární formáty metadat Canon, Nikon, DJI a dalších do strukturovaných polí:

import exifread

with open('drone_photo.JPG', 'rb') as f:
    tags = exifread.process_file(f, details=True)
    for tag, value in tags.items():
        if 'GPS' in tag:
            print(f"{tag}: {value}")

Exifread vrací všechny značky (včetně GPS, EXIF, MakerNote a náhledu) jako plochý slovník s plně kvalifikovanými názvy klíčů jako 'GPS GPSLatitude', 'EXIF DateTimeOriginal' a 'MakerNote Unknown'. Parametr details=True se pokouší dekódovat data MakerNote dodavatele do strukturovaných polí namísto ponechání jako surová pole bajtů.

EXIF v dronových snímcích — DJI, Autel, Skydio, GoPro a vlastní platformy

Drony DJI

DJI je dominantním výrobcem na trhu dronových inspekcí a jeho implementace metadat je nejkomplexnější a nejdůkladněji zdokumentovaná (byť prostřednictvím reverzního inženýrství a komunitního úsilí, nikoli oficiální publikace). DJI zapisuje EXIF data plus rozsáhlou sadu XMP jmenných prostorů značek pod URI http://www.dji.com/drone-dji/1.0/.

Kompletní sada DJI XMP značek v aktuálním firmwaru (od 2022+ pro Mavic 3, Matrice 30/300/350, Phantom 4 RTK) zahrnuje: GpsLatitude a GpsLongitude (desetinné stupně, osm desetinných míst), AbsoluteAltitude (barometrický odhad MSL v metrech, plovoucí desetinná čárka), RelativeAltitude (výška nad místem vzletu v metrech), GimbalPitchDegree, GimbalRollDegree, GimbalYawDegree (úhly orientace gimbalu), FlightPitchDegree, FlightRollDegree, FlightYawDegree (postoj letadla), FlightXSpeed, FlightYSpeed, FlightZSpeed (složky rychlosti v m/s v lokálních souřadnicích těla), CalibratedFocalLength (v mm, zohledňující výrobní odchylky objektivu), CalibratedOpticalCenterX a CalibratedOpticalCenterY (offset hlavního bodu v pixelech), LensDistortionParam (série koeficientů zkreslení pro korekci objektivu ve fotogrammetrii) a SelfData (serializovaný binární blok obsahující další telemetrii — akcelerometr, gyroskop, magnetometr a satelitní informace).

Jedním kritickým problémem specifickým pro DJI je fenomén duálního GPS záznamu. DJI zapisuje GPS souřadnice do standardních EXIF GPS značek A do XMP jmenného prostoru drone-dji, ale hodnoty se mohou lišit. EXIF GPS značky typicky používají polohu hlášenou GPS přijímačem v okamžiku aktivace závěrky. XMP značky GpsLatitude/GpsLongitude někdy používají vyhlazenou nebo průměrovanou polohu z letového ovladače. Rozdíly 0,5 až 2 metry mezi oběma jsou běžné a jsou známým zdrojem zmatku ve fotogrammetrii, když software standardně používá jeden nebo druhý zdroj.

Pro termální kamery DJI (Mavic 3T, Matrice 30T, Zenmuse H20T, Zenmuse XT2) obsahují RJPEG (radiometrické JPEG) soubory další EXIF a XMP data pro termální parametry — nastavení emisivity, odražená teplota, atmosférická teplota, vzdálenost objektu a relativní vlhkost. Tyto značky jsou nezbytné pro převod surových termálních pixelových hodnot na kalibrované údaje o teplotě a jsou uloženy v segmentu značky APP4 (nikoli APP1, kde sídlí běžný EXIF).

Drony Autel

Autel (vlastněný společností Shenzhen Autel Intelligent Technology) používá odlišnou strukturu metadat. XMP jmenný prostor http://www.autel.com/autel/1.0/ obsahuje značky včetně GPSLatitude, GPSLongitude, Altitude (ASL — nad hladinou moře), Pitch, Yaw a Roll (ačkoli roll je napříč verzemi firmwaru zaznamenáván nekonzistentně). Výška u Autel je standardně ukládána jako ASL, což znamená, že hodnota reprezentuje odhadovanou nadmořskou výšku, nikoli výšku nad úrovní terénu. Pro mapovací aplikace musí uživatelé znát nadmořskou výšku terénu v místě vzletu, aby odvodili AGL.

Snímky Autel také postrádají rozsáhlá kalibrační data objektivu, která DJI poskytuje v XMP. Značky CalibratedFocalLength, CalibratedOpticalCenter a LensDistortionParam chybí, což znamená, že fotogrammetrický software musí odhadovat kalibrační parametry kamery během vyrovnání svazku — což vyžaduje více pozemních kontrolních bodů a potenciálně snižuje přesnost u vysoce precizních inspekčních aplikací.

Drony Skydio

Skydio (akvírován Amazonem v roce 2023) volí odlišný přístup: modely X10 a dřívější S2+ kladou důraz na metadata v kvalitě geodetického průzkumu. XMP jmenný prostor zahrnuje značky GPSXYAccuracy a GPSZAccuracy udávající odhadovanou horizontální a vertikální přesnost GPS fixace, což umožňuje automatické kvalitativní třídění. Skydio také zpřístupňuje data CameraIntrinsics včetně ohniskové vzdálenosti (v pixelech), hlavního bodu (cx, cy) a parametrů zkreslení objektivu přímo v metadatech snímku, čímž se zkracuje čas potřebný pro autokalibraci během fotogrammetrického zpracování. U modelu X10 RTK poskytují doprovodné soubory .MRK fázové GNSS observace pro post-processing kinematické (PPK) korekce, čímž obcházejí omezenou přesnost vestavěného EXIF GPS.

GoPro a vlastní kamerové platformy

Kamery GoPro jsou často používány pro inspekci na blízkou vzdálenost a FPV inspekci mostů. Implementace EXIF u GoPro je standardní (metadata kamery plus GPS u modelů Hero), ale přesnost GPS (typicky 3–8 metrů) a zkreslení rybího okna (výrazné — HyperSmooth stabilizace GoPro ořezává a deformuje snímky) činí snímky z GoPro náročnými pro fotogrammetrii bez rozsáhlé kalibrace. GoPro ukládá GPS pouze ve standardních EXIF značkách (žádná výrobcovská XMP rozšíření), čímž omezuje telemetrii na šířku, délku, výšku a časové razítko.

Vlastní kamerové platformy (Sony α-series, Canon EOS kombinované s externími GNSS loggery) spoléhají zcela na standardní EXIF značky pro GPS data. Bez výrobcovských XMP rozšíření musí fotogrammetrická pipeline odhadovat orientaci kamery pouze z párování obrazových prvků — což je proveditelné pro podmínky s dobrou texturou, ale náchylné k selhání u povrchů s nízkou texturou (čerstvý asfalt, jednotný beton) běžných při inspekci vozovek.

Spolehlivost a přesnost EXIF — Omezení a zajištění kvality

Přesnost EXIF GPS závisí na hardwaru GNSS přijímače, dostupnosti satelitních konstelací, atmosférických podmínkách a signálovém prostředí v době pořízení. Spotřebitelské drony (řada DJI Mini, Mavic Air, Phantom 4 non-RTK) používají jednofrekvenční (L1) GPS/GLONASS přijímače s 2–5 metrovou horizontální přesností za optimálních podmínek a 5–10 metrů nebo hůře v městských kaňonech, blízko reflexních konstrukcí nebo pod hustým stromovým baldachýnem. Tato přesnost je dokumentována specifikacemi DJI a potvrzena nezávislým testováním publikovaným v literatuře o fotogrammetrii.

Drony vybavené RTK (Real-Time Kinematic) (DJI Phantom 4 RTK, Mavic 3 RTK, Matrice 350 RTK) dosahují 2–5 cm horizontální přesnosti příjmem korekcí nosné fáze z referenční stanice prostřednictvím rádiového spojení (typicky 900 MHz nebo 4G LTE). Značka GPSHPositioningError v EXIF udává odhadovanou horizontální chybu — pro snímky v režimu RTK by tato hodnota měla být pod 0,05 m (5 cm). PPK (Post-Processed Kinematic) pracovní postupy sbírají surové GNSS observace na palubě dronu a aplikují korekce po letu, čímž dosahují podobné přesnosti bez potřeby datového spojení v reálném čase.

Přesnost výšky je výrazně horší než horizontální přesnost u všech non-RTK dronů. EXIF GPSAltitude se vztahuje k elipsoidu WGS84 a vertikální přesnost samostatného GPS je typicky 1,5 až 2krát horší než horizontální přesnost (3–15 metrů oproti 2–5 metrům). Barometrická výška DJI (AbsoluteAltitude v XMP) je krátkodobě stabilnější, ale driftuje se změnami atmosférického tlaku. Studie porovnávající barometrickou výšku s zaměřenými pozemními kontrolními body uvádějí absolutní chyby 5–30 metrů v závislosti na atmosférických podmínkách v den průzkumu.

Faktor přesnostiSpotřebitelské GPS (non-RTK)RTK/PPKVertikální (non-RTK)Vertikální (RTK/PPK)
Horizontální (RMS)2–5 m0,02–0,05 m3–15 m0,05–0,10 m
Typická EXIF značkaGPSLatitude/LongitudeGPSLatitude/LongitudeGPSAltitudeGPSAltitude
GPSHPositioningError1,0–5,0 m0,02–0,05 mN/AN/A
Multipath efektVýznamnýKorigováno RTKVýznamnýStřední
Příklady dronůMavic Air, Mini, Phantom 4P4 RTK, M3 RTK, M350Všechny non-RTKP4 RTK, M350 RTK

GPS spoofing a rušení signálu jsou rostoucí obavy pro dronové inspekční operace v citlivém nebo konfliktním prostředí. Spoofingové útoky vstřikují falešné GPS signály, které způsobí, že dron zaznamená nesprávné souřadnice v EXIF metadatech bez vědomí pilota. Výzkum z University of Luxembourg a programu FAA UAS Detection and Mitigation prokázal, že standardní EXIF GPS značky neposkytují žádnou kryptografickou autentizaci — zaznamenané souřadnice jsou ty, které přijímač vypočítá z přijatých satelitních signálů. Pro vysoce zabezpečená letištní prostředí je nezbytné ověření EXIF GPS proti nezávislým zdrojům (korekce z referenční stanice, pozemní kontrolní body).

Spolehlivost časových razítek je obecně vysoká, protože GPS čas (zaznamenaný v GPSTimeStamp a GPSDateStamp) pochází z atomových hodin satelitní konstelace s přesností na nanosekundy. Nicméně značka EXIF DateTimeOriginal používá interní systémové hodiny dronu, které mohou driftovat o 1–10 sekund za letovou hodinu, zejména v chladných podmínkách, kde krystalové oscilátory mění frekvenci. Pro inspekční pracovní postupy vyžadující přesnou časovou korelaci mezi snímky a externími senzorovými daty by mělo být upřednostněno GPS časové razítko před časovým razítkem hodin fotoaparátu.

EXIF v pracovních postupech TarmacView Analyze a Survey

TarmacView zpracovává EXIF metadata z dronových inspekčních snímků jako primární zdroj dat pro geolokaci poškození vozovky, chronologické řazení inspekčních fotografií a inicializaci fotogrammetrické rekonstrukce. Zpracovatelská pipeline čte GPS IFD (značky 0x0001–0x001F) pro extrakci šířky, délky, výšky a GPS časového razítka pro každý snímek v inspekčním průzkumu.

Geotagování fotografií v TarmacView mapuje každý inspekční snímek na jeho místo pořízení na interaktivní mapě vozovky. Geografické souřadnice z EXIF GPSLatitude a GPSLongitude umísťují ikonu fotografie na přesnou pozici, kde se dron nacházel v okamžiku stisknutí spouště. Pro inspekci vozovky to umožňuje inspektorům kliknout na libovolné místo na ortomozace a okamžitě získat všechny fotografie, které tuto oblast pokrývají, filtrované podle data, letu a typu inspekce.

Výpočet GSD z výšky používá GPSAltitude (nebo RelativeAltitude z DJI XMP) v kombinaci s kalibrovanou ohniskovou vzdáleností kamery a rozměry snímače k výpočtu Ground Sample Distance (vzdálenost vzorkování na zemi) — reálný rozměr reprezentovaný každým pixelem. GSD je kritický parametr pro přesné měření šířky trhlin: GSD 1 mm/pixel umožňuje spolehlivou detekci trhlin o šířce 0,3–3 mm, zatímco GSD 3 mm/pixel nedokáže rozlišit submilimetrové trhliny. TarmacView používá EXIF výšku k výpočtu GSD pro každý snímek a označuje snímky, kde výška překročila plánované tolerance (indikující potenciální nekonzistenci GSD napříč průzkumem).

Časové řazení používá EXIF DateTimeOriginal nebo GPS časové razítko k chronologickému seřazení fotografií, což umožňuje automatickou rekonstrukci letové dráhy a ověření pokrytí. Mezery v sekvenci časových razítek indikují chybějící fotografie (selhání spouště, chyba zápisu na kartu), které mohou zanechat mezery v pokrytí ortomozaky.

Kalibrace kamery z EXIF dat (FocalLength, FocalLengthIn35mmFilm a výrobcovské XMP značky včetně CalibratedFocalLength, CalibratedOpticalCenterX/Y, LensDistortionParam) inicializuje fotogrammetrický model kamery. Poskytnutí přesných počátečních hodnot pro ohniskovou vzdálenost a hlavní bod zkracuje dobu konvergence vyrovnání svazku a zvyšuje pravděpodobnost správného zarovnání, zejména u průzkumů s omezenou texturou nebo náročnými světelnými podmínkami.

EXIF GPS pro geotagování fotografií

Geotagování fotografií je proces přiřazování geografických souřadnic (šířka, délka a volitelně výška) k digitálním fotografiím. Pokud má fotoaparát nebo dron GPS přijímač, souřadnice jsou automaticky zapsány do EXIF GPS IFD v okamžiku pořízení. Pro snímky, které postrádají GPS data, lze geotagování provést dodatečným porovnáním časového razítka snímku s externím GPS stop záznamem (GPX, NMEA nebo proprietární formát).

Standardní pracovní postup geotagování pro dronové inspekční snímky probíhá následovně:

Krok 1 — Získání GPS stopy: Během letu zaznamenává ovladač dronu nebo samostatný GPS logger polohu a čas s frekvencí 1–10 Hz. Samostatné GPS loggery (Garmin, Bad Elf, Dual) poskytují vyšší přesnost než většina GPS přijímačů dronů a jsou používány pro precizní inspekční pracovní postupy.

Krok 2 — Synchronizace časových razítek: Časová razítka snímků (z EXIF DateTimeOriginal) musí být synchronizována s časovými razítky GPS stopy s přesností na zlomky sekundy. Drift hodin mezi hodinami fotoaparátu a GPS hodinami je korigován výpočtem offsetu mezi GPS časovým razítkem kamery (je-li k dispozici) a DateTimeOriginal.

Krok 3 — Interpolace souřadnic: Jelikož body GPS stopy jsou zaznamenávány s vyšší frekvencí než snímky (např. 5 Hz GPS oproti 0,5 Hz spouště), přesná poloha kamery při každé události spouště je interpolována z nejbližších bodů GPS stopy. Lineární interpolace mezi GPS fixací bezprostředně před a po časovém razítku snímku je standardem, i když kubická spline interpolace lépe zachycuje zakřivenou letovou dráhu během zatáček.

Krok 4 — Zápis EXIF: Interpolované souřadnice, výška a směr jsou zapsány do EXIF GPS IFD souboru snímku pomocí ExifTool nebo programových knihoven (piexif, Pillow). Původní soubor by měl být zachován se záložní kopií před jakýmikoli úpravami EXIF.

Nástroje specializované na geotagování fotografií zahrnují GeoSetter (Windows, freeware, podporuje zápis EXIF a XMP s náhledem v Google Earth), GPicSync (cross-platform, Python-based), Geosetter od Friedemanna Schmidta a přístup příkazové řádky exiftool se šablonovými soubory formátu pro konverzi GPX do EXIF. Pro dávkové geotagování v inspekčních pipeline poskytují vlastní skripty používající nástroje popsané v Sekci 4 největší kontrolu a integrační schopnosti.

Chybějící nebo poškozené EXIF — Příčiny, detekce a náprava

EXIF data mohou chybět, být oříznuta nebo poškozena několika mechanismy:

Konverze a opětovné ukládání souborů: Mnoho nástrojů pro zpracování snímků (prohlížeče obrázků, webové uploadery, nástroje pro snímky obrazovky) ukládá snímky bez zachování EXIF metadat. Nejhoršími viníky jsou webové prohlížeče, messagingové aplikace (WhatsApp, Telegram komprimují a odstraňují metadata) a platformy sociálních médií. Průchod dronového JPG kteroukoli z těchto pipeline nenávratně zničí EXIF GPS data, pokud neexistuje záloha.

Neúplný přenos souboru: Poškozené přenosy souborů (přerušené USB, nestabilní SD karta, výpadky sítě během cloudového uploadu) mohou oříznout JPEG APP1 segment, kde sídlí EXIF, což vede k souboru snímku, který se otevře, ale postrádá veškerá metadata. Rozdíl ve velikosti mezi původním a přeneseným souborem je prozrazujícím znakem.

Prostředí bez GPS signálu: Když dron nemůže získat GPS fixaci (uvnitř tunelů, pod hustým baldachýnem, mezi vysokými budovami, během předehřívání před letem), může GPS IFD EXIF zcela chybět nebo být vyplněn nulovými souřadnicemi či poslední známou polohou (chování specifické pro DJI, které může zůstat neodhaleno, pokud snímky nejsou ručně zkontrolovány).

Chyby SD karty a souborového systému: Poškození SD karty, nesprávné vysunutí a ztráta napájení během zápisu mohou vést k částečným EXIF datům. Běžným příznakem je platné DateTimeOriginal, ale chybějící GPS IFD — metadata kamery byla zapsána před získáním GPS fixace.

Metody detekce zahrnují: porovnání velikosti souboru (originální dronové JPG jsou typicky 3–15 MB; verze bez EXIF jsou o 0,5–2 MB menší), rychlá kontrola EXIF nástrojem (exiftool -GPSLatitude -GPSLongitude -DateTimeOriginal *.JPG zobrazující prázdná pole) a automatizované skripty kontroly kvality, které označují snímky chybějící GPS data během pipeline ingestu.

Náprava závisí na dostupných záložních datech:

  • GPX stop záznam z ovladače dronu nebo samostatného GPS loggeru — nejběžnější cesta obnovy. Synchronizujte časová razítka a interpolujte souřadnice, jak je popsáno v Sekci 8.
  • SRT (subtitle) soubory z dronů DJI obsahují časově synchronizovanou GPS a telemetrii pro každou fotografii a snímek, uložené jako soubory stop titulků vedle snímků na SD kartě. Extrahujte pomocí exiftool -p gpx.fmt nebo vyhrazených skriptů.
  • Parsery letových logů (DatCon, CsvView/Python skripty pro DJI logy) dekódují šifrovaný letový log (soubory .txt nebo .DAT) pro obnovení plné letové telemetrie včetně událostí spouště kamery.
  • Ruční zadání souřadnic pro malé inspekční projekty, prostřednictvím přímého zápisu ExifTool, se souřadnicemi změřenými ze známých referenčních bodů na zemi viditelných ve snímku.
  • Fotogrammetrický odhad — při absenci jakýchkoli GPS dat může software stále rekonstruovat pozice snímků pouze z párování obrazových prvků, ale model postrádá absolutní georeferencování a musí být ukotven pomocí minimálně 3–5 pozemních kontrolních bodů.

EXIF vs Sidecar metadata — XMP, GPX a proprietární formáty

Volba mezi vloženým EXIF a externími sidecar metadaty má významné důsledky pro správu inspekčních dat.

Vložený EXIF je uložen uvnitř samotného souboru snímku (JPEG APP1, TIFF IFD nebo DNG metadata bloky). Kritickou výhodou je soběstačnost — snímek a jeho metadata jsou jediným souborem, který nelze oddělit. Kopírování, archivace nebo přenos snímku automaticky zahrnuje jeho geolokaci, časové razítko, nastavení kamery a výrobcovskou telemetrii. Nevýhodou je, že EXIF má omezenou rozšiřitelnost — standard definuje pevnou sadu identifikátorů značek a typů hodnot a výrobcovská rozšíření (MakerNotes, XMP jmenné prostory) zabírají místo v omezeném segmentu JPEG (typicky 64–128 KB pro EXIF data, ačkoli XMP může přesahovat segment APP1).

XMP (Extensible Metadata Platform) je XML-based metadata framework vyvinutý Adobe a standardizovaný jako ISO 16684-1:2012. XMP může být vložen do souboru snímku (v rámci XMP paketu v segmentu APP1, za EXIF daty) NEBO uložen jako sidecar soubor se stejným názvem a příponou .xmp — například DJI_0042.JPG a DJI_0042.xmp. Sidecar soubory se vyhýbají modifikaci původního souboru snímku (zachovávají integritu digitálního podpisu a zabraňují náhodnému poškození během zápisu), ale vytvářejí vazební závislost — pokud je sidecar soubor ztracen, přejmenován nebo oddělen od snímku, metadata jsou ztracena.

GPX (GPS Exchange Format) je XML-based sidecar formát pouze pro GPS stop data. GPX soubory ukládají waypointy, stopy a trasy s časovými razítky. Pro inspekci je GPX preferovaným formátem pro GPS stop logy, protože je univerzálně podporován GIS softwarem, GPS mapovacími nástroji a ExifTool. Pracovní postup je: proveďte misi, zaznamenejte GPX stopu z ovladače nebo GPS loggeru, poté geotagujte snímky po letu párováním časových razítek.

Proprietární sidecar formáty zahrnují: DJI SRT soubory (GPS + telemetrické titulky vložené do video souborů nebo uložené vedle fotografií ve složce s titulky), MRK soubory (Skydio PPK korekční data), LOG soubory (letové logy v šifrovaném formátu DJI vyžadující nástroje pro dešifrování třetích stran jako DatCon) a formáty specifické pro výrobce pro kalibrační soubory termálních kamer. Organizace s dlouhodobými inspekčními archivy by měly plánovat postupy správy sidecar souborů, které zajistí synchronizaci mezi snímky a jejich metadata společníky — což je netriviální výzva, když jsou tisíce snímků přenášeny, kopírovány a zpracovávány napříč více systémy.

VlastnostVložený EXIFXMP SidecarGPX Stopa
SoběstačnýAno — metadata v souboru snímkuNe — samostatný soubor vázaný na snímekNe — samostatná stopa pro všechny snímky
Limit velikosti~64 KB (EXIF v APP1)Praktický limit ~1 MBProměnný — 10–100 KB za letovou hodinu
RozšiřitelnostPevná sada značek; výrobcovské MakerNotesPlně rozšiřitelné přes XML jmenné prostoryPouze pevné GPS schéma
Obtížnost zápisuStřední — nutno modifikovat binární dataSnadná — operace s XML souborySnadná — XML (GPX 1.1)
Rizikový faktorPoškození souboru při zápisuOddělení/ztráta sidecar souboruPřesnost synchronizace časových razítek
Vhodnost pro inspekciPrimární nosič metadatRozšířená telemetrická zálohaArchiv GPS stop

Doporučeným postupem pro dronové inspekční operace je hybridní přístup: (1) zachovat původní EXIF data v každém souboru snímku jako primární nosič metadat, (2) udržovat záložní GPX stop záznam z ovladače dronu pro obnovu GPS, (3) archivovat DJI SRT soubory nebo ekvivalentní výrobcovskou telemetrii vedle snímků a (4) pro dlouhodobou archivaci vytvořit konsolidovaný metadatový soubor (CSV, GeoJSON nebo databázi) extrahovaný ze všech zdrojů pro zajištění přežití metadat nezávisle na kompatibilitě formátů souborů.

Reference

  • Camera and Imaging Products Association. CIPA DC-008-Translation-2019 — Exchangeable Image File Format for Digital Still Cameras: Exif Version 2.32. 2019.
  • International Civil Aviation Organization. Annex 14 — Aerodromes, Volume I: Aerodrome Design and Operations. 8th Edition, 2018.
  • International Organization for Standardization. ISO 19111:2019 — Geographic Information — Referencing by Coordinates.
  • International Organization for Standardization. ISO 16684-1:2012 — Graphic Technology — Extensible Metadata Platform (XMP) — Part 1: Data Model, Serialization and Core Properties.
  • Harvey, P. ExifTool by Phil Harvey. https://exiftool.org/ , accessed November 2025.
  • Fast.io. How to Extract GPS, Altitude, and Flight Data from Drone Photos. https://fast.io/resources/drone-photo-metadata-extraction-gps-altitude-flight-data/ , 2024.
  • DJI. DJI P4 RTK / M3 RTK / M350 RTK User Manuals. 2023-2024.
  • Skydio. Skydio X10 Metadata Specification. 2024.
  • Pix4D. Understanding EXIF, XMP, and Geotagging for Drone Images. Pix4D Support Knowledge Base, 2024.
  • Agisoft. Metashape Professional Edition User Manual — Camera Calibration and Image Metadata Chapter. 2024.
  • Federal Aviation Administration. Advisory Circular 150/5370-17 — Airside Use of Unmanned Aircraft Systems (UAS). 2023.
  • ASTM International. ASTM D5340-19 — Standard Test Method for Airport Pavement Condition Index Surveys.
  • The OpenDroneMap Community. ODM Metadata Extraction and Image Georeferencing Documentation. 2024.

Často kladené otázky

Precizní inspekce s geotagovanými snímky

TarmacView využívá EXIF metadata z dronových inspekčních fotografií k automatické geolokaci poškození vozovky, mapování stavu runwayí a vytváření ortomozik v kvalitě geodetických průzkumů. Získejte maximální hodnotu z vašich inspekčních snímků díky automatizovanému zpracování metadat.

Zjistit více

GPS souřadnice

GPS souřadnice

Komplexní glosářový záznam o GPS souřadnicích, zabývající se zeměpisnou šířkou, délkou a nadmořskou výškou pro geodézii a letectví. Pokrývá geodetické datumy, r...

7 min čtení
Surveying Aviation +4
Protokol

Protokol

Protokol v informatice je formální soubor pravidel, která řídí výměnu dat mezi zařízeními nebo aplikacemi a zajišťují spolehlivou, bezpečnou a interoperabilní k...

11 min čtení
Networking Data Communication +3
Zeměpisné souřadnice

Zeměpisné souřadnice

Komplexní slovník pojmů souvisejících se zeměpisnými souřadnicemi a geodézií. Prozkoumejte definice a standardy pro zeměpisnou šířku, délku, datové systémy, sou...

7 min čtení
Geodesy Mapping +3