首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在python中使用地理数据库中的栅格数据集

在python中使用地理数据库中的栅格数据集
EN

Stack Overflow用户
提问于 2012-01-03 00:02:38
回答 2查看 885关注 0票数 1

我正在尝试用python编写一个将度数转换为弧度的脚本。这是一项常见的任务,如果周围有这样的任务就会很有用。我得到的问题是,输入栅格似乎被读取为字符串。如下所示:

代码语言:javascript
复制
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")

我得到的错误是:

代码语言:javascript
复制
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非常陌生,所以如果有任何帮助,我将不胜感激。

万事如意

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-01-03 00:23:13

使用arcpy模块中的栅格对象实例化栅格:

代码语言:javascript
复制
from arcpy import Raster

...

ras = Raster('path_to_raster') 
PythonRad = ras * degrad

此外,不要忘记在完成后重新签入您的spatial analyst扩展。

票数 2
EN

Stack Overflow用户

发布于 2012-01-03 00:24:50

首先:当您想要在字符串中使用\字符时,必须使用另一个\对其进行转义。因此,您的路径将如下所示:"C:\\Users\\OJB\\Desktop\\University\\UsingRAS\\UsingRas.gdb"

这一行:

代码语言:javascript
复制
PythonRad = "Aspect_Deg" * degrad

没有任何意义,因为您正在将一个字符串文字与一个浮点值相乘。你必须首先检索一个可以与你的浮点数相乘的对象。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8702876

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档