Formattazione delle date nelle etichette QGIS


9

Vorrei visualizzare un campo data come un'etichetta. I dati provengono da un file di forma. Il campo in questione è un campo data.

Quando utilizzo il campo data per l'etichetta, questo viene visualizzato nel formato aaaa / mm / gg. Vorrei farlo nel formato gg / mm / aaaa.

È possibile. So che in MapInfo avrei usato la funzione FormatDate, mi chiedevo se esistesse qualcosa di simile in QGIS.

Risposte:


7

Aggiornamento: le espressioni ora supportano la formattazione della data, ad esempio

format_date('2012-05-15','dd.MM.yyyy') → '15.05.2012'

Attualmente sono in corso lavori relativi all'etichettatura basata sulle espressioni: http://hub.qgis.org/issues/3488 .

Per ora, puoi utilizzare Field Calculator per convertire la tua stringa datetime in un formato diverso, ad esempio AAAA / MM / GG in GG.MM.AAAA in questo modo:

substr(date,8,2)||'.'||substr(date,5,2)||'.'||substr(date,0,4)

La sintassi del sottostringa è:

substr(string,startpos,length)

3

Se riesci ad aprire il file shape.dbf nel tuo editor di fogli di calcolo preferito:

  • Crea una nuova colonna, chiamala temp_date.
  • Copia e aggiungi i vecchi dati della data a temp_date
  • Dividi quella colonna usando la text to datafunzione per carattere \o qualunque sia il tuo divisore di date
  • Riorganizza le colonne nell'ordine desiderato
  • Crea una nuova colonna new_date
  • In new_date usa la seguente formula =A1 & "/" & B1 & "/" & C1. Ovviamente devi usare i campi appropriati e non quelli che ho citato.

Ovviamente potrebbe esserci un modo predefinito per QGis di gestire i formati di data, ma non l'ho visto. Forse, gioca con il calcolatore di campo se questo aiuta a tutti

Sono sicuro che c'è un'opzione per farlo usando la console qgis python, non sospetto che questo sarà un grosso problema o usando i moduli data / ora o solo un generico str.replace o un'espressione reg. Non sono un versetto con l'API, quindi non posso farci niente


1
Non è una buona idea modificare dbf al di fuori di un programma GIS perché il campo ObjectID non verrà trasferito in Excel. forums.esri.com/Thread.asp?c=93&f=987&t=302104
artwork21

@ artwork21 - Grazie, eliminerò la mia risposta a breve.
Dassouki,

3
Il thread a cui fa riferimento @ artwork21 documenta un errore utente fondamentale: quando si ordina il dbf, si distrugge la connessione tra esso e le funzionalità. (OID è un'aringa rossa completa; non viene utilizzato nella struttura dello shapefile.) Se non inserisci righe, elimini righe o riordini righe quando modifichi il file .dbf, starai bene. Valuta di riaprire la tua risposta alla luce di ciò.
whuber
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.