添加xy坐标文件生成图形-度分秒转换

1.在arcgis中创建的模型如下:
2.说明
(1)分度秒需要转换成十进制度,需要编写对经度、纬度的处理。
(2)txt中的坐标无法直接处理度分秒,所以临时先转换成点要素,对点要素中的经度、纬度坐标进行处理,然后导出坐标表(dbf),再进行一次展点。
3.说明
对于一些坐标如112.2400,113.0000临时转换成点要素时,arcgis自动把这些坐标(文本)当成了浮点型,去掉了所有0,需要编写额外的脚本处理这种情况。
4.python对经纬度处理的脚本
(1)经度
def calJD(x):
s = str(x) +'0000'
s = s.format("000.0000")
du=s[0:3]
fen=s[4:6]
mia=s[6:8]
degree=float(du)
minix=float(fen)
secdx=float(mia)
res=degree+minix/60+secdx/3600
return '%.6f'%res
(2)纬度
def calWD(y):
s=str(y)+'0000'
s = s.format('00.0000')
du=s[0:2]
fen=s[3:5]
mia=s[5:7]
degree=float(du)
mini=float(fen)
secd=float(mia)
res=degree+mini/60+secd/3600
return '%.6f' % res
 
坐标文件示例如下:
112.4900,37.4345
112.5700,37.4345
112.5700,37.4000
113.0000,37.4000
113.0000,37.3430
112.4900,37.3430

posted @ 2019-05-16 11:24  kkqq8860928  阅读(2032)  评论(0编辑  收藏  举报