Пропущенная дата: спасаем 4585 наблюдений

Дорогие друзья!

Продолжаем серию постов о технических проблемах отдельных наблюдений. Сегодня поговорим о дате наблюдения.

Дата наблюдения входит в набор минимальных требований, которые предъявляются к данным на iNaturalist. Если по той или иной причине дата отсутствует, то такие наблюдения попадают в серую зону ("Casual" = "Обыкновенное") и не попадают в стандартные поисковые фильтры. Разумеется, они не индексируются ни в проекте "Флора России", ни в антипроекте.

В общем, они навсегда остаются захороненными на дне серой зоны. К сожалению, технические сбои, при которых день съемки не записывается в метаданные, случаются регулярно. Оказалось, что на данный момент 4585 (!) наблюдений по разным причинам не имеют даты. Только автор наблюдений может добавить день съемки, однако дело осложняется тем, что в поисковых фильтрах нет опции выбора не датированных наблюдений. С помощью глобальной csv-выгрузки такие наблюдения удалось выудить.

Итак, если вы есть в списке внизу, значит, у вас имеется, как минимум, три наблюдения без даты. Сейчас таких участников с наблюдениями по флоре России 316 человек, в т.ч. несколько
участников из числа топ-500 наблюдателей проекта "Флора России". Еще 777 человек имеют одно или два не датированных наблюдения. Иными словами, каждый десятый участник загрузил хотя бы раз наблюдение без дня съемки. Чем больше у вас загрузок, тем выше шансы оказаться в этом списке.

Как спасти такие наблюдения? Вот инструкция в два шага:

  1. Для начала нужно их найти. Полный перечень таких наблюдений приведен здесь: https://www.inaturalist.org/journal/apseregin/44312-nablyudeniya-po-flore-rossii-bez-daty-flora-of-russia-undated-backlog
  2. С помощью поиска (Ctrl+F) найдите в списке из пункта 1 свой ник (там все участники, т.е. 316+777 - обязательно поищите себя!) и, заходя в каждое наблюдение, добавьте дату съемки.

Чемпионы по числу наблюдений без даты:

