| GPSCORRELATE(1) | gpscorrelate 2.3 | GPSCORRELATE(1) |
نام (NAME)
gpscorrelate - تطبیق تصاویر دیجیتال با دادههای GPS و پر کردن فیلدهای EXIF
خلاصه دستور (SYNOPSIS)
gpscorrelate [{-g file.gpx} | {[-l | --latlong latitude,longitude[,elevation] ]}] [-z | --timeadd +/-HH[:MM]] [--no-photo-tz] [-O | --photooffset seconds] [-i | --no-interpolation] [-v | --verbose] [-d | --datum datum] [-n | --no-write] [-R | --replace] [-m | --max-dist time] [-t | --ignore-tracksegs] [--heading] [-B | --max-heading degrees] [-b | --direction degrees] [-M | --no-mtime] [--degmins] image.jpg...
gpscorrelate {-s | --show | -o | --machine} image.jpg...
gpscorrelate {-x | --show-gpx} [-z | --timeadd +/-HH[:MM]] [--no-photo-tz] [-O | --photooffset seconds] image.jpg...
gpscorrelate {-r | --remove} [-M | --no-mtime] image.jpg...
gpscorrelate {-f | --fix-datestamps} {-z | --timeadd +/-HH[:MM]} image.jpg...
gpscorrelate -V | --version | -h | --help
توضیحات (DESCRIPTION)
این صفحه راهنما دستور gpscorrelate را مستند میکند. مستندات گستردهتری در قالب HTML موجود است؛ به انتهای این راهنما مراجعه فرمایید.
دستور gpscorrelate برنامهای است که روی تصاویر دیجیتال با فرمت JPEG عمل میکند و فیلدهای EXIF (قالب فایل تصویری قابل تعویض) مربوط به اطلاعات سامانه موقعیتیاب جهانی (GPS) را تکمیل مینماید. منبع دادههای GPS یک فایل با قالب GPX (فرمت تبادل GPS) است که اطلاعات مکان را بر پایه XML ذخیره میکند. عمل پر کردن این فیلدها با عنوان تطبیق (correlation) شناخته میشود.
اگر دادههای GPS در لحظه دقیق ثبت عکس (با دقت ۱ ثانیه) موجود باشند، به صورت دستنخورده در فیلدهای EXIF ذخیره میشوند. در غیر این صورت، میتوان از درونیابی خطی (linear interpolation) دادههای GPS ثبتشده در لحظات قبل و بعد از عکسبرداری استفاده کرد. اگر تصویر دارای وضوح زمانی کسری از ثانیه باشد، برای تخمین دقیقتر موقعیت بین دو نقطه به کار گرفته میشود. درونیابی خطی هنگامی که فاصلهها نزدیک باشد نتایج بسیار خوبی میدهد؛ اما اگر فاصلهشان چندین کیلومتر باشد (مانند مسیر پرواز یک هواپیما با فواصل زمانی طولانی)، در مقایسه با مسیر دایره بزرگ (great circle) که هواپیماها معمولاً پرواز میکنند مقداری خطا پدید خواهد آمد. معیاری از دقت تقریبی خوانش مکان GPS (بر پایه تعداد ارقام اعشار ثبتشده در نقطه مسیر) از طریق مخرج فیلدهای مقادیر گویا در تصویر ذخیره و حفظ میشود. همچنین در صورت وجود اطلاعات HDOP ماهوارهها برای تطبیق دقیق نقطهای، برچسب GPSDOP نیز نوشته میشود که برآوردی مطمئنتر از دقت مکان ارائه میدهد.
الگوریتم درونیابی فرض میکند که مقادیر زمانی در فایلهای GPX اکیداً صعودی هستند، که در حالت عادی نیز چنین است. اگر فایلی با این فرض مغایرت داشته باشد، پیام Warning: track points are not ordered by time به همراه نخستین مقدار زمانی نامنظم در خروجی خطای استاندارد (stderr) نوشته میشود. هر مقدار مکانی ثبتشده در تصاویر با چنین فایلی ممکن است دقیقترین مختصات ممکن نباشد (اگر عکسها در حوالی زمان این ناهمخوانی زمانی گرفته شده باشند). در صورتی که زمان میان بخشهای مسیر (track segments) به عقب بازگردد هشداری داده نمیشود؛ این موضوع تنها زمانی بر تطبیق اثر دارد که از گزینه --ignore-tracksegs استفاده شود. گزینه --max-dist میتواند برای تعیین حد مجاز شکاف زمانی استفاده شود تا در صورت بروز این مشکل، اثرات منفی آن مهار گردد.
گزینهها (OPTIONS)
این برنامهها از ساختار معمول خط فرمان GNU پیروی میکنند که در آن گزینههای طولانی با دو خط تیره (`-') آغاز میشوند. خلاصهای از گزینهها در ادامه آمده است:
-g, --gps file.gpx
-l, --latlong latitude,longitude[,elevation]
توجه داشته باشید که این گزینه یک محدودیت شناختهشده دارد و در محلیسازیهایی (locales) که از کاراکتری جز "." برای ممیز استفاده میکنند، نماد اعشار محلی را در نظر نمیگیرد.
-s, --show
-x, --show-gpx
-o, --machine
-r, --remove
-z, --timeadd +/-HH[:MM]
--no-photo-tz
-O, --photooffset seconds
-i, --no-interpolation
-v, --verbose
-d, --datum datum
-n, --no-write
-R, --replace
-m, --max-dist time
اگر دید مستقیم به تعداد ماهوارههای لازم در زمان ثبت مسیر قطع شود، ممکن است شکافهایی در دادههای فایل GPX رخ دهد. اگر دقت موقعیت ثبتشده اهمیت حیاتی دارد و ترجیح میدهید در صورتی که مختصات موجود GPS بیش از حد متعلق به گذشته یا آینده است هیچ مکانی برای عکس تطبیق نیابد، این گزینه را روی مقداری غیرصفر تنظیم کنید.
این گزینه همچنین از ثبت جهت حرکت و زاویه دوربین در همین شرایط جلوگیری میکند (توضیحات گزینه --max-heading را برای کاربرد آن ببینید).
-t, --ignore-tracksegs
--heading
برنامه gpscorrelate با تمامی این برچسبها به عنوان جهت واقعی حرکت برخورد میکند؛ اما این برچسبها استاندارد کاملاً مشخصی ندارند و ممکن است همیشه حامل دادههای مورد انتظار نباشند. برای مثال، تلفن همراه ممکن است جهتی که دستگاه به سمت آن گرفته شده را ذخیره کند نه جهت جابجایی را، یا ممکن است جهت نسبت به شمال مغناطیسی باشد نه شمال واقعی. همچنین ممکن است دستگاه جهت را از روی سرعت پایین حرکت GPS تخمین بزند که دقیق نخواهد بود. با تکیه بر شناخت خود از نرمافزار ثبتکننده مسیر، میزان قابلیت اطمینان این برچسبها را بسنجید.
اگر این گزینه با --latlong به جای --gps به کار رود، جهت ثابت 0 ثبت خواهد شد (این رفتار ممکن است در آینده تغییر کند).
-B, --max-heading degrees
این گزینه مانع از ثبت جهت یا زاویه نادرست در مواردی که نقاط GPS با فاصلهای بیشتر از زمان لازم برای دور زدن کامل وسیله نقلیه ثبت شدهاند نخواهد شد. برای مثال، اگر خودرو برای دور زدن کامل به ۸ ثانیه نیاز داشته باشد اما برچسبهای GPS هر ۱۰ ثانیه ثبت شوند، دو نقطه ابتدا و انتهای دور زدن ممکن است جهتهایی بسیار نزدیک داشته باشند (در محدوده --max-heading)؛ اما عکسی که در میانه چرخش و ۴ ثانیه پس از نقطه اول گرفته شده، زاویهای درونیابیشده خواهد داشت که حدود ۱۸۰ درجه با واقعیت اختلاف دارد. با تنظیم گزینه --max-dist روی مقداری بسیار کمتر از مدت چرخش (مانند ۴ در این مثال)، از ثبت چنین مقادیر نادرستی جلوگیری کنید.
-b, --direction degrees
این گزینه میتواند همراه با --latlong نیز استفاده شود، که در این حالت آرگومان به صورت مستقیم به عنوان راستای دوربین بدون تغییر منظور میگردد.
-M, --no-mtime
-f, --fix-datestamps
--degmins
-h, --help
-V, --version
مثالها (EXAMPLES)
تطبیق تمامی عکسهای موجود در یک پوشه که در فصل تابستان در اروپای غربی گرفته شدهاند (یعنی UTC-2):
gpscorrelate -g Test.gpx -z 2 *.jpg
تطبیق تمام عکسهای یک پوشه ثبتشده در ایتالیا، همراه با تغییر خودکار به UTC-2 یا UTC-1 بر اساس ساعت تابستانی معتبر در زمان ثبت نخستین تصویر فهرست:
env TZ=Europe/Rome gpscorrelate -g Test.gpx *.jpg
تطبیق تمام عکسهای یک پوشه از مسیری که در دو فایل GPX مجزا پخش شده و در منطقه زمانی فعلی رایانه گرفته شدهاند؛ همراه با درونیابی میان قطعات و بین فایلها در عین صرفنظر از عکسهای با فاصله زیاد از نقطه ثبتشده، بدون تغییر برچسب زمانی فایلها، و با نمایش جزئیات کامل فرآیند:
gpscorrelate -g track1.gpx -g track2.gpx -m 120 -t -M -v *.jpg
تطبیق عکسهای گرفتهشده با دوربین داشبورد، همراه با افزودن برچسبهای جهت از فایل GPX:
gpscorrelate --heading --max-heading 90 --direction 0 -g Test.gpx *.jpg
تطبیق مجموعهای از عکسهای گرفتهشده با دوربینی که مستقیماً به سمت شیشه سمت راست خودرو نشانه رفته است (۹۰ درجه زاویه نسبت به جلو)، با استفاده از فایل GPX دارای برچسبهای جهت، صرفنظر از برچسبگذاری جهت در پیچهای تند و حذف تمام برچسبها در صورت قطع سیگنال GPS برای بیش از ۶ ثانیه (جهت جلوگیری از ثبت مقادیر نادرست):
gpscorrelate -g car_trip.gpx --heading --max-heading 45 --direction 90 --max-dist 6 --ignore-tracksegs *.jpg
تطبیق عکسی ثبتشده با دوربینی با ساعت جلوتر (ساعت ۷۷.۵ ثانیه جلوتر از زمان GPS بوده است) و برچسبهای منطقه زمانی اشتباه:
gpscorrelate -g Test.gpx -O -77.5 --no-photo-tz photo.jpg
نمایش برچسبهای موجود GPS در یک عکس:
gpscorrelate --show photo.jpg
نمایش برچسبهای موجود GPS در عکس و خروجی در قالب CSV:
gpscorrelate --show --machine photo.jpg
ایجاد یک مسیر GPX از مجموعهای از عکسهای گرفتهشده در زمستان در بریتانیا که دارای برچسب GPS هستند (مانند عکسهای گوشی)، جهت استفاده در تطبیق عکسهای دوربینی دیگر در همان نزدیکی:
gpscorrelate --show-gpx -z 0 IMG*.JPG
حذف برچسبهای GPS از عکسها:
gpscorrelate --remove *.jpg
افزودن برچسب موقعیت GPS به عکسی ثبتشده رو به سمت جنوبشرقی در کلیسای اولم:
gpscorrelate -l 48.398620,9.991417,522 --direction 135 -z 2 ulm.jpg
وضعیت خروج (EXIT STATUS)
دستور gpscorrelate در صورت موفقیت مقدار 0، در صورت بروز خطای عمده (مانند خطای خواندن یا نوشتن) مقدار 1 و در صورت خطای جزئی (مانند پوشش ندادن زمان تصویر توسط مسیر GPS دادهشده) مقدار 2 را برمیگرداند.
همچنین ببینید (SEE ALSO)
gpsd(1), gpsbabel(1), gpxlogger(1), cgpxlogger(1).
مستندات کامل نرمافزار gpscorrelate در قالب HTML در مسیر زیر بر روی فایلسیستم در دسترس است: /usr/share/doc/gpscorrelate.
مجوز (LICENSE)
این صفحه راهنما در ابتدا توسط Stefano Zacchiroli <zack@debian.org> برای سیستم Debian(TM) نگاشته شد. سپس توسط Till Maas <opensource@till.name> و Dan Fandrich <dan@coneharvesters.com> گسترش یافت. حق تکثیر، توزیع و/یا تغییر این سند تحت شرایط مجوز عمومی همگانی گنو (GNU General Public License)، نسخه ۲ یا هر نسخه پس از آن منتشرشده توسط بنیاد نرمافزارهای آزاد مجاز است.
نویسندگان (AUTHORS)
Stefano Zacchiroli
حق نشر (COPYRIGHT)
حق نشر © 2006-2025 متعلق به Stefano Zacchiroli <zack@debian.org>، Till Maas، Dan Fandrich
| 13 Feb 2025 | gpscorrelate 2.3 |