def get_ogr_feature_attribute(attr, feature):
attr_name = attr.name
if not feature.IsFieldSet(attr_name):
return (True, None)
if attr.type == ogr.OFTInteger:
value = str(feature.GetFieldAsInteger(attr_name))
elif attr.type == ogr.OFTIntegerList:
value = repr(feature.GetFieldAsIntegerList(attr_name))
elif attr.type == ogr.OFTReal:
value = feature.GetFieldAsDouble(attr_name)
value = "%*.*f" % (attr.width, attr.precision, value)
elif attr.type == ogr.OFTRealList:
values = feature.GetFieldAsDoubleList(attr_name)
str_values = []
for value in values:
str_values.append("%*.*f" % (attr.width,
attr.precision, value))
value = repr(str_values)
elif attr.type == ogr.OFTString:
value = feature.GetFieldAsString(attr_name)
elif attr.type == ogr.OFTStringList:
value = repr(feature.GetFieldAsStringList(attr_name))
elif attr.type == ogr.OFTDate:
parts = feature.GetFieldAsDateTime(attr_name)
year,month,day,hour,minute,second,tzone = parts
value = "%d,%d,%d,%d" % (year,month,day,tzone)
elif attr.type == ogr.OFTTime:
parts = feature.GetFieldAsDateTime(attr_name)
year,month,day,hour,minute,second,tzone = parts
value = "%d,%d,%d,%d" % (hour,minute,second,tzone)
elif attr.type == ogr.OFTDateTime:
parts = feature.GetFieldAsDateTime(attr_name)
year,month,day,hour,minute,second,tzone = parts
value = "%d,%d,%d,%d,%d,%d,%d,%d" % (year,month,day,
hour,minute,
second,tzone)
else:
return (False, "Unsupported attribute type: " +
str(attr.type))
return (True, value)
#############################################################################
utils.py 文件源码
python
阅读 19
收藏 0
点赞 0
评论 0
评论列表
文章目录