python 度分秒转度

会有一股神秘感。 提交于 2019-11-26 12:42:45
#必须是u类型==================u==================== by gisoracle
def dmstod(dms):
    #arcpy.AddMessage("======================gisoracle==========="+dms+"==============================")
    try:
        p = dms.find('°')
        if p<0:
            return str(dms)
        #arcpy.AddMessage("p="+str(p))
        d=string.atof(dms[0:p].strip())
        #arcpy.AddMessage("d="+str(d))
        p1=dms.find('′')
        #arcpy.AddMessage("p1="+str(p1))
        if p1<0:
             p1=dms.find("'")

        f=0 #
        if p1>0:
            f=string.atof(dms[p+1:p1].strip())
        else:
            p1=p
        #arcpy.AddMessage("f="+str(f))

        p2=dms.find('″')
        if p2<0:
             p2=dms.find('"')
        #arcpy.AddMessage("p2="+str(p2))

        s=0 #
        if p2>0:
            s=string.atof(dms[p1+1:p2].strip())
        else:
             s=string.atof(dms[p1+1:].strip()) #可以没有秒

        #arcpy.AddMessage("s="+str(s))

        return d+f/60+s/3600
    except ValueError:
        return None

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!