Mam warstwę z punktami, które reprezentują śmiertelne wypadki drogowe, a pole „daty_14_D” zawiera ich datę, ale jego typ to ciąg znaków. Chciałbym przekonwertować to pole ciągu na pole daty, ale przycisk OK jest nieaktywny. Jaki jest problem? Używam QGis. Spójrz na poniższe zdjęcie
10
Odpowiedzi:
Dziwię się, że nie widziałem tego wcześniej. Może przeoczyłem coś oczywistego :)
Chociaż używasz innej lokalizacji dla mnie, używasz tego samego formatu daty, co ja w Wielkiej Brytanii, dd / MM / rrrr. Otrzymuję nieco inny błąd (w QGIS 2.16.1), ale nie podoba mu się ten format daty.
Można to obejść, tworząc krótki skrypt python w zakładce edytora funkcji edytora wyrażeń.
Jeśli używasz QGIS 3. # i pojawia się błąd dotyczący PyQt4, zamiast tego użyj PyQt5, tzn. Zamień wiersz 3 na
Następnie możesz wprowadzić takie wyrażenie, używając nazwy pola: -
Jeśli wszystko jest w porządku, powinieneś zobaczyć coś takiego ...
źródło
Lub po prostu użyj:
Z MAJ jako polem daty (dd / MM / RRRR).
źródło
Aktualizacja QGIS 3 krystalicznie czystej odpowiedzi autorstwa @Steven Kay
Można to obejść, tworząc krótki skrypt python w zakładce edytora funkcji edytora wyrażeń.
Następnie możesz wprowadzić takie wyrażenie, używając nazwy pola: -
Jeśli wszystko jest w porządku, powinieneś zobaczyć coś takiego ...
źródło
Nie wiem, jak to było w 2016 roku, ale od QGIS 3.10 jest to zaimplementowane w dostępnych funkcjach QGIS w edytorze wyrażeń lub kalkulatorze polowym. Dokumentacja po prawej stronie (w oknie dialogowym obliczeń) daje rozwiązanie:
(białe znaki są opcjonalne) i naciśnij „OK”. Dostosuj „format” do obecnego w tabeli atrybutów. Na przykład, jeśli daty wyglądają mniej więcej tak
07.3.03
, właściwym formatem będziedd.M.yy
*. Zwróć uwagę na wielkie litery, ponieważ symbolm
oznacza „minuty” iM
„miesiące”.źródło