python遥感影像按行列号批量刺点
时间: 2023-10-13 16:04:58 浏览: 79
以下是使用Python批量刺点的示例代码:
```python
import os
import arcpy
# 设置工作空间和输入数据
arcpy.env.workspace = r"C:\data"
input_raster = "landsat.tif"
output_feature_class = "points.shp"
# 获取栅格数据的行列数
desc = arcpy.Describe(input_raster)
rows = desc.height
cols = desc.width
# 循环遍历每个像素并刺点
point_list = []
for row in range(rows):
for col in range(cols):
# 获取像素值
result = arcpy.GetCellValue_management(input_raster, str(col) + " " + str(row))
value = result.getOutput(0)
# 如果像素值大于0,则将其作为一个点添加到点列表中
if float(value) > 0:
point = arcpy.Point(col, row)
point_list.append(point)
# 将点列表转换为要素类
arcpy.CopyFeatures_management(point_list, output_feature_class)
```
这段代码将遍历输入栅格数据的每个像素,并将像素值大于0的像素转换为点要素。输出将是一个点要素类,其中包含了所有符合条件的像素的位置信息。注意,此代码仅适用于单波段影像。如果您想要处理多波段影像,请使用适当的波段组合来获取像素值。
阅读全文