@nasty_5090y (133 набл.)
@uliana2002 (117 набл.)
@kusaymanov (101 набл.)
@alena757575 (98 набл.)
@danebury216 (79 набл.)
@naturalist35111 (73 набл.)
@naturalist42377 (71 набл.)
@maria_shvets_ (66 набл.)
@elizaveta_sheripova (65 набл.)
@naturalist20971 (57 набл.)
@sasha2006 (54 набл.)
@naturalist26231 (52 набл.)
@savouriess (51 набл.)
@julialamzina2001 (50 набл.)
@andreybarca83mailru (42 набл.)
@oleg_kan (42 набл.)
@naturalist30792 (37 набл.)
@polinlli (37 набл.)
@evgenyi_eg (35 набл.)
@yanita13 (35 набл.)
@katevergun2000 (32 набл.)
@artem_milkov (31 набл.)
@braza911 (31 набл.)
@somova_ksenia (30 набл.)
@naturalist14385 (29 набл.)
@nitaz (29 набл.)
@bubblegumbeach (28 набл.)
@smirnova_sonya (28 набл.)
@svg52 (27 набл.)
@tea_2000 (27 набл.)
@mihail13 (26 набл.)
@mark_khokhlov2005 (25 набл.)
@afanasyeva (24 набл.)
@alenaalex00 (24 набл.)
@babenko_anna (23 набл.)
@a_tachukova (22 набл.)
@helen0409199732 (22 набл.)
@olgabobkovafoto (22 набл.)
@valeron_2020 (22 набл.)
@alkrylova (21 набл.)
@vladimirpenzyak (21 набл.)
@ilona2003_ (19 набл.)
@linbarett (19 набл.)
@valentina999 (19 набл.)
@anastasiabykova (18 набл.)
@anastasiakleimenova (18 набл.)
@beetlejuice1988 (18 набл.)
@dariavoropaeva (18 набл.)
@lera25 (18 набл.)
@white5 (18 набл.)
@hobbirk (17 набл.)
@lej1976 (17 набл.)
@alinazaripova (16 набл.)
@prohor (16 набл.)
@serafim_2005 (16 набл.)
@naturalist29626paterikina (15 набл.)
@naturalist29853 (15 набл.)
@naturalist6799 (15 набл.)
@ana_lu (14 набл.)
@daria_kozhemyaka (14 набл.)
@zlatat (14 набл.)
@anastasia_hovanskaya (13 набл.)
@darya_matyushchenko (13 набл.)
@globulin (13 набл.)
@selimyalchi (13 набл.)
@sychanova (13 набл.)
@yadrishnikov (13 набл.)
@alenakondratenko (12 набл.)
@anastasiyafad (12 набл.)
@eugene_fruslov (12 набл.)
@katringreen (12 набл.)
@madridist87 (12 набл.)
@o_hanami (12 набл.)
@toma_tsarkova_04113_biology (12 набл.)
@vyacheslavluzanov (12 набл.)
@borovkova_masha (11 набл.)
@dasha32 (11 набл.)
@gosha_vasab666_ (11 набл.)
@mashakolupaeva (11 набл.)
@naturalist13646 (11 набл.)
@naturalist16000 (11 набл.)
@naturalist42511 (11 набл.)
@olga_mezhenina (11 набл.)
@petrov_david (11 набл.)
@scientist777 (11 набл.)
@tatyana20 (11 набл.)
@temartret (11 набл.)
@general_sherman (10 набл.)
@marinaprudnikova2001 (10 набл.)
@natashamarch (10 набл.)
@naturalist16742 (10 набл.)
@stepovoiks (10 набл.)
@vladikaladik228 (10 набл.)
@alex-fs-matova (9 набл.)
@alisonmegogood (9 набл.)
@dariafedorchuk (9 набл.)
@lenavers (9 набл.)
@margaruta (9 набл.)
@nastya-koshmanova (9 набл.)
@naturalist35525 (9 набл.)
@naturalistnatalie (9 набл.)
@olgabemakova1 (9 набл.)
@shalopai (9 набл.)
@shaybin_daniel (9 набл.)
@yana_bogunova_2000 (9 набл.)
@anastasiagorbacheva (8 набл.)
@antifeya (8 набл.)
@ayana_burunova (8 набл.)
@balandino2016 (8 набл.)
@julia_11_11 (8 набл.)
@julia64i2iwi (8 набл.)
@kasyanova (8 набл.)
@mkulyashov (8 набл.)
@my_sea (8 набл.)
@naturalist30500 (8 набл.)
@naturalist37196 (8 набл.)
@naturalist39099 (8 набл.)
@naturalist41466 (8 набл.)
@naturalist43362 (8 набл.)
@naturalist47737 (8 набл.)
@prodius (8 набл.)
@valeriyagolub5 (8 набл.)
@viktoria_allison_0907 (8 набл.)
@yulia_kudryavtseva (8 набл.)
@albina_sulaeva (7 набл.)
@angelika_27 (7 набл.)
@ann_friesen (7 набл.)
@dashared (7 набл.)
@erili (7 набл.)
@ikskyrskobl (7 набл.)
@ilya_bogachyov (7 набл.)
@maribi (7 набл.)
@mariyahan_l (7 набл.)
@naturalist25073 (7 набл.)
@naturalist41296 (7 набл.)
@pecherskayaelizaveta (7 набл.)
@raijinthunderkeg (7 набл.)
@sashalskn (7 набл.)
@sazhnev (7 набл.)
@aleksey33 (6 набл.)
@alexanderka (6 набл.)
@alicekim (6 набл.)
@antoninacool (6 набл.)
@apollotd (6 набл.)
@denny (6 набл.)
@dinaabdullina (6 набл.)
@ekopeina (6 набл.)
@eleanorpate (6 набл.)
@elenakh (6 набл.)
@infovarius (6 набл.)
@iuliiagalich (6 набл.)
@ivanaksenov (6 набл.)
@marchenkov-i-i (6 набл.)
@marinavs (6 набл.)
@mityakov (6 набл.)
@naturalist16537 (6 набл.)
@naturalist6380 (6 набл.)
@nightrayn (6 набл.)
@no_wheat_sky (6 набл.)
@olgaaseeva (6 набл.)
@olgakrokhina (6 набл.)
@rada_kamalova (6 набл.)
@ranchich_mila (6 набл.)
@sapportnastasia (6 набл.)
@urij777 (6 набл.)
@alyona4 (5 набл.)
@annashcheglova13 (5 набл.)
@apple003 (5 набл.)
@artem2013 (5 набл.)
@daria_hedonist (5 набл.)
@ekaterina200164 (5 набл.)
@ekmishustina (5 набл.)
@elside (5 набл.)
@ever_presenter (5 набл.)
@irinairinina (5 набл.)
@kappagawa (5 набл.)
@kebeideshiqing (5 набл.)
@larasaparbaeva (5 набл.)
@lepusqu (5 набл.)
@mama_i_emma (5 набл.)
@mariiapiachitc (5 набл.)
@marina1214176 (5 набл.)
@marinakhanduyk (5 набл.)
@mazyak (5 набл.)
@melkotof (5 набл.)
@miregirl (5 набл.)
@mulya (5 набл.)
@natali_koptelova (5 набл.)
@naturalist39104 (5 набл.)
@polina_vanchina (5 набл.)
@polinagrigorova1 (5 набл.)
@raya_z (5 набл.)
@southern_sun (5 набл.)
@taria (5 набл.)
@valeriq (5 набл.)
@alena_golovchenko (4 набл.)
@alena_lukovnikova (4 набл.)
@allen-mikrukova (4 набл.)
@anastezia171717 (4 набл.)
@andreymargolis (4 набл.)
@anna_kartasheva (4 набл.)
@anna_zhavoronkova (4 набл.)
@annayalisheva (4 набл.)
@asaantonova (4 набл.)
@bard_the_zombie (4 набл.)
@borisbolshakov (4 набл.)
@dingonol (4 набл.)
@disertinsky (4 набл.)
@e23aleksin (4 набл.)
@geneseq (4 набл.)
@georgiybur (4 набл.)
@ilya2000 (4 набл.)
@karinacute (4 набл.)
@kompot (4 набл.)
@maltseva_tanya (4 набл.)
@maria_aks (4 набл.)
@marryweather (4 набл.)
@mrttv (4 набл.)
@natta_r (4 набл.)
@naturalist27389 (4 набл.)
@naturalist27541 (4 набл.)
@naturalist36317 (4 набл.)
@naturalist36715 (4 набл.)
@naturalist39539 (4 набл.)
@naturalist4631 (4 набл.)
@naturalist47109 (4 набл.)
@ntpv (4 набл.)
@olgavaluyskikh (4 набл.)
@sershey (4 набл.)
@soltissolution (4 набл.)
@tanniii66 (4 набл.)
@tatyanapopova (4 набл.)
@tprozorova (4 набл.)
@v199rus (4 набл.)
@vanillane (4 набл.)
@verba (4 набл.)
@alexeisutkin (3 набл.)
@allashcherbakova (3 набл.)
@aneleanverelav (3 набл.)
@argenteya-hionia (3 набл.)
@axeb (3 набл.)
@azateinik (3 набл.)
@azerkalo1 (3 набл.)
@bj0rn (3 набл.)
@burdovitsynakatya (3 набл.)
@darja2301 (3 набл.)
@denis_ivanov (3 набл.)
@deniszhbir (3 набл.)
@dmitriy_sav (3 набл.)
@drstrenge (3 набл.)
@evangelina-alekseeva_41 (3 набл.)
@faizullina_bsu (3 набл.)
@fedascheva (3 набл.)
@irina1603 (3 набл.)
@jenykon (3 набл.)
@julujka (3 набл.)
@katay_nos (3 набл.)
@kitkukku (3 набл.)
@kudinova_ek (3 набл.)
@legotinus (3 набл.)
@lerun_03 (3 набл.)
@lifeofanimals (3 набл.)
@lilia_ger (3 набл.)
@lilijasultangareeva (3 набл.)
@lonlyfish (3 набл.)
@lydiasem (3 набл.)
@maksimshmakov (3 набл.)
@marinabudyanskaya (3 набл.)
@martin_skrim (3 набл.)
@maryimita (3 набл.)
@matushkin (3 набл.)
@menyalov (3 набл.)
@mike_a_kulik (3 набл.)
@molchanov (3 набл.)
@nastyadurman (3 набл.)
@naturalist13700 (3 набл.)
@naturalist15199 (3 набл.)
@naturalist29771 (3 набл.)
@naturalist35200 (3 набл.)
@naturalist36592 (3 набл.)
@naturalist37487 (3 набл.)
@naturalist38894 (3 набл.)
@naturalist38913 (3 набл.)
@naturalist40862 (3 набл.)
@naturalist43554 (3 набл.)
@naturalist44254 (3 набл.)
@naturalist46803 (3 набл.)
@naturalist47000 (3 набл.)
@naturalist47540 (3 набл.)
@naturalist7664 (3 набл.)
@olegvah (3 набл.)
@pavel100 (3 набл.)
@plizirim (3 набл.)
@ruben1488 (3 набл.)
@sabrinaaaa (3 набл.)
@sansan_94 (3 набл.)
@sergey15117 (3 набл.)
@seriogor (3 набл.)
@sevaskras (3 набл.)
@shaura_nastua (3 набл.)
@sibirbio (3 набл.)
@sofya_priezzhih (3 набл.)
@spichacova (3 набл.)
@stsenator (3 набл.)
@sunsetlifee (3 набл.)
@tanina_biologia (3 набл.)
@tbsilaeva (3 набл.)
@upanov49 (3 набл.)
@valyakolyvanova (3 набл.)
@veronika_f (3 набл.)
@veronika_krasnobaeva (3 набл.)
@vicia (3 набл.)
@vikanderzhavina (3 набл.)
@vikaryabkova (3 набл.)
@yanchachot (3 набл.)
@zvuk (3 набл.)

