Ein Problem mit Temporal, sollte es als Fehler eingestuft werden?

Nov 25 2020

Ich habe Temporal zuvor problemlos für Animationen verwendet, aber als ich heute eine neue Animation mit "Einzelfeld mit Datum / Uhrzeit" ausprobierte, zeigte die Eingabe unten keinen Abwärtspfeil zur Auswahl des Felds. Ein doppeltes L & R-Klicken machte keinen Unterschied.
. Eine zuvor funktionierende Animation funktioniert nicht mehr und zeigt dasselbe Verhalten, wenn "Zeitlich" ausgewählt ist.

Die betreffende Datei hatte unterschiedliche Spalten für Datum und Uhrzeit. Daher habe ich die Datei so geändert, dass sie erstens nur eine Datumsspalte und zweitens eine zusammengeführte Datums- / Zeitspalte enthält. Genau das gleiche Ergebnis, dh der Feldauswahlpfeil, hatte keine Auswirkung. Neustart von QGIS zwischen jedem Versuch. Ich vermute, dass QGIS temporal beschädigt wurde und QGIS neu laden muss.

Leider ist dies nicht die Antwort, die ich QGIS entfernt / neu installiert habe, aber das ursprüngliche zeitliche Problem bleibt bestehen. Irgendwelche Ideen? Das einzige Problem, das auftreten kann, besteht darin, dass Temporal geändert wurde, um zu if field type not Date then ignoreerklären, warum eine zuvor funktionierende Animation fehlgeschlagen ist.

Ich habe den Feldrechner ausprobiert, aber das "Feld aktualisieren" ist ausgegraut.

Die einzigen Daten, die für eine Animation benötigt werden, sind lat, lon & date (oder Datum / Uhrzeit), die anderen Felder sind nicht erforderlich. Die Lösung besteht also darin, eine einfache CSV-Datei in Verbindung mit einer CSVT-Datei zu verwenden.

Antworten

1 babel Nov 26 2020 at 21:35

Das Problem ist, dass QGIS Datumsangaben nicht erkennt, wenn sie in einem als Zeichenfolge formatierten Feld gespeichert sind. In diesem Fall kann QGIS temporal kein Datumsfeld erkennen und Sie können daher nichts auswählen. Das erklärt das Verhalten in Ihrem Fall, was in diesem Fall genau wie erwartet ist. Es scheint, dass Ihr Datum beim Importieren in einen Zeichenfolgenfeldtyp konvertiert wurde. Eine Lösung finden Sie im Blog von Anita Graser:https://anitagraser.com/2011/03/07/how-to-specify-data-types-of-csv-columns-for-use-in-qgis/

Sie müssen jedoch nicht alles erneut importieren. Sie können das vorhandene Datumsfeld konvertieren, indem Sie mit dem Feldrechner ein neues Feld erstellen und die Zeichenfolge in den Datumstyp konvertieren. Verwendung to_dateoder to_datetimeAusdrücke. Für detailliertere Ratschläge fügen Sie bitte ein Beispiel (auch wenn Screenshot) Ihres Datumsfelds bei.


Update: Daten laden

Ich habe drei Dateien hochgeladen, damit Sie nicht testen können, ob alles so funktioniert wie auf meinem Computer: data.csv- die Beispieldaten, die Sie als begrenzten Text angegeben haben. data.gpkg- das gleiche in ein Geopaket umgewandelt. temporal_test.qgz - ein Testprojekt mit diesen beiden Dateien als Ebenen und aktivierter zeitlicher Einstellung für die CSV-Ebene. Die Daten finden Sie hier:https://drive.switch.ch/index.php/s/EE58pZKVfGKm8Ei

Versuchen Sie also bitte, alle folgenden Schritte für Sie auszuführen:

Ich habe die ersten 4 Zeilen der Daten, die Sie in Ihrem Screenshot angegeben haben, in ein Exel-Blatt kopiert und als csv utf-8-codiert gespeichert. Ich habe diese Datei unter Win 10 in QGIS 3.16.0 importiert. Data Source Manager / Add Delimited Text Layerund aktiviert Detect field types- siehe Screenshot:

Dann habe ich zugegriffen Layer Properties / Tab Temporal. Dort konnte ich leicht das DateFeld auswählen , das den Zeitstempel enthält. Ich bin auf das von Ihnen beschriebene Problem nicht gestoßen:

Das Datumsfeld der importierten CSV-Punktebene wird ohne manuelle Änderungen eindeutig als Datumstyp erkannt: