Pellicule / Tri DCIM

2

C’est une question qui revient sans cesse lorsque j’essaie de fusionner mes anciennes Rolls et la pellicule actuelle sur iOS11.

Ce que j'ai fait:

-Préparé les anciennes rouleaux de caméra pour l'importation (correctifs EXIF ​​pour les dates, en définissant la date de création / la même date)

-Nouvelle CR fusionnée avec des noms ajustés pour éviter les conflits

-Copié dans DCIM

-Nuked Photos.sqlite db

Comme prévu, Moments relève la date correcte (comme il se doit), mais la pellicule est bizarre.

Il semble que les fichiers sont triés par date, mais UNIQUEMENT par dossier. Par exemple. Les photos dans 100-111APPLE apparaissent triées par date prises par chaque dossier, mais globalement, elles ne le sont pas. Existe-t-il une raison pour laquelle le tri est appliqué par dossier?

En outre, pour une raison quelconque, 109APPLE est apparu à la toute fin du film - pourquoi est-ce possible?

Je parcourais la base de données Photos (wow, cela est devenu beaucoup plus compliqué depuis iOS 6), et je ne pouvais pas déduire l'ordre de tri dans la pellicule. Auparavant, la croyance générale était qu’elle soit triée par Date de création ou Date d’ajout, mais lorsque je trie la base de données selon ces paramètres, l’ordre des photos est différent de ce que je vois dans le rouleau.

Pour aggraver les choses, tout le tri (par dossier) ne semble pas correct, car j'ai au moins 2 photos du 12 janvier qui suivent le 12 avril, et ces 2 photos vont du 17 janvier au 16 janvier 2012. J'ai essayé de trier le dossier dans l'Explorateur en fonction de tous les attributs que Windows me donne et je ne pouvais pas reproduire cette commande. Donc ma question est, qu'est-ce qui se passe? Quelle est la clé primaire utilisée pour trier la base de données dans iOS 11?

P.S. Je sais que je peux exécuter manuellement une requête SQL pour copier ZDATECREATED vers ZDATEADDED, mais je veux comprendre ce qui se passe en premier lieu. Vous ne savez pas non plus quelle incidence les modifications manuelles apportées par SQL auraient sur les futures exportations vers iCloud Photo Library.
TLDR : le tri du film d'appareil photo iOS est étrange - par quel attribut est-il trié? Lorsque je trie la table SQL par ZDATEADDED, l'ordre n'est pas le même que sur le périphérique. Toutefois, si j'exécute une requête manuelle pour définir ZDATEADDED sur ZDATECREATED, il semble que le tri s'effectue par le timestamp mis à jour Date ajoutée / Date de création, ce qui lui donne l'aspect de ZDATEADDED. est En effet, la clé de tri primaire. Où iOS obtient-il même la date ajoutée (pas à partir du fichier / EXIF?), Et comment puis-je importer des photos dans le rouleau d'appareil photo en préservant / réglant la date d'ajout correcte?

Merci pour toute aide.

4004
la source

Réponses:

1

Exactement, la façon dont iOS génère ZDATEADDED semble dépendre de l'ordre d'indexation, et donc du nommage (corrigez-moi si je me trompe). Par conséquent, si vous souhaitez que la pellicule soit commandée correctement par données EXIF ​​/ fichier, vous devez renommer en bloc les fichiers triés au préalable, puis les importer. Merci iOS Photos.app pour être un tel plaisir

4004
la source