Posted on November 28, 2020 09:36 AM by apseregin apseregin

Comments

Сделано. +3 к "карме".)))

Posted by denis_ivanov over 3 years ago

@apseregin, это конечно не про дату, а про точность, но в поисковом запросе можно задать параметр acc_above (в метрах) и получить наблюдения, у которых точность хуже чем указанный параметр. Если у нас стоит ограничение в 50 км, то можно добавить в поиск параметр acc_above=50000 и получить список "кривых" наблюдений (по ссылке как раз 97 наблюдений, входящих в флору России и "needs-id", с точностью хуже 50 км).

Posted by kildor over 3 years ago

@kildor, Костя, спасибо за науку!

Posted by apseregin over 3 years ago

Свои 4 спасла! Буду внимательнее на будущее! )))

Posted by tanniii66 over 3 years ago

выудила парочку наблюдений по региону +2

Posted by katerina_kashirina over 3 years ago

А насколько большое значение имеет точность времени? Раньше я много лет не обращал на это внимание и "для удобства" не менял время на местное при поездках. В результате иногда получалось, что где-то я снимал что-то до восхода или после заката. Если сбивалась и дата, то при запащивании я ее менял, а время убирал. Если дата правильная, то я не трогал. Исправить везде малореально, так как "архив", за давностью лет, очень дробный, фотографии обрабатывались к разным поводам и собираются по разным датам из разных углов.

