字段屬於SHP文件的重要組成部分,在某些時候需要對字段進行編號,這裡為大傢介紹一下字段編號相關的代碼,希望能對你有所幫助。
01
數據來源
教程所使用的數據是從水經微圖中下載的POI數據,除了POI數據,常見的GIS數據都可以從水經微圖中下載。
![](https://news.xinpengboligang.com/upload/keji/57ec1bb4b4265bee439cbc9ec5dd421d.jpeg)
水經微圖
自動編號
在需要編號的字段上點擊右鍵,選擇計算字段,如下圖所示。
![](https://news.xinpengboligang.com/upload/keji/c1991790b03aaa8829ba6c7912f15c6c.jpeg)
選擇計算字段
在顯示的計算字段對話框內,number=autoIncrement(),代碼塊輸入下面的代碼,如下圖所示。
rec=-1
def autoIncrement():
global rec
pStart = 1 #起始值為1,可修改
pInterval = 1 #間隔值為1,可修改
if (rec ==-1):
rec = pStart
else:
rec = rec pInterval
return rec
![](https://news.xinpengboligang.com/upload/keji/1b65e467297768094a9d5e4516532b33.jpeg)
計算字段設置
點擊確定後可以看到字段已經按順序自動編號,如下圖所示。
![](https://news.xinpengboligang.com/upload/keji/61e2fe8f8e0b67ab8606e4d5a13d4968.jpeg)
計算結果
隨機編號
除了按順序編號之外,有的時候還需要生成隨機數,在計算字段對話框內Random=getnums(),代碼塊內輸入下面的代碼,如下圖所示。
import numpy
def getnums():
return numpy.random.randint(1,100)
![](https://news.xinpengboligang.com/upload/keji/a4b9630d7ec13cd2daa983a4409501de.jpeg)
計算字段設置
點擊確定後完成隨機數的生成,生成的隨機數如下圖所示。
![](https://news.xinpengboligang.com/upload/keji/ce5adc8af7de2d24a2d5d5a1f69b7767.jpeg)
生成的隨機數
編號補零
在某些時候,除了編號之外,還需要在編號的前面補零,我們隻需要在調用函數的時候做適當的修改即可,下面以自動編號並補零為例給大傢介紹一下方法。
新建一個文本型字段,在計算字段對話框內,代碼塊填寫和自動編號一樣的代碼,隻是在調用的時候適當修改一下,調用函數為BH= (str(autoIncrement())).zfill(3),如下圖所示。
rec=-1
def autoIncrement():
global rec
pStart = 1 #起始值為1,可修改
pInterval = 1 #間隔值為1,可修改
if (rec ==-1):
rec = pStart
else:
rec = rec pInterval
return rec
![](https://news.xinpengboligang.com/upload/keji/fb7b20ab5901afb922e938b6aad560bd.jpeg)
計算字段設置
點擊確定後可以看到已經在前面補零,如下圖所示。
![](https://news.xinpengboligang.com/upload/keji/297fbf5e49c074a2c77694126ba53e87.jpeg)
編號計算結果
結語
以上就是ArcGIS Pro字段編號相關代碼的詳細說明,主要包括了數據來源、自動編號、隨機編號和編號補零等功能。