我正在尝试编写一个脚本,用于在 python 中将度数转换为弧度。这是一项常见的任务,随身携带它会很有用。我遇到的问题是输入栅格似乎被作为字符串读取。见下文:
import arcpy
from arcpy import env
from arcpy.sa import *
import math
arcpy.CheckOutExtension("Spatial")
env.workspace = "C:\Users\OJB\Desktop\University\UsingRAS\UsingRas.gdb"
degrad = math.pi / 180
PythonRad = "Aspect_Deg" * degrad
outCos = Cos("PythonRad")
outCos.save("C:\Users\OJB\Desktop\University\UsingRAS\UsingRas.gdb\PyTest")
我得到的错误是:
Traceback (most recent call last):
File "C:/Users/OJB/Desktop/University/UsingRAS/Scripts/DegtoRad", line 11, in <module>
PythonRad = "Aspect_Deg" * degrad
TypeError: can't multiply sequence by non-int of type 'float'
我不确定如何在不使用引号的情况下使用此栅格。我对 Python 非常陌生,因此我们将不胜感激。
祝一切顺利
最佳答案
使用 arcpy 模块中的栅格对象来实例化栅格:
from arcpy import Raster
...
ras = Raster('path_to_raster')
PythonRad = ras * degrad
此外,完成后不要忘记检查您的空间分析扩展。
关于python - 在 python 中使用 gdb 中的栅格数据集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8702876/