欢迎访问宙启技术站
智能推送

通过ogrOFTInteger()函数在Python中生成随机整数字段

发布时间:2023-12-23 04:59:04

在Python中,可以使用函数random.randint(a, b)来生成指定范围内的随机整数。要将随机整数添加到一个字段中,可以使用Python的开源库ogr

首先,我们需要使用ogr库中的ogr.Geometry来创建一个几何对象,然后使用ogr库中的ogr.FieldDefn来定义一个整数字段。接下来,我们可以使用ogr.OFTInteger将整数字段应用到几何对象中。

以下是一个示例代码:

import ogr
import random

# 创建一个内存数据源
driver = ogr.GetDriverByName('Memory')
dataSource = driver.CreateDataSource('')

# 创建一个图层
layer = dataSource.CreateLayer('random_int', geom_type=ogr.wkbPoint)

# 定义一个整数字段
fieldDefn = ogr.FieldDefn('random_number', ogr.OFTInteger)
layer.CreateField(fieldDefn)

# 创建几何对象,设置字段值为随机整数
for i in range(10):
    feature = ogr.Feature(layer.GetLayerDefn())
    feature.SetGeometry(ogr.Geometry(ogr.wkbPoint))
    feature.SetField('random_number', random.randint(1, 100))
    layer.CreateFeature(feature)

# 保存数据源到磁盘
dataSource = None

上述代码中,我们首先使用ogr.GetDriverByName('Memory')创建了一个内存数据源,并使用driver.CreateDataSource('')创建了一个空的数据源。然后,我们使用dataSource.CreateLayer('random_int', geom_type=ogr.wkbPoint)创建了一个名为'random_int'的图层,并指定了图层的几何类型为点。

接下来,我们使用ogr.FieldDefn('random_number', ogr.OFTInteger)定义了一个名为'random_number'的整数字段,并使用layer.CreateField(fieldDefn)将该字段添加到图层中。

然后,我们使用一个循环生成了10个几何对象,设置其字段值为1到100范围内的随机整数,并使用layer.CreateFeature(feature)将几何对象添加到图层中。

最后,我们使用dataSource = None将数据源保存到磁盘中。

通过以上代码,我们成功创建了一个名为'random_int'的图层,其中包含10个随机整数字段值的几何对象。