首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Arcgis 10中使用Python计算方位角时出现语法错误

在Arcgis 10中使用Python计算方位角时出现语法错误
EN

Stack Overflow用户
提问于 2013-03-18 02:18:20
回答 1查看 1.3K关注 0票数 1

我尝试在arcgis 10中使用Python计算方位角,但遇到语法错误。下面是我的代码:

代码语言:javascript
运行
复制
def CalculaAzimuth(Linea):
    Xorigen = linea.firstPoint.Y
    Yorigen = linea.firstPoint.X
    Xfinal = linea.lastPoint.X
    Yfinal = linea.lastPoint.Y
    DeltaX = Xfinal - Xorigen
    DeltaY = Yfinal - Xorigen
    PI = math.pi()
    Azimuth = 4 * PI
    if DeltaX = 0:
        if DeltaY >=0:
            Azimuth = 0
        else:
            Azimuth = 180
    elif DeltaX >0:
        Azimuth = 90 - math.atan( DeltaY / DeltaX ) * 180 / PI
    elif DeltaX <0:
        Azimuth = 270 - math.atan( DeltaY / DeltaX )* 180 / PI

return Azimuth
EN

回答 1

Stack Overflow用户

发布于 2013-03-18 22:52:43

好的,这是一个经过清理的版本,上面的所有注释加上逻辑上的一些小变化和一些变量清理。请注意,这不是椭球体上的真实方位角。

代码语言:javascript
运行
复制
def CalculaAzimuth(linea):
    if (hasattr(linea,'type') and linea.type == 'polyline'):
        xf = linea.firstPoint.X
        yf = linea.firstPoint.Y
        xl = linea.lastPoint.X
        yl = linea.lastPoint.Y
        dX = xl - xf
        dY = yl - yf
        PI = math.pi
        Azimuth = 0 #Default case, dX = 0 and dY >= 0
        if dX > 0:
            Azimuth = 90 - math.atan( dY / dX ) * 180 / PI
        elif dX < 0:
            Azimuth = 270 - math.atan( dY / dX )* 180 / PI
        elif dY < 0:
            Azimuth = 180
        return Azimuth
    else:
        return False
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15480450

复制
相关文章

相似问题

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