好多朋友只会简单使用字段计算器进行加减计算,这里为大家展示使用python语言,通过代码的编写,实现常用的字段计算功能。
本文为大家分享的例子是通过if语句,计算id字段不同的道路,车辆行驶的时间。
我们都知道不同的道路,例如城市一级、二级道路、高速公路、乡道,道路类型的不同,其车辆行驶速度也不同,所以通过添加一个drive_time字段来计算车辆行驶时间就需要用路长度/车辆行驶速度,这个时候就需要根据不同路网类型计算。
同上述讲述的情况相似的情况有很多,本文只是给大家提供一个仿写if语句的代码,大家根据自己的情况以及语法规则,实现自己的内容。
在Pre-Logic Script Code中:
def MyClassFunction(BOU2_4M_ID,len):
if BOU2_4M_ID ==5152 :
return len / 15
elif BOU2_4M_ID == 5153 :
return len / 4
elif BOU2_4M_ID == 5123 :
return len / 25
elif BOU2_4M_ID == 5111 :
return len / 90
elif BOU2_4M_ID== 5154 :
return len / 30
elif BOU2_4M_ID == 5113 :
return len / 60
elif BOU2_4M_ID == 5122:
return len / 30
elif BOU2_4M_ID == 5114 :
return len / 50
elif BOU2_4M_ID == 5141 :
return len / 40
elif BOU2_4M_ID == 5155 :
return len / 4
elif BOU2_4M_ID == 5115 :
return len / 40
elif BOU2_4M_ID == 5142:
return len/100
else:
return len /60
其中速度是根据国家标准以及现实情况进行的赋值!!
在drivetime下方:
MyClassFunction(code,length)
注:本例子的drivetime为后添加字段,length字段是将原始数据投影后,采用地理计算得到。数据为osm路网数据,均可在公众号GIS攻略找到。
公众号、CSDN同步更新,如有问题可在公众号后台留言,大家一起交流学习!