SHP屬性欄位表 文字欄位計算

先前介紹了如何將點位呈現,雖然屬性欄位表中有地址沒錯

但如果我想要有一個欄位,單純的就只有他位在哪個縣市哪個區,就可進行欄位計算!


這篇教學,將討論如何在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)的方法



沒有留言:

張貼留言