arcpy整理公交线路数据

网上下载了一个北京公交线路数据,但是线路没有可分的属性,每个站点按照1,2,。。。n;1,2.。。。n;1,2,。。。n这样的规律存储,所以想自己再建个可数的线路标志属性。

原始数据的属性表如下图所示

>>> #-------处理公交数据,每个公交站点按照1,2,。。。n编号,但是没有公交线路信息
... 
... import arcpy
... arcpy.env.workspace =  'D:\Teaching\2019ESRI开发大赛\结果\结果' #原来是r""
... workspace = arcpy.env.workspace
... editor = arcpy.da.Editor(workspace)
... shppath = "bjBus.shp"
... cursor = arcpy.UpdateCursor(shppath)
... busLineid = 1
... #赋值两个临时变量,记录station——N,如果差值为1,
... #说明还是同一条公交线路,如果差值较大,说明已经是下一条公交线路
... tempstationid = 0
... tempstationid2 = 1
... try:
...     editor.startEditing(False)
...     editor.startOperation()
...     for my_row in cursor:
...         tempstationid2 = (int)(my_row.getValue('station_N'))
...         temp = tempstationid2 - tempstationid
...         tempstationid = (int)(my_row.getValue('station_N'))
...         if(temp ==1):
...             my_row.setValue("busID",busLineid)
...         else:
...             busLineid +=1
...             my_row.setValue("busID",busLineid)
... 
... except Exception as e:
...     print(e.message)
... finally:
...     print("bus line operation is done")
...     editor.stopOperation()
...     editor.stopEditing(True)
...     
Runtime error 
Traceback (most recent call last):
  File "<string>", line 8, in <module>
  File "c:\program files (x86)\arcgis\desktop10.2\arcpy\arcpy\__init__.py", line 1199, in UpdateCursor
    return gp.updateCursor(dataset, where_clause, spatial_reference, fields, sort_fields)
  File "c:\program files (x86)\arcgis\desktop10.2\arcpy\arcpy\geoprocessing\_base.py", line 364, in updateCursor
    self._gp.UpdateCursor(*gp_fixargs(args, True)))
IOError: "bjBus.shp" does not exist
>>> 

处理完之后,busID还是为0.。。。。。。。。烦躁了。。。。。。

 

加一个错误捕捉语句

#-------处理公交数据,每个公交站点按照1,2,。。。n编号,但是没有公交线路信息
... 
... import arcpy
... arcpy.env.workspace =  r"D:/Teaching/2019ESRI开发大赛/结果/结果" #原来是r""
... workspace = arcpy.env.workspace
... editor = arcpy.da.Editor(workspace)
... shppath = "bjBus.shp"
... cursor = arcpy.UpdateCursor("bjBus",("FID","station_N")
... busLineid = 1
... #赋值两个临时变量,记录station——N,如果差值为1,
... #说明还是同一条公交线路,如果差值较大,说明已经是下一条公交线路
... tempstationid = 0
... tempstationid2 = 1
... try:
...     # editor.startEditing(False)
...     # editor.startOperation()
...     for my_row in cursor:
...         tempstationid2 = (int)(my_row.getValue('station_N'))
...         temp = tempstationid2 - tempstationid
...         tempstationid = (int)(my_row.getValue('station_N'))
...         if(temp ==1):
...             my_row.setValue("busID",busLineid)
...         else:
...             busLineid +=1
...             my_row.setValue("busID",busLineid)
... 
... except: #Exception as e:
...     print arcpy.GetMessages() #(e.message)
... finally:
...     print("bus line operation is done")
...     # editor.stopOperation()
...     # editor.stopEditing(True)
...     
Parsing error SyntaxError: invalid syntax (line 9)

但是出来是说这个语句问题?

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值