看板 GIS 關於我們 聯絡資訊
※ 引述《tomjin (瞇~)》之銘言: : 大家好 : 小弟想透過 Model 的迴圈方式 : 把所有圖層的某個指定欄位 附加字串 : 但遇到些問題 : 假如原本檔名是CY20131_花椰菜、CY20131_甘藷 : 我想抓 20131 : 然後賦予新欄位整個都叫 20131 : 請問要怎麼寫呢 : 因為我直接拉變數 filename的話 : Calculate Field 也沒辦法抓到 : 而且我還想要抓 filename的 第3個字開始往後5個字 (20131) : 想請問各位專業的大大要如何對GIS下指令呢 : Calculate Field的介面如下 : http://ppt.cc/qnPZ : 謝謝指教 可以用 python 做看看 import arcpy import os from arcpy import env # 指定欄位名稱 ncol_name = 'NEWCOL' # 針對某個目錄底下的所有 shapefile 增加欄位 'NEWCOL', # 並把名字的第三個往後五個字取出(變數為 ncol_attr) for filename in os.listdir('C:/path/to/your/files'): if 'shp' in filename: filebase = filename.strip('.shp') ncol_attr = filename[2:7] dbf_file = filebase+'.dbf' arcpy.AddField_management(filename, ncol_name, "SHORT", "", "", "", \ fieldAlias, "NULLABLE") arcpy.CalculateField_management(dbf_file, ncol_name, ncol_attr, "PYTHON_9.3") 因為手邊沒有 ArcGIS,所以你要測試看看能不能動 可以參考: http://resources.arcgis.com/en/help/main/10.1/index.html#//001700000047000000 http://resources.arcgis.com/en/help/main/10.1/index.html#/Calculate_Field/00170000004m000000/ -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.62.202.156 ※ 文章網址: http://www.ptt.cc/bbs/GIS/M.1407981325.A.CFE.html
tomjin: 太酷了 謝謝你~~ 不過程度有點高.... 08/22 08:43