1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > 【Arcpy】批量处理遥感图像

【Arcpy】批量处理遥感图像

时间:2018-11-01 10:31:05

相关推荐

【Arcpy】批量处理遥感图像

循环读取影像,调用栅格计算器批量计算最后保存

#第一次计算代码import arcpyimport pandas as pd#读取csv文件,转为字典df = pd.read_csv("土壤含水量均值.csv")df=df.set_index("date")['mean'].to_dict()#设定工作空间和投影e=r'土壤含水量栅格'arcpy.env.workspace=earcpy.env.outputCoordinateSystem =arcpy.SpatialReference("WGS 1984")#读取工作空间内的栅格数据rasters = arcpy.ListRasters()for raster in rasters:#读取栅格out_raster = arcpy.Raster(raster)#out_raster.exportImage()#获取多年同期土壤含水量均值a=df[raster[5:10]]#执行栅格计算output_raster = arcpy.sa.RasterCalculator([out_raster, a], ["x", "y"],"(x-y)/y")#保存数据output_raster.save("MyProject\\result\C"+raster)#output_raster.exportImage()

#计算每个月的均值影像import arcpyimport pandas as pd#读取csv文件,转为字典df = pd.read_csv("土壤含水量均值.csv")df=df['date'].tolist()#设定工作空间和投影e=r'土壤含水量栅格'arcpy.env.workspace=earcpy.env.outputCoordinateSystem =arcpy.SpatialReference("WGS 1984")#读取工作空间内的栅格数据rasters = arcpy.ListRasters()#循环读取每天for i in range(len(df)):n=0#从原始影像中循环找出该天的影像for raster in rasters:if(raster[5:10]==df[i]):#计算总和if(n==0):out_raster=rasterelse:output_raster = arcpy.sa.RasterCalculator([out_raster, raster], ["x", "y"],"x+y")n=n+1#计算均值并保存output_raster = arcpy.sa.RasterCalculator([out_raster, n], ["x", "y"],"x/y")output_raster.save("MyProject\\mean\C"+df[i]+'.tif')

#读取csv文件,转为字典df = pd.read_csv("土壤含水量均值.csv")df=df.set_index("date")['mean'].to_dict()for raster in rasters:#读取栅格out_raster = arcpy.Raster(raster)#out_raster.exportImage()#获取多年同期土壤含水量均值影像a=arcpy.Raster('MyProject\mean\\c'+raster[5:10]+'.tif')#执行栅格计算output_raster = arcpy.sa.RasterCalculator([out_raster, a], ["x", "y"],"(x-y)/y")#保存数据output_raster.save("MyProject\\result\C"+raster)#output_raster.exportImage()

新开通了本人的公众号,欢迎关注:燕南路GISer ,专注GIS干货分享,不定期更新。

主要兴趣:GIS、时空数据挖掘、python、机器学习深度学习

CSDN的部分内容会重写再搬迁到公众号,欢迎关注!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。