前言
Python代码(ArcPy)
这段Python代码使用ArcPy模块进行GIS操作,具体来说是从指定目录下的多个栅格文件中提取点处的栅格值。
MATLAB代码
这段MATLAB代码从指定文件夹中读取shapefile文件,提取每个文件中名为RASTERVALU的列,并将数据保存为矩阵。
我们也可以直接逐一提取对应点的值,但是那样会比较慢,上面的方法会很快,而且省事。
简述
代码各部分的功能
导入模块:从ArcPy中导入必要的模块,用于GIS处理和空间分析。
设置环境工作空间:指定文件夹路径,其中包含所有的.tif栅格文件。
列出栅格文件:arcpy.ListRasters("*", "tif")获取指定文件夹中的所有.tif栅格文件。
定义点要素文件:inPointFeatures指定输入点要素文件的路径,该文件包含提取栅格值的位置。
遍历栅格文件:对rasterlist中的每个栅格文件进行处理:
通过栅格文件名定义输出的点要素文件路径。
检出Spatial Analyst扩展许可证以启用空间分析功能。
使用ExtractValuesToPoints函数提取每个栅格在指定点位置的值。
打印消息表示该栅格文件的提取已经完成。
整体目的
这段代码遍历指定目录下的所有.tif栅格文件,从Newpoints.shp文件中的点位置提取栅格值,并将每个输出保存为一个单独的shapefile。
二、代码实操
1.python
# 导入系统模块
import arcpy
from arcpy import env
from arcpy.sa import *
# 设置环境工作空间
arcpy.env.workspace = "E:/LHASADATA/"
# 列出工作空间中的所有.tif栅格文件
rasterlist = arcpy.ListRasters("*", "tif")
# 设置输入点要素
inPointFeatures = "E:/LHASADATA//Newpoints.shp"
# 遍历每一个栅格文件
for raster in rasterlist:
# 定义每个栅格的输出点要素路径,使用栅格文件名生成对应的输出文件名
outPointFeatures =