Un problème avec Temporal, faut-il le classer comme un bug?

Nov 25 2020

J'ai déjà utilisé Temporal pour des animations sans problème, mais quand j'ai essayé une nouvelle animation aujourd'hui avec "Champ unique avec date / heure", l'entrée ci-dessous n'affichait pas de flèche vers le bas pour sélectionner le champ, un double clic gauche et droite ne faisait aucune différence.
. Une animation qui fonctionnait précédemment a cessé de fonctionner et présente le même comportement lorsque temporel est sélectionné.

Le fichier en question avait différentes colonnes pour la date et l'heure. J'ai donc modifié le fichier pour avoir d'abord une colonne de date uniquement et ensuite une colonne de date / heure fusionnée. Exactement le même résultat, c'est-à-dire que la flèche de sélection de champ n'a eu aucun effet. redémarrer QGIS entre chaque tentative. Je soupçonne que QGIS temporel est devenu corrompu et devra recharger QGIS.

Malheureusement, ce n'est pas la réponse que j'ai supprimé / réinstallé QGIS, mais le problème temporel d'origine demeure. Des idées? La seule façon dont ce problème pourrait survenir est que Temporal a été modifié sur les lignes de if field type not Date then ignorece qui expliquerait pourquoi une animation précédemment fonctionnant a échoué.

J'ai essayé le calculateur de champ mais le "champ de mise à jour" est grisé.

Les seules données requises pour une animation sont lat, lon & date (ou date / heure) les autres champs ne sont pas obligatoires. La solution consiste donc à utiliser un simple fichier csv en conjonction avec un fichier csvt.

Réponses

1 babel Nov 26 2020 at 21:35

Le problème est que QGIS ne reconnaît pas les dates si elles sont stockées dans un champ formaté sous forme de chaîne. Dans ce cas, QGIS temporel n'est pas capable de reconnaître un champ de données de type date et par conséquent, vous ne pouvez rien sélectionner. Cela explique le comportement dans votre cas ce qui est juste comme prévu dans ce cas. Il semble que votre date ait été convertie en une chaîne de type de champ lorsque vous l'avez importée. Consultez le blog d'Anita Graser pour une solution:https://anitagraser.com/2011/03/07/how-to-specify-data-types-of-csv-columns-for-use-in-qgis/

Mais vous n'êtes pas obligé de tout réimporter. Vous pouvez convertir le champ de date existant en créant un nouveau champ à l'aide de la calculatrice de champ et en convertissant la chaîne en type de date. Utilisez to_dateou to_datetimeexpressions. Pour des conseils plus détaillés, veuillez inclure un échantillon (même s'il s'agit d'une capture d'écran) de votre champ de date.


Mettre à jour: charger des données

J'ai téléchargé trois fichiers afin que vous ne puissiez pas tester si tout fonctionne comme il le fait sur ma machine: data.csv- les exemples de données que vous avez fournis sous forme de texte délimité. data.gpkg- le même converti en un Geopackage. temporal_test.qgz - un projet de test avec ces deux fichiers comme couches et le paramètre temporel activé pour la couche csv. Vous trouvez les données ici:https://drive.switch.ch/index.php/s/EE58pZKVfGKm8Ei

Alors, veuillez essayer toutes les étapes suivantes qui fonctionnent pour vous:

J'ai copié les 4 premières lignes des données que vous avez fournies dans votre capture d'écran dans une feuille exel et je l'ai sauvegardée au format csv utf-8 codé. J'ai importé ce fichier dans QGIS 3.16.0 sur Win 10; Data Source Manager / Add Delimited Text Layeret activé Detect field types- voir capture d'écran:

Que j'ai accédé Layer Properties / Tab Temporal. Là, je pourrais facilement sélectionner le Datechamp qui contient l'horodatage. Je n'ai pas rencontré le problème que vous décrivez:

Le champ Date de la couche de points csv importée est clairement reconnu comme étant de type date sans aucune modification manuelle: