批量修改gis屬性表字段別名2018-11-15

近日偶遇一個(gè)問題,就是需要對(duì)地理數(shù)據(jù)庫(kù)的多個(gè)數(shù)據(jù)集內(nèi)的眾多要素類的字段按照固定的要求進(jìn)行字段別名的設(shè)置,當(dāng)初創(chuàng)建要素類的時(shí)候并沒有這個(gè)需求,所以每個(gè)字段的別名都要重新設(shè)置。

如果只是幾個(gè)字段的話就手動(dòng)改改吧,勤快一點(diǎn),嘿嘿!?。?!可太多的話就。。。。。手動(dòng)改這個(gè)工作量是相對(duì)客觀啊,索性想起能不能批量處理。。。。首先想到了Arcgis的arcpy腳本,網(wǎng)上搜了搜也沒啥現(xiàn)成的干貨,還是自己動(dòng)手吧(PS:自己動(dòng)手豐衣足食,最愛這句話),翻了翻arcpy的幫助文檔,并沒找到直接修改屬性表里字段別名的函數(shù)(PS:才疏學(xué)淺,若有大神知道,請(qǐng)賜教),只找到在新添加字段時(shí)有個(gè)可選參數(shù)支持設(shè)置別名,如:

所以就將修改字段別名的問題,轉(zhuǎn)化為通過新建字段賦值進(jìn)行處理,具體思路是:

1、先遍歷列出地理數(shù)據(jù)庫(kù)(gdb或mdb)里的數(shù)據(jù)集(ListDatasets_management()),然后遍歷每個(gè)數(shù)據(jù)集里的全部要素類,再針對(duì)每個(gè)要素類的屬性表進(jìn)行遍歷字段

2、開始遍歷每個(gè)要素類屬性表的字段,選擇出需要設(shè)置別名的字段,我的需求就是每個(gè)屬性表里有11個(gè)需要設(shè)置字段別名的,且每個(gè)都是固定搭配,如果手動(dòng)改就是重復(fù)性勞動(dòng)(PS:懶人都不喜歡干重復(fù)性勞動(dòng)),例如”SX“的別名是“起點(diǎn)X” 、”SY“的別名是“起點(diǎn)Y”、“EX”的別名是“終點(diǎn)X”、“EY”的別名是“終點(diǎn)Y”。。。首先對(duì)對(duì)字段進(jìn)行遍歷,使用for循環(huán)挨個(gè)字段遍歷,”for fi in arcpy.ListFields(fc1):“使用if進(jìn)行判斷當(dāng)前字段是否需要設(shè)置別名,若需要?jiǎng)t進(jìn)行處理,否則就pass。

3、設(shè)置別名的思路是,首先獲取當(dāng)前字段名稱,然后添加一個(gè)和當(dāng)前字段屬性一致(字段類型、字段長(zhǎng)度等)且名字不同的新字段,然后將當(dāng)前字段值賦值給新建字段值,然后刪除當(dāng)前字段值,再新建一個(gè)和當(dāng)前字段值的字段,再將剛才新建的字段值賦值,最后將其刪除。是不是有點(diǎn)暈,哈哈。。。還是上圖吧,看代碼:


1、是列出全部字段,2、進(jìn)行選擇并進(jìn)行別名設(shè)置

完整代碼自行網(wǎng)盤下載:

鏈接:https://pan.baidu.com/s/1yQaM_B06IxxAgbN64l0FOg 密碼:s3rb

本人GIS出身的菜鳥一枚,目前在規(guī)劃口工作,希望小伙伴們一起多多交流。

最后,本人所寫內(nèi)容及腳本程序僅供大家交流學(xué)習(xí)使用,如需轉(zhuǎn)載使用請(qǐng)注明,謝謝。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容