先前介紹了如何將點位呈現,雖然屬性欄位表中有地址沒錯
但如果我想要有一個欄位,單純的就只有他位在哪個縣市哪個區,就可進行欄位計算!
但如果我想要有一個欄位,單純的就只有他位在哪個縣市哪個區,就可進行欄位計算!
這篇教學,將討論如何在GIS中進行欄位運算
STEP 1
開啟全台派出所的SHP
雖然已經有了地址欄,但我們希望只有像是 "台北市大安區" 這樣六個字的文字描述欄位,要做的事情就是去將地址欄位的文字,複製出來到另外一個新增的欄位
選擇 "Add Field"
STEP 2
自創一個欄位的名字,不要太長
因為這是一個文字的欄位,所以選擇 "Text(文字)"
**Length 是這個欄位可以容納個字元個數
**如何確定這是文字欄位還是數字欄位?
欄位的字 "靠左"的是文字 ; "靠右"的是數字
STEP 3
新增一個欄位後,在最上面欄位名稱的地方右鍵,選擇 "Field Caculator"
按YES後繼續
STEP 4
今天因為我國鄉鎮市命名,幾乎兩個字的縣市名加上兩個字的鄉鎮市區名,因此加起來剛好都會是前六個字元是我所需要的
但是台中市、台南市等縣市有單名命名的區名,這部分操作完再來更改
EX:台北市大安區,(X)台北市東區,彰化縣和美鎮,台中市西區!!
選擇文字字串專用的計算公式 "String"
動作:雙擊 Left() → 雙擊 地址→逗號 →空格 6
**Left() 的意義是,讓文字字串留下由左邊數來的幾個字元
將地址欄位放入括號中,意即以 Left()去計算這個欄位
數字六代表留下由左而右的前六個字元
STEP 5
完成後按下OK,計算後就可以看到很漂亮的留下了地址欄位的前六個字元
STEP 6
但剛剛提到,台中市的部分會有單名鄉鎮市,這時候就去找到台中市、台南市或是其他有單名的鄉鎮市區,再去做一次欄位計算
由屬性欄位表最左側下拉反藍選取後,點擊欄位名稱右鍵,再一次 "Field Caculator"
以台中市這個部分來說,將剛剛 Left( [地址], 6)改為 Left( [地址], 5),即可完成
總結
即使是上面這種欄位計算的方法,雖然大部分的情況是正確的
但這樣還要去顧及每個縣市可能有單名的命名,沒有辦法一次完成,不是很方便
因此,我們便要改用 空間結合(Spatial Join)的方法
請看下篇教學 SHP屬性欄位表 空間結合spatial join
沒有留言:
張貼留言