Arcgis字段计算器技巧-if语句使用

本文详细介绍了如何使用Python编写if语句,根据道路ID计算不同类型的路段车辆行驶时间,适合处理OSM路网数据。通过实际代码示例演示了如何根据不同道路类型的速度设定计算drive_time字段。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值