Для согласования точной координаты, что-то вроде этого (версия для Windows):
exiftool -if "$GPSLongitude eq '74 deg 2\' 40.20\" W' and $GPSLatitude eq '40 deg 41\' 21.28\" N'" -gps*= FileOrDir
или если вы используете числовые координаты
exiftool -if "$GPSLongitude# == -74.0445 and $GPSLatitude# == 40.6892444444444" -gps*= FileOrDir
Я использовал -gps*=
, чтобы очистить все теги, которые начинаются с gps
, потому что возможно, что может быть больше тегов, а также тегов XMP gps. Если вы хотите просто удалить данные о местоположении, оставив данные GPS-направления/скорости/времени/места назначения/etc, тогда вы можете использовать вместо этого -GPSLatitude= -GPSLongitude= -GPSLatitudeRef= -GPSLongitudeRef=
(возможно, -GPSAltitude= -GPSAltitudeRef=
).
Для первой команды в Windows вам придется избегать одиночных и двойных кавычек, которые находятся внутри одинарной кавычки уравнения с обратными косыми чертами. Я не уверен, как это будет сделано на Mac/Linux.
Одной из основных проблем будет степень точности. Если у вас есть номер, близкий, но не точно равный локальному gps, хранящемуся в файле, вы не получите соответствия. В этот момент вы можете заглянуть в опцию -c
, где вы можете указать степень точности.
exiftool -if "$GPSLongitude == -74.0445 and $GPSLatitude == 40.689244" -c "%+.6f" -gps*= FileOrDir
Наконец, если вы хотите получить более сложными, вы можете поставить только о каком-либо PERL выражения в качестве аргумента для опции -if
. Например, вы можете вычесть свой номер из $GPSLatitude
и получить абсолютное значение, чтобы получить диапазон для сравнения. Example с форумов Exlectool:
exiftool -if 'abs($gpslatitude# - 52.3728268506806) < 1e-3 and abs($gpslongitude# - 4.89373108651944) < 1e-3'
С вашей командой я не могу заставить скрипт соответствовать файлам. Он всегда говорит, что файлы X не смогли выполнить условие. Откуда я должен получить цифры? Из карт Google? Использование окна свойств из Windows? Можете ли вы немного расширить на -c переключатель? Я не мог найти информацию об этом в google. http://www.sno.phy.queensu.ca/~phil/exiftool/exiftool_pod.html Этот веб-сайт говорит -c делает что-то другое. – Freedo
Как я уже сказал, проблема заключается в степени точности. Трудно совместить точное число в файле, если вы не знаете точную координату и степень точности. Тогда это также зависит от того, в каком формате находится координата. Здесь используется опция '-c'. Она позволяет указать формат, чтобы он соответствовал формату, в котором находится ваша координата. Пример I дал «-c»% +. 6f »дал шесть десятичных знаков точности, что до уровня точности сантиметров. Далеко не точное, ИМО. Какая именно команда вы пытались и в каком формате находятся ваши координаты? – StarGeek
Мое предложение - использовать последнюю команду, если это возможно. Эта команда использует 1e-3 (или 0.001), которая по шкале координат является радиусом около футбольного поля. Чтобы затянуть его дальше, используйте 0,0001, который будет около 30 'радиуса. Таким образом, вам не нужно получать точно такую же координату, вы можете быть достаточно близко и все же удалить данные gps. – StarGeek