好多朋友只会简单使用字段计算器进行加减计算,这里为大家展示使用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同步更新,如有问题可在公众号后台留言,大家一起交流学习!

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