Но и зание о проблеме не слишком-то помогает. В этом году я, уже во всеоружии инатуралиста, благодаря совету и помощи @alzov, синхронилировал фотографии с GPS треком в Lightroom. На Дальнем Востоке выставил на камерах и навигаторе точное местное время. Однако, как выяснилось, навигатор пишет время по гринвичу, а поправку если и указывает, то где-то в шапке, а при синхронизации Lightroom ориентируется на время, выставленное на компьютере, а его я не менял. В Lightroom это можно скомпенсировать, и в результате у меня на наблюдениях указано точное время. Но в данных написано UTC+4), как если бы оно было новосибирским, а не дальневосточным (UTC+7). То есть надо было не поправку времени делать, а ноут переводить в дальневосточное время. Но я заметил это когда уже обработал примерно треть - и плюнул. Когда же я попробовал отредактировать время с учетмо правильного пояса, то вылезло еще что-то, но я, к сожалению (к счасттью) забыл.

Но и это не все. В режимtх edit observations (у меня настроен английский, это список с картой справа и сёчем) все воде ОК (как и в самих наблюдениях, что важнее всего). В режиме, your observations ( где либо карта, либо плитка, либо список без карты справа и сёча) во-первых, время добавления наблюдения показывается правильно, но приписывается той временной зоне, где оно сделано (если я снял в Иране и временная зона была выставлена иранская, то и время добавления отображается как иранское, а не новосибирское, хотя добавлял я в Новосибирске). (В режиме edit observations) все правильно. Во вторых, если наблюдение сделано в Новосибирской области, в режиме view observations оба времени (съемки и добавления) сдвинуты на час раньше, а в режиме edit observations все правильно. С очевидностью, первый режим не знает, что 24 июля 2016 г. нас перевели на час позже, а второй знает. Я даже bug report написал
https://forum.inaturalist.org/t/two-bugs-referring-time-in-search-results-observation-lists/16489, но воз и ныне там.

Может ну его, это время, не стоит заморачиваться?

Posted by oleg_kosterin over 3 years ago

Короткий ответ: точность времени как критерий минусования фотографий никем никогда не использовался. Действительно, со временем связан целый ряд баг. Кроме описанных вами, я бы добавил то, что время съёмки привязана к дате съёмки, а время загрузки - стандартное (не разобрался, то ли Гринвич, то ли Гринвич+12). Из-за этого статистика загрузки за день иногда необъяснимо проседает

Posted by apseregin over 3 years ago

На время то в большинстве случаев пофиг. Оно важно только если это зависящие от времени растения (например на ночь закрывающие цветки) или если это животные.
Дата плюс минус день, на мой взгляд играет ещё меньше значение, если речь идёт о часовых поясах, а не о самостоятельном проставлении.

