ฉันจะเปลี่ยนชนิดข้อมูลในตารางแอตทริบิวต์ใน ArcGIS สำหรับหลายฟิลด์ได้อย่างไร
ตัวอย่างเช่นหากเขตข้อมูลได้รับการส่งออกเป็นสตริงจาก Excel และฉันต้องการใช้เป็นค่าตัวเลข?
ฉันจะเปลี่ยนชนิดข้อมูลในตารางแอตทริบิวต์ใน ArcGIS สำหรับหลายฟิลด์ได้อย่างไร
ตัวอย่างเช่นหากเขตข้อมูลได้รับการส่งออกเป็นสตริงจาก Excel และฉันต้องการใช้เป็นค่าตัวเลข?
คำตอบ:
คุณไม่สามารถเปลี่ยนชนิดข้อมูลของเขตข้อมูลใน ArcGIS คุณจะต้องสร้างเขตข้อมูลใหม่ด้วยประเภทข้อมูลที่คุณต้องการและเติมค่าเหล่านั้นด้วยค่าจากเขตข้อมูลปัจจุบันของคุณ ดู: วิธีเปลี่ยนรูปแบบฟิลด์ใน ArcGIS 10.1 geodatabase ได้อย่างไร
คุณไม่ได้กล่าวถึงรุ่นใดของ ArcGIS สำหรับเดสก์ท็อปที่คุณใช้หรือที่เก็บข้อมูลของคุณ แต่มีหน้าคุณสมบัติฟิลด์ปรับเปลี่ยนที่อธิบายวิธีการใช้ ArcGIS 10.2 (หรือใหม่กว่า):
คุณสมบัติของฟิลด์บางอย่างสามารถเปลี่ยนแปลงได้หลังจากสร้างตารางหรือคุณสมบัติคลาส
... แต่จะมีผลกับฟิลด์ที่ว่างเท่านั้น
จาก 10.3 ฟังก์ชันการทำงานข้างต้นยังมีให้ผ่านเครื่องมือ Alter Fields :
เปลี่ยนชื่อฟิลด์และชื่อแทนฟิลด์หรือแก้ไขคุณสมบัติของฟิลด์
คุณสามารถเปลี่ยนชนิดข้อมูลของเขตข้อมูลสำหรับเขตข้อมูลที่คุณมีในคลาสคุณลักษณะของคุณ อย่างไรก็ตามคุณจะไม่สามารถแปลงฟิลด์ข้อความเป็นตัวเลขได้ อย่างไรก็ตามคุณสามารถแปลงฟิลด์ตัวเลขเป็นสตริงได้ ลองดูที่ที่หน้าความช่วยเหลือ Esri สิ่งนี้ไม่เพียง แต่สำหรับฐานข้อมูลองค์กรทางภูมิศาสตร์เท่านั้น แต่ยังใช้งานได้ดีสำหรับฐานข้อมูลทางภูมิศาสตร์บนเดสก์ท็อปเช่นไฟล์ฐานข้อมูลทางภูมิศาสตร์
ถ้าตารางหรือคุณลักษณะอยู่ในองค์กร, เวิร์กกรุ๊ปหรือฐานข้อมูล เดสก์ท็อปคุณต้องเชื่อมต่อเป็นเจ้าของตารางเพื่อแก้ไขคุณสมบัติของฟิลด์
เมื่อคุณจัดการกับ Excel วิธีที่ดีที่สุดเพื่อให้แน่ใจว่าชนิดข้อมูลของคุณถูกต้องคือการกำหนดประเภทข้อมูลเซลล์โดยตรงใน Excel ก่อนนำเข้าข้อมูลใด ๆ หากคุณมีฟิลด์ข้อความที่มีตัวเลขคุณสามารถสร้างฟิลด์ใหม่ของประเภทตัวเลข (จำนวนเต็มหรือจำนวนเต็มสองเท่า) และคำนวณค่าตามฟิลด์ข้อความนี้ วิธีนี้จะใช้งานได้ดีถ้าหมายเลขของคุณเป็นตัวเลขจริง ๆ ("12" จะใช้งานได้ แต่ "12-1" จะไม่ทำงาน)
สำหรับความรู้ของฉันมันเป็นไปไม่ได้ ใน 10.3, Alter Fieldถูกขยายเพื่อให้สามารถเปลี่ยนแปลงชนิดของฟิลด์ได้ อย่างไรก็ตามยังคงใช้ได้เฉพาะเมื่อตารางไม่มีระเบียนใด ๆ
นี่เป็นวิธีหนึ่งในการทำเช่นนี้แม้ว่า:
Calculate Field
หรือcursors
(ด้วยการหล่อหากจำเป็น)Alter Field
เพื่อเปลี่ยนชื่อฟิลด์ชั่วคราวฉันไม่เคยตรวจสอบมัน แต่การแมปฟิลด์อาจทำงานเพื่อส่งฟิลด์ไปยังชนิดข้อมูลใหม่ซึ่งจะทำให้กระบวนการนี้ง่ายขึ้นมาก สิ่งที่ต้องพิจารณาอย่างแน่นอน ....
วิธีอื่นประกอบด้วยการเปิด.dbf
ไฟล์ของคุณในOpenOffice Calc (หรือเทียบเท่า) และแก้ไขส่วนหัวของคอลัมน์อย่างระมัดระวัง เช่นเปลี่ยนประเภทจากC
(ตัวละคร) เป็นN
(ตัวเลข) คำแนะนำง่ายๆ: สำรองไฟล์ของคุณก่อนที่จะลอง
แม้ว่าคุณจะไม่สามารถเปลี่ยนชื่อฟิลด์และชนิดข้อมูลในชุดข้อมูลเองได้ แต่ก็เป็นไปได้ที่จะสร้างสำเนาที่มีการเปลี่ยนแปลงที่ต้องการโดยใช้เครื่องมือ ArcGIS "คลาสคุณลักษณะเป็นคลาสคุณลักษณะ" ในการตั้งค่าคุณสามารถเปลี่ยนชื่อประเภทข้อมูลและคุณสมบัติอื่น ๆ ของฟิลด์
ก่อนอื่นต้องพยายามทำความเข้าใจว่าทำไม ArcGIS นำเข้าเขตข้อมูลเป็นชนิดสตริงแทนที่จะเป็นชนิดข้อมูลตัวเลข / คู่ ฉันพบว่าแม้ว่าเซลล์ของคุณ (ใน Excel) จะว่างเปล่าหากมี "ช่องว่าง" ด้านใน (เช่นเมื่อคุณกด spacebar) ArcGIS จะตีความสิ่งเหล่านี้เป็นอักขระ หากคุณลบออกคุณจะเห็นว่าตอนนี้พวกเขาจะลงทะเบียนเป็นเขตข้อมูลตัวเลข
ลองดูที่เอกสารนี้ โดยทั่วไปคุณต้องแน่ใจว่าข้อมูลอยู่ในรูปแบบที่ถูกต้องก่อนและหลังการนำเข้า
"โดยทั่วไป ArcGIS จะแปลงฟิลด์ตัวเลขสเปรดชีตเป็นความแม่นยำสองเท่า (Double) ซึ่งอาจไม่ตรงกับความต้องการของคุณหากจำเป็นให้สร้างฟิลด์ใหม่ของประเภทที่ต้องการและคำนวณค่าลงในช่องเหล่านั้น"
หากเป้าหมายของคุณคือการเพิ่มข้อมูลจากตาราง X ไปยังอีกตาราง Yแต่คุณทำไม่ได้เพราะประเภทข้อมูลไม่สอดคล้องกันคุณสามารถทำตามขั้นตอนเหล่านี้ได้:
ส่งออกทั้งสองตาราง (.dbf)
เปิดตาราง Y ใน excel
เปิดตาราง X ใน excel
คัดลอกและวางข้อมูลจากตาราง X ไปยังตาราง Y โดยตรวจสอบให้แน่ใจว่าคุณคัดลอกค่าเท่านั้นไม่ใช่แบบฟอร์ม
ตอนนี้คุณมีตารางใหม่ที่มีข้อมูลจากทั้งสองตารางพร้อมกับชนิดข้อมูลที่สอดคล้องกัน
6. นำเข้าตารางนี้ใน ArcMap
ไม่มีใครพูดถึงชุดเครื่องมือเอ็กซ์เรย์สำหรับ ArcGIS เพียงทำการค้นหาโดย Google สำหรับ "X-Ray ArcGIS" มีหลายรุ่นสำหรับแต่ละเวอร์ชั่นและแพลตฟอร์ม ArcGIS (ArcCatalog, ArcMap) นี่คือหนึ่งรุ่น นี่คืออีก สนับสนุนฟังก์ชันที่เกี่ยวกับฟิลด์และโดเมนมากมายรวมถึงการเปลี่ยนประเภทฟิลด์ชื่อนามแฝงโดเมน ฯลฯ ใน MS Excel และอัปโหลดการเปลี่ยนแปลงกลับสู่ GDB