python代码使用gdal库:生成120个随机控制点,添加srtm和dsm两个浮点型字段,并保存于shp文件中
时间: 2024-05-12 22:13:43 浏览: 152
以下是使用gdal库生成120个随机控制点,添加srtm和dsm两个浮点型字段,并保存于shp文件中的Python代码示例:
```python
import ogr, osr, gdal
import random
# 生成随机控制点
pts = []
for i in range(120):
lon = random.uniform(-180.0, 180.0)
lat = random.uniform(-90.0, 90.0)
pts.append([lon, lat])
# 创建shp文件
driver = ogr.GetDriverByName('ESRI Shapefile')
ds = driver.CreateDataSource('points.shp')
layer = ds.CreateLayer('', None, ogr.wkbPoint)
layer.CreateField(ogr.FieldDefn('srtm', ogr.OFTReal))
layer.CreateField(ogr.FieldDefn('dsm', ogr.OFTReal))
# 添加随机控制点
for pt in pts:
feature = ogr.Feature(layer.GetLayerDefn())
point = ogr.Geometry(ogr.wkbPoint)
point.AddPoint(pt[0], pt[1])
feature.SetGeometry(point)
feature.SetField('srtm', random.uniform(0, 100))
feature.SetField('dsm', random.uniform(0, 100))
layer.CreateFeature(feature)
# 关闭数据源
ds = None
```
在这个示例中,我们使用了ogr库创建了一个名为`points.shp`的点矢量文件,然后添加了120个随机控制点,并分别为每个控制点添加了`srtm`和`dsm`两个浮点型属性字段。最后,我们关闭了数据源。
阅读全文