แนวทางการตั้งชื่อฟิลด์ (Shapefile)

เผยแพร่เมื่อ:

ปรับปรุง/แก้ไขล่าสุดเมื่อ:

แนวทางการตั้งชื่อฟิลด์ นี้ สำหรับเชปไฟล์ (Shapefile) โดยเฉพาะ เนื่องจากจะพบปัญหากันบ่อย ๆ ว่า เวลาทำงานกับฟีเจอร์คลาส (featureclass) ด้วย ArcGIS Pro หรือว่าทำงานเป็นจีโอแพ็กเกจ (gpkg) จะไม่ค่อยมีปัญหาเรื่องชื่อฟิลด์ แต่พอต้องแลกเปลี่ยนไฟล์เป็นเชปไฟล์ แล้วจะมีปัญหาเรื่องชื่อฟิลด์หลายครั้ง

เพื่อลดปัญหาต่าง ๆ ที่อาจจะเกิดขึ้นโดยไม่จำเป็น เราลองหัดตั้งชื่อฟิลด์ให้เป็นไปตามแบบแผนที่กำหนดของเชปไฟล์น่าจะดีกว่า

สิ่งแรก ที่มักจะพูดเสมอ พูดมาตลอด 

“เวลาเราทำงานกับคอมพิวเตอร์ อย่าเป็นคนรักชาติ”

นั่นคือ อย่าใช้ตัวอักขระไทย ถ้าเป็นไปได้ให้ตั้งชื่อทุกสิ่งทุกอย่างเป็นภาษาอังกฤษ เลขไทยควรเลี่ยงเป็นอย่างยิ่ง ไม่จำเป็นต้องใช้พุทธศักราช พยายามท่องไว้ในใจ ซอฟต์แวร์เหล่านี้ คนออกแบบระบบเหล่านี้ไม่ใช่บรรพบุรุษชาวไทย

และสิ่งที่ต้องจำเอาไว้ให้ขึ้นใจเลยก็คือ การตั้งชื่อฟิลด์ หรือชื่อคอลัมน์ทั้งหลาย (ไม่ว่าจะเป็นซอฟต์แวร์อะไรก็ตามไม่จำกัดเฉพาะเชปไฟล์) อย่าใช้อักขระพิเศษ ไม่ว่าจะเป็นเครื่องหมาย @ # % & * ^ | \ $ หรือแม้แต่ ยัติภังค์ หรือขีดกลาง – วงเล็บ () วงเล็บเหลี่ยม [ ] ปีกกา { 

พูดง่าย ๆ ให้ใช้ตัวอักษรหรือตัวเลข และเครื่องหมายขีดล่าง _ เท่านั้น

จำนวนอักขระที่ใช้ตั้งชื่อฟิลด์ก็สำคัญ

  • ถ้าเป็นฟีเจอร์คลาสในจีโอดาตาเบส รองรับอักขระได้สูงสุด 64 อักขระ (แต่ถ้าใช้ personal geodatabase ใส่ชื่อคลาสฟีเจอร์ได้สูงสุด 52 อักขระ เนื่องจากระบบจะเพิ่มอักขระต่อท้ายให้ จนรวมเป็น 64 อักขระ) 
  • ชื่อเชปไฟล์และฟิลด์ .dbf สามารถยาวได้สูงสุด 10 อักขระ ตามข้อจำกัดของ dBase
  • ตาราง INFO ให้ใช้ตัวอักษรหรือตัวเลขได้สูงสุด 16 ตัว

ความข้อนี้เป็นไฉน?

หมายความว่า ถ้าท่านทำงานในจีโอดาตาเบส ท่านอาจจะตั้งชื่อยาว ๆ ได้สมใจ อย่างเช่นตั้งชื่อฟิลด์ว่า “DataRevolTheGreatNonsenseSite” แต่เมื่อส่งฟีเจอร์คลาสนี้เป็นเชปไฟล์ ฟิลด์นี้จะเหลือเพียง “DataRevolTh” แบบนี้เป็นต้น

และมันจะเป็นปัญหาว่า ถ้าหากท่านตั้งชื่อที่คล้ายกัน เช่น “LoveYouThailand” กับ “LoveYouThailady” เกิดโดนตัดเหลือ 10 อักขระ จะกลายเป็น “LoveYouT_1” กับ “LoveYouT_2”

ลองนึกถึงใจคนที่รับเชปไฟล์ไปใช้ เปิดมาเจอฟิลด์แบบนี้จะรู้หรือไม่ว่าแต่ละฟิลด์ต่างกันอย่างไร

นอกจากนี้ ควรหลีกเลี่ยงการใช้ชื่อฟิลด์ที่มีคำสงวนไว้ เช่น CURRENT_DATE USER แต่ละ DBMS พื้นฐานสามารถมีชุดคำสำคัญที่สงวนไว้เป็นของตัวเอง

อย่างเช่น SQL-Server จะสงวนคำเหล่านี้ (คลิกเพื่ออ่านข้อมูลที่เว็บไซต์ไมโครซอฟต์

โปรดจดจำไว้ในหัวใจว่า ArcGIS ทำงานกับข้อมูลหลายชนิด อักขระบางตัวในชื่อฟิลด์หรือชื่อตารางอาจจะไม่ได้แสดงผลถูกต้อง บางอักขระไม่ควรใช้เป็นอย่างยิ่ง เช่น  ช่องว่าง เครื่องหมายยัติภังค์ (หรือขีดกลาง “-“ เช่น ในคำว่า ‘x-coord’)  วงเล็บเหลี่ยม [] และอักขระพิเศษอื่น ๆ เช่น @ # $ % ข้อจำกัดเหล่านี้ถูกกำหนดขึ้นเพื่อให้ ArcGIS สามารถทำงานกับชนิดข้อมูลได้มากที่สุด

ย้ำสั้น ๆ แนวทางการตั้งชื่อฟิลด์

  • การตั้งชื่อยาวไม่ผิด แต่ถ้าคิดว่าต้องส่งออกเป็นเชปไฟล์ ระวังว่าจะโดนตัดที่ 10 อักขระ
  • พยายามใช้แค่ ตัวอักษร และ ตัวเลข หรือ เครื่องหมายขีดล่าง “_” เท่านั้น
  • อย่าขึ้นต้นชื่อฟิลด์หรือชื่อตารางด้วยเครื่องหมายขีดล่างหรือตัวเลข

โปรดเชื่อเถิดว่า ตั้งชื่อฟิลด์ให้ดี แล้วจะช่วยลดปัญหาที่ไม่ควรเป็นปัญหาได้อีกเยอะ