天天看點

python腳本,計算起點終點高程

import arcpy

>>> import arcpy

... gd="D:/項目/shp/Pipe.gdb/ZK/GDPOINT"

... gx="D:/項目/shp/Pipe.gdb/ZK/GDLINE"

... cursorGd=arcpy.da.UpdateCursor(gd,["物探點号","地面高程"])

... cursorGx=arcpy.da.UpdateCursor(gx,["起點點号","終點點号","起點高程","終點高程","起點埋深","終點埋深"])

... wtdhs=[]

... dmgcs=[]

... for row in cursorGd:

...     wtdhs.append(row[0])

...     dmgcs.append(row[1])

... for rowgx in cursorGx:

...     rowgx[2]=dmgcs[wtdhs.index(rowgx[0])]-rowgx[4]

...     rowgx[3]=dmgcs[wtdhs.index(rowgx[1])]-rowgx[5]

...     cursorGx.updateRow(rowgx)

...          

這個就是針對兩張表,處理一下資料,具體流程無關緊要,主要是利用python腳本更改屬性的方法,運作效率不錯。

為什麼不用雙循環呢?一是這樣效率高一些(2n),雙循環(n*n);另外遊标雙循環一直報錯。