Форматування дат у мітках QGIS


9

Я хотів би відобразити поле дати як мітку. Дані - з файлу форми. Поле, про яке йдеться, - це поле дати.

Коли я використовую поле дати для етикетки, воно відображається у форматі yyyy / mm / dd Я хотів би отримати його у форматі dd / mm / yyyy.

Чи можливо це Я знаю, що в MapInfo я би використовував функцію FormatDate, і мені цікаво, чи існує щось подібне в QGIS.

Відповіді:


7

Оновлення: Вираз тепер підтримує форматування дати, наприклад

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

В даний час триває робота, пов’язана з "маркування на основі вираження": http://hub.qgis.org/isissue/3488 .

Наразі ви можете використовувати Field Calculator для перетворення рядка своєї дати в інший формат, наприклад, РРР / ММ / ДД в DD.MM.YYYY, як це:

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

Синтаксис підрядка:

substr(string,startpos,length)

3

Якщо ви можете відкрити файл shape.dbf в улюбленому редакторі електронних таблиць:

  • Створіть новий стовпець, зателефонуйте temp_date.
  • Скопіюйте та вставте старі дані дати для temp_date
  • Розділіть цей стовпець, використовуючи text to dataфункцію за символом \або залежно від того, що стане вашим роздільником дати
  • Реорганізуйте стовпці в потрібному порядку
  • Створіть новий стовпець new_date
  • У new_date використовуйте наступну формулу =A1 & "/" & B1 & "/" & C1. Звичайно, потрібно використовувати відповідні поля, а не ті, про які я згадував.

Звичайно, для QGis може бути спосіб за замовчуванням обробляти формати дати, але я цього не бачив. Можливо, пограйте з дотепним калькулятором поля, якщо це зовсім допоможе

Я впевнений, що є варіант зробити це за допомогою консолі qgis python, я не підозрюю, що це буде великою справою або з використанням модулів дати / часу, або просто загальним виразом str.replace або reg. Я не віршуюся з api, тому я не можу там допомогти


1
Недоцільно редагувати dbf поза GIS-програмою, оскільки поле ObjectID не переноситься на excel. forums.esri.com/Thread.asp?c=93&f=987&t=302104
artwork21

@ artwork21 - Дякую, незабаром я видалю свою відповідь.
dassouki

3
Нитка, на яку посилається @ artwork21, документує принципову помилку користувача: коли ви сортуєте dbf, ви руйнуєте зв’язок між ним та функціями. (OID - це повний червоний оселедець; він не використовується в структурі формфайлу.) Якщо ви не будете вставляти рядки, видаляти рядки чи впорядковувати рядки під час редагування .dbf-файлу, вам буде все в порядку. Подумайте про повторне відкриття своєї відповіді у світлі цього.
whuber
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.