#将六十进制的度分秒转换为十进制的度:
import math
dms=[1,2,3]
deg=dms[0]+dms[1]/60.0+dms[2]/3600.0
print (deg)
#上述算法写为函数形式:
def dmsdeg(dms):
deg=dms[0]+dms[1]/60.0+dms[2]/3600.0
return deg
dmsdeg(dms)
print (deg)
开发为脚本:
import arcpy
import math
def dms2deg(dms):
deg=dms[0]+dms[1]/60.0+dms[2]/3600.0
return deg
s_deg=arcpy.GetParameterAsText(0)
s_min=arcpy.GetParameterAsText(1)
s_sec=arcpy.GetParameterAsText(2)
dms=[float(s_deg),float(s_min),float(s_sec)]
dd=dms2deg(dms)
arcpy.SetParameter(3,dd)
arcpy.AddMessage(str(dd))
在1处右键,添加脚本文件。
把编写好的脚本文件加进去。
按照上述设置。
验证:输入角度。
输出结果。
下面是把十进制转换为六十进制的脚本文件:
import arcpy
import math
def deg2dms(deg):
secs=deg*3600
sec_parts=math.modf(secs)
sec_decimal=sec_parts[0]
sec_int=int(sec_parts[1])
s=sec_int % 60
dm=sec_int // 60
m=dm % 60
d=dm // 60
return d,m,s
s_deg=arcpy.GetParameterAsText(0)
deg=float(s_deg)
dms=deg2dms(deg)
arcpy.SetParameter(1,dms)
arcpy.AddMessage(str(dms))
验证工具箱的效果。



