Problem z Temporalem, czy należy go zaklasyfikować jako błąd?

Nov 25 2020

Wcześniej używałem Temporal do animacji bez problemu, ale kiedy wypróbowałem dziś nową animację z „Pojedynczym polem z datą / godziną”, poniższe dane wejściowe nie pokazały strzałki w dół, aby wybrać pole, podwójne kliknięcie L i R nie robiło różnicy.
. Wcześniej działająca animacja przestała działać i pokazuje to samo zachowanie, gdy wybrana jest opcja temporalna.

Plik, o którym mowa, miał różne kolumny daty i godziny. Więc zmodyfikowałem plik, aby najpierw miał kolumnę tylko z datą, a następnie scaloną kolumnę daty / czasu. Dokładnie ten sam wynik, tj. Strzałka wyboru pola, nie przyniosła efektu. ponowne uruchamianie QGIS między każdą próbą. Podejrzewam, że QGIS temporal uległ uszkodzeniu i trzeba będzie ponownie załadować QGIS.

Niestety nie jest to odpowiedź, którą usunąłem / ponownie zainstalowałem QGIS, ale pierwotny problem Temporal pozostaje. Jakieś pomysły? Jedynym sposobem, w jaki ten problem może się pojawić, jest modyfikacja Temporala, if field type not Date then ignoreco wyjaśniałoby, dlaczego poprzednio działająca animacja zawiodła.

Wypróbowałem kalkulator pola, ale pole „Aktualizuj pole” jest wyszarzone.

Jedyne dane wymagane do animacji to długość, długość i data (lub data / godzina), pozostałe pola nie są wymagane. Rozwiązaniem jest więc użycie prostego pliku csv w połączeniu z plikiem csvt.

Odpowiedzi

1 babel Nov 26 2020 at 21:35

Problem polega na tym, że QGIS nie rozpoznaje dat, jeśli są one przechowywane w polu sformatowanym jako ciąg. W tym przypadku QGIS temporal nie jest w stanie rozpoznać pola danych typu data i dlatego nie możesz niczego wybrać. To wyjaśnia zachowanie w Twoim przypadku, czego można się spodziewać w tym przypadku. Wygląda na to, że Twoja data została przekonwertowana na ciąg typu pola podczas importowania. Zobacz blog Anity Graser, aby znaleźć rozwiązanie:https://anitagraser.com/2011/03/07/how-to-specify-data-types-of-csv-columns-for-use-in-qgis/

Ale nie musisz ponownie importować wszystkiego. Istniejące pole daty można przekonwertować, tworząc nowe pole za pomocą kalkulatora pól i konwertując ciąg na typ daty. Użycie to_datelub to_datetimewyrażenia. Aby uzyskać bardziej szczegółowe porady, dołącz próbkę (nawet jeśli zrzut ekranu) pola daty.


Aktualizacja: ładowanie danych

Przesłałem trzy pliki, żebyś nie mógł sprawdzić, czy wszystko działa tak, jak na moim komputerze: data.csv- przykładowe dane, które podałeś jako tekst rozdzielany. data.gpkg- to samo przekształcone w geopakiet. temporal_test.qgz - projekt testowy z obydwoma plikami jako warstwami i aktywowanym ustawieniem czasowym dla warstwy csv. Dane znajdziesz tutaj:https://drive.switch.ch/index.php/s/EE58pZKVfGKm8Ei

Dlatego spróbuj wykonać wszystkie poniższe kroki:

Skopiowałem pierwsze 4 wiersze danych podanych na zrzucie ekranu w arkuszu exel i zapisałem je jako zakodowane w formacie csv utf-8. Zaimportowałem ten plik do QGIS 3.16.0 na Win 10; Data Source Manager / Add Delimited Text Layeri aktywowane Detect field types- patrz zrzut ekranu:

Niż uzyskałem dostęp Layer Properties / Tab Temporal. Tam mogłem łatwo wybrać Datepole zawierające znacznik czasu. Nie napotkałem problemu, który opisujesz:

Pole Data zaimportowanej warstwy punktów CSV jest wyraźnie rozpoznawane jako należące do typu daty bez żadnych ręcznych zmian: