การเปลี่ยนประเภทข้อมูลในตารางแอตทริบิวต์ ArcGIS?


9

ฉันจะเปลี่ยนชนิดข้อมูลในตารางแอตทริบิวต์ใน ArcGIS สำหรับหลายฟิลด์ได้อย่างไร

ตัวอย่างเช่นหากเขตข้อมูลได้รับการส่งออกเป็นสตริงจาก Excel และฉันต้องการใช้เป็นค่าตัวเลข?


1
คุณไม่สามารถทำตารางต่อตารางได้หากประเภทข้อมูลไม่ตรงกัน ฉันรู้ว่าฉันพยายาม
Sam

โปรดหลีกเลี่ยงรูปแบบและเวอร์ชั่นของแหล่งข้อมูล (ฐานข้อมูล, shapefile, filegdb, gdb ส่วนบุคคล?)
Brad Nesom

@Brad ทำงานร่วมกับ shapefiles ใน arcgis 10.2 แหล่งข้อมูลอยู่ในคอมพิวเตอร์ของฉัน
Struggling

คำตอบ:


5

คุณไม่สามารถเปลี่ยนชนิดข้อมูลของเขตข้อมูลใน ArcGIS คุณจะต้องสร้างเขตข้อมูลใหม่ด้วยประเภทข้อมูลที่คุณต้องการและเติมค่าเหล่านั้นด้วยค่าจากเขตข้อมูลปัจจุบันของคุณ ดู: วิธีเปลี่ยนรูปแบบฟิลด์ใน ArcGIS 10.1 geodatabase ได้อย่างไร


3

คุณไม่ได้กล่าวถึงรุ่นใดของ ArcGIS สำหรับเดสก์ท็อปที่คุณใช้หรือที่เก็บข้อมูลของคุณ แต่มีหน้าคุณสมบัติฟิลด์ปรับเปลี่ยนที่อธิบายวิธีการใช้ ArcGIS 10.2 (หรือใหม่กว่า):

คุณสมบัติของฟิลด์บางอย่างสามารถเปลี่ยนแปลงได้หลังจากสร้างตารางหรือคุณสมบัติคลาส

... แต่จะมีผลกับฟิลด์ที่ว่างเท่านั้น

จาก 10.3 ฟังก์ชันการทำงานข้างต้นยังมีให้ผ่านเครื่องมือ Alter Fields :

เปลี่ยนชื่อฟิลด์และชื่อแทนฟิลด์หรือแก้ไขคุณสมบัติของฟิลด์


ต้องการความแม่นยำ ตั้งแต่ 10.2.1
GeoStoneMarten

@GeoStoneMarten Alter ที่ 10.2.1 ดูเหมือนจะเป็นเพียงการเปลี่ยนชื่อฟิลด์ในขณะที่คำตอบของฉันเกี่ยวข้องกับการแก้ไขประเภทข้อมูลและฉันคิดว่ายังคงใช้ได้ อย่างไรก็ตามคำตอบโดย @Paulแนะนำให้ Alter Fields ขยายฟังก์ชันการทำงานเพื่อรวมการแก้ไขชนิดข้อมูลที่ 10.3
PolyGeo

ไม่เพียง แต่ใช่ถ้ามีข้อมูลที่มีอยู่ ... ตกลงเพื่อสิ่งอื่น
GeoStoneMarten

2

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

ถ้าตารางหรือคุณลักษณะอยู่ในองค์กร, เวิร์กกรุ๊ปหรือฐานข้อมูล เดสก์ท็อปคุณต้องเชื่อมต่อเป็นเจ้าของตารางเพื่อแก้ไขคุณสมบัติของฟิลด์

เมื่อคุณจัดการกับ Excel วิธีที่ดีที่สุดเพื่อให้แน่ใจว่าชนิดข้อมูลของคุณถูกต้องคือการกำหนดประเภทข้อมูลเซลล์โดยตรงใน Excel ก่อนนำเข้าข้อมูลใด ๆ หากคุณมีฟิลด์ข้อความที่มีตัวเลขคุณสามารถสร้างฟิลด์ใหม่ของประเภทตัวเลข (จำนวนเต็มหรือจำนวนเต็มสองเท่า) และคำนวณค่าตามฟิลด์ข้อความนี้ วิธีนี้จะใช้งานได้ดีถ้าหมายเลขของคุณเป็นตัวเลขจริง ๆ ("12" จะใช้งานได้ แต่ "12-1" จะไม่ทำงาน)


2

สำหรับความรู้ของฉันมันเป็นไปไม่ได้ ใน 10.3, Alter Fieldถูกขยายเพื่อให้สามารถเปลี่ยนแปลงชนิดของฟิลด์ได้ อย่างไรก็ตามยังคงใช้ได้เฉพาะเมื่อตารางไม่มีระเบียนใด ๆ

นี่เป็นวิธีหนึ่งในการทำเช่นนี้แม้ว่า:

  1. เพิ่มเขตข้อมูลใหม่ด้วยชื่อชั่วคราวและชนิดข้อมูลที่ถูกต้อง
  2. ใช้Calculate Fieldหรือcursors(ด้วยการหล่อหากจำเป็น)
  3. ลบฟิลด์เก่า
  4. Alter Field เพื่อเปลี่ยนชื่อฟิลด์ชั่วคราว
  5. (ไม่บังคับ) คัดลอกตารางด้วยการแมปฟิลด์บางอย่างเพื่อคืนค่าใบสั่งดั้งเดิม

ฉันไม่เคยตรวจสอบมัน แต่การแมปฟิลด์อาจทำงานเพื่อส่งฟิลด์ไปยังชนิดข้อมูลใหม่ซึ่งจะทำให้กระบวนการนี้ง่ายขึ้นมาก สิ่งที่ต้องพิจารณาอย่างแน่นอน ....


1
ฉันมักจะเปลี่ยนชื่อฟิลด์เก่าก่อน วิธีนั้นฉันสามารถ - สร้างฟิลด์ใหม่คำนวณค่าแล้วลบฟิลด์เก่าเมื่อคุณเริ่มคำนวณค่าที่คุณอาจต้องเลือกค่าที่ไม่ใช่ค่า null ทั้งหมด และหรือแปลง / แยกค่าสตริงใด ๆ
Brad Nesom

1
เครื่องมือยังมีฟังก์ชั่นฟรีบางอย่างที่จะเป็นประโยชน์ ian-ko.com ดูฟังก์ชั่นฟรีที่ geo-wizards
Brad Nesom

@Brad ฉันได้ดูในฟังก์ชั่นฟรี xtools มีประโยชน์ แต่ฉันมักจะเปิดตัวเลือกเพิ่มเติม / ดีกว่าเสมอ ขอบคุณสำหรับการป้อนข้อมูล
ดิ้นรน

@BradNesom จุดดี! นั่นจะทำให้รู้สึกมากขึ้น
Paul

1

วิธีอื่นประกอบด้วยการเปิด.dbfไฟล์ของคุณในOpenOffice Calc (หรือเทียบเท่า) และแก้ไขส่วนหัวของคอลัมน์อย่างระมัดระวัง เช่นเปลี่ยนประเภทจากC(ตัวละคร) เป็นN(ตัวเลข) คำแนะนำง่ายๆ: สำรองไฟล์ของคุณก่อนที่จะลอง


1

แม้ว่าคุณจะไม่สามารถเปลี่ยนชื่อฟิลด์และชนิดข้อมูลในชุดข้อมูลเองได้ แต่ก็เป็นไปได้ที่จะสร้างสำเนาที่มีการเปลี่ยนแปลงที่ต้องการโดยใช้เครื่องมือ ArcGIS "คลาสคุณลักษณะเป็นคลาสคุณลักษณะ" ในการตั้งค่าคุณสามารถเปลี่ยนชื่อประเภทข้อมูลและคุณสมบัติอื่น ๆ ของฟิลด์


1

ก่อนอื่นต้องพยายามทำความเข้าใจว่าทำไม ArcGIS นำเข้าเขตข้อมูลเป็นชนิดสตริงแทนที่จะเป็นชนิดข้อมูลตัวเลข / คู่ ฉันพบว่าแม้ว่าเซลล์ของคุณ (ใน Excel) จะว่างเปล่าหากมี "ช่องว่าง" ด้านใน (เช่นเมื่อคุณกด spacebar) ArcGIS จะตีความสิ่งเหล่านี้เป็นอักขระ หากคุณลบออกคุณจะเห็นว่าตอนนี้พวกเขาจะลงทะเบียนเป็นเขตข้อมูลตัวเลข


0

ลองดูที่เอกสารนี้ โดยทั่วไปคุณต้องแน่ใจว่าข้อมูลอยู่ในรูปแบบที่ถูกต้องก่อนและหลังการนำเข้า

"โดยทั่วไป ArcGIS จะแปลงฟิลด์ตัวเลขสเปรดชีตเป็นความแม่นยำสองเท่า (Double) ซึ่งอาจไม่ตรงกับความต้องการของคุณหากจำเป็นให้สร้างฟิลด์ใหม่ของประเภทที่ต้องการและคำนวณค่าลงในช่องเหล่านั้น"


0

หากเป้าหมายของคุณคือการเพิ่มข้อมูลจากตาราง X ไปยังอีกตาราง Yแต่คุณทำไม่ได้เพราะประเภทข้อมูลไม่สอดคล้องกันคุณสามารถทำตามขั้นตอนเหล่านี้ได้:

  1. ส่งออกทั้งสองตาราง (.dbf)

  2. เปิดตาราง Y ใน excel

  3. เปิดตาราง X ใน excel

  4. คัดลอกและวางข้อมูลจากตาราง X ไปยังตาราง Y โดยตรวจสอบให้แน่ใจว่าคุณคัดลอกค่าเท่านั้นไม่ใช่แบบฟอร์ม

  5. ตอนนี้คุณมีตารางใหม่ที่มีข้อมูลจากทั้งสองตารางพร้อมกับชนิดข้อมูลที่สอดคล้องกัน

6. นำเข้าตารางนี้ใน ArcMap


0

ไม่มีใครพูดถึงชุดเครื่องมือเอ็กซ์เรย์สำหรับ ArcGIS เพียงทำการค้นหาโดย Google สำหรับ "X-Ray ArcGIS" มีหลายรุ่นสำหรับแต่ละเวอร์ชั่นและแพลตฟอร์ม ArcGIS (ArcCatalog, ArcMap) นี่คือหนึ่งรุ่น นี่คืออีก สนับสนุนฟังก์ชันที่เกี่ยวกับฟิลด์และโดเมนมากมายรวมถึงการเปลี่ยนประเภทฟิลด์ชื่อนามแฝงโดเมน ฯลฯ ใน MS Excel และอัปโหลดการเปลี่ยนแปลงกลับสู่ GDB

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.