Posted by yurii_basov over 3 years ago

А можно ли, кстати, как-то удалять дату из exif-файлов? А то у меня в архиве в какие-то годы она была сбита на аппарате нафиг, и он писал там ерунду. Я при загрузке сюда такое правил, но получается, что у некоторых картинок ручками проставлена одна дата, отражающаяся при наблюдении, а вот техникой, если залезть вглубь – совсем другая. Кого-то это может однажды удивить...

Posted by prokhozhyj over 3 years ago

Как я убедился, фотографии из iNaturalista скачивются при полном сохранении размера и качества (только в 94, а не 72 dpi), но без EXIF. Таким образом данные, указаные в наблюдении, полностью мажорируют данные внутри фотографии. Поэтому не удивит.

Posted by oleg_kosterin over 3 years ago

Ну, сам exif исходной фотографии в базе хранится, при этом аккуратно разобранный по полям.

@kildor, Костя, с помощью api можно добывать метаданные вот с таких страниц: https://www.inaturalist.org/photos/105973745 ?

Posted by apseregin over 3 years ago

Есть программы редактирования exif. Они тут как-то обсуждались, но я ими не пользуюсь

Posted by apseregin over 3 years ago

@oleg_kosterin , сохраняется в информации о фото (клик на "i" на картинке), и, более того, потом переползает в тот же GBIF, где дата наблюдения оказывается одна, а дата под фото ("created") другая. См., например, https://www.gbif.org/occurrence/2873831942 / .

Posted by prokhozhyj over 3 years ago

Нет, нельзя, нет в апи таких методов.

Posted by kildor over 3 years ago

Мой сын тоже накосячил оказывается) Исправили 6 штук

Posted by kiramarch over 3 years ago

Время, а точнее таймзоны и календарь, это пожалуй самая большая сложность в программировании. Всегда есть как минимум три часовых пояса (автор, сервер, клиент), а в случае с фотографиями -- ещё и четвёртый (техника), а может и пятый (реальное время). Многие стандарты и программы создавались без учёта таймзон. Плюс декретное время, плюс пинг-понг часовыми поясами, в итоге уже пары-тройки лет достаточно для того, чтоб полностью потерять понимание того, сколько же действительно было времени, когда была снята фотография.
Поэтому боюсь что говорить об точности времени невозможно в принципе.

Posted by kildor over 3 years ago

Кстати, время iNat позволяет убирать вообще. Даты ему достаточно.

Posted by prokhozhyj over 3 years ago

Удалить дату и время из всех фото с расширением $filextention в папке $directory
exiftool -ext filextention -GPSDateStamp= -GPSTimeStamp= -ModifyDate= -CreateDate= -DateTimeOriginal= directory/

https://exiftool.org/

пример скрипта под линукс удаляющего все теги с датой (сохранить в файл, убрать ` в начале строки, скопировать script.sh в папку с фото, запустить скрипт)

'#!/bin/sh
'filextention='jpg'
'SCR_DIR=$(cd -P -- "$(dirname -- "$0")" && pwd -P)
'exiftool -ext $filextention -GPSDateStamp= -GPSTimeStamp= -ModifyDate= -CreateDate= -DateTimeOriginal= $SCR_DIR/
'exit0

скрипт с комментариями и вариантами:
https://yadi.sk/d/96Z86FLjs7TjPw

date tag names as viewed under
gimp - image - metadata- view
vs exiftool tag names :
No, Name, Tag, exiftool tag name
1, Exif.GPSinfo.GPSDateStamp, 0x001d, GPSDateStamp
2, Exif.GPSinfo.GPSTimeStamp, 0x0007, GPSTimeStamp
3, Exif.Image.DateTime, 0x0132, modifydate
4, Exif.Photo.DateTime.Digitized, 0x9004, createdate

5, Exif.Photo.DateTime.Original, 0x9003, DateTimeOriginal
справка
https://exiftool.org/exiftool_pod.html#Reading
https://exiftool.org/TagNames/EXIF.html

Posted by pratvmvmbrosvm over 3 years ago

спас одно наблюдение

Posted by pavel_golyakov over 3 years ago

Исправила у трех

Posted by vikaryabkova over 3 years ago

+1 моё,
видимо, не прогрузилась дата

Posted by tatyanazarubo over 3 years ago

Спас свои три штучки

Posted by sansan_94 about 3 years ago

пофиксила все свои 10 штук, спасибо!

Posted by natashamarch about 3 years ago

Add a Comment

Sign In or Sign Up to add comments