有没有办法在QGIS中的字段中存储日期和时间信息?

时间:2016-01-11 01:41:22

标签: python-2.7 gis gdal qgis ogr

我有这种格式的一堆输入值:

2014-05-14 17:42:18

我想将它们存储在QGIS的一个字段中。我正在使用Python API for GDAL / OGR。我注意到QGIS支持字段类型“QDate”,但它似乎只能处理没有时间的日期,因此:

2014年5月14日

我只是想知道是否有办法解决这个问题,还是我将时间戳存储为字符串?

1 个答案:

答案 0 :(得分:3)

我想python OGR API有一种定义日期时间字段并在其中存储数据的方法(在OFRFieldType enum中定义。)你必须使用OFTDateTime(或OFTDate或者由OGR定义的OFTTime)类型。

所以你可以这样做:

date_field = ogr.FieldDefn("date", ogr.OFTDateTime)
your_layer.CreateField(date_field)

然后您可以通过将日期作为字符串传递来设置要素的值:

feature = ogr.Feature(your_layer.GetLayerDefn())
feature.SetField("date", "2014-05-14 17:42:18")

结果可能取决于您的输出数据结构(如果它定义/支持日期时间类型)以及您用来显示它们的桌面GIS软件。

编辑:但是我测试了这样的shapefile,然后在QGIS中打开它; date 字段已被正确识别为QDate字段,正如您所说,时间未显示所以我查看了.dbf文件和时间 part似乎没有被写出来。