Python gdal 建立缓冲区
时间: 2024-05-27 08:07:05 浏览: 216
创建缓冲区
在 Python 中,可以使用 GDAL 库来建立缓冲区。以下是建立缓冲区的基本步骤:
1. 加载需要处理的矢量数据和其对应的投影信息。
2. 为矢量数据创建缓冲区,并设置缓冲区的大小和类型。
3. 将缓冲区写入到输出文件中。
下面是一个简单的 Python 代码示例,用于建立缓冲区:
```
from osgeo import ogr
# 加载需要处理的矢量数据
input_file = "input.shp"
driver = ogr.GetDriverByName("ESRI Shapefile")
dataSource = driver.Open(input_file, 0)
layer = dataSource.GetLayer()
# 获取投影信息
spatialRef = layer.GetSpatialRef()
# 创建缓冲区
buffer_distance = 1000 # 缓冲区大小
buffer_fn = "output.shp" # 缓冲区输出文件
buffer_ds = driver.CreateDataSource(buffer_fn)
buffer_layer = buffer_ds.CreateLayer("buffer", spatialRef, ogr.wkbPolygon)
featureDefn = buffer_layer.GetLayerDefn()
buffer_layer.CreateField(ogr.FieldDefn("id", ogr.OFTInteger))
buffer_layer_defn = buffer_layer.GetLayerDefn()
buffer_feature = ogr.Feature(buffer_layer_defn)
for feature in layer:
geom = feature.GetGeometryRef()
buffer_geom = geom.Buffer(buffer_distance)
buffer_feature.SetGeometry(buffer_geom)
buffer_feature.SetField("id", feature.GetField("id"))
buffer_layer.CreateFeature(buffer_feature)
buffer_ds.Destroy()
dataSource.Destroy()
print("缓冲区创建成功!")
```
阅读全文