การเข้าร่วมตารางโดยไม่สูญเสียชื่อฟิลด์เดิมใน ArcGIS for Desktop?


11

ฉันสงสัยว่ามีวิธีใดที่จะรักษาชื่อฟิลด์ดั้งเดิมใน ArcGIS เมื่อฉันเข้าร่วม csv หรือไม่ ตารางไปยัง Shapefile

ฉันถามเพราะบางครั้งฉันเข้าร่วมตารางที่มี 10, 20 หรือมากกว่าคอลัมน์และเมื่อส่งออกข้อมูลที่เข้าร่วม ArcGIS จะเปลี่ยนชื่อพวกเขาตามชื่อของตารางเดิมและคำสั่งของคอลัมน์ (เช่น table_xy_1, table_xy_2 เป็นต้น)

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


1
คุณสามารถใส่ภาพหน้าจอของสิ่งที่เกิดขึ้นได้หรือไม่? เมื่อฉันเพิ่ม csv จะใช้บรรทัดแรกเป็นชื่อฟิลด์และแสดงเมื่อคุณเปิดตาราง ดูเหมือนว่าคุณไม่มีชื่อที่ถูกต้องใน csv ของคุณหรือคุณมีชื่อเขตข้อมูลซ้ำกันระหว่างต้นฉบับและตารางการเข้าร่วม กราฟิกจะช่วยอธิบายปัญหาของคุณได้ชัดเจนยิ่งขึ้น
Spatial

เฮ้ ปัญหานี้เกิดขึ้นเมื่อคุณส่งออกข้อมูลไปยังรูปร่างไฟล์ใหม่เท่านั้น ภายในตัวเก่ามันก็ยังโอเค ฉันแก้ไขคำถามเพื่อให้เข้าใจได้อย่างสมบูรณ์
Dspanes

โปรดทราบว่าขณะนี้คุณสามารถใช้Alter Fieldsเพื่อ "เปลี่ยนชื่อเขตข้อมูลและชื่อแทนฟิลด์" ในคลาสหรือตารางคุณลักษณะ Geodatabase ใด ๆ
PolyGeo

คำตอบ:


21

ฉันคิดว่าสิ่งที่คุณพยายามทำคือไม่ใช้ "ชื่อตารางที่ผ่านการรับรองโดยสมบูรณ์"

หากต้องการทำเช่นนั้นในการตั้งค่าสภาพแวดล้อม -> การตั้งค่าทั่วไปให้ยกเลิกการเลือก "รักษาชื่อที่ผ่านการรับรองโดยสมบูรณ์"

ลองดูที่นี้ฟอรั่มการสนับสนุน Esriและบทความช่วยเหลือออนไลน์

หมายเหตุสิ่งนี้จะทำงานเมื่อเข้าร่วมไฟล์ DBF แต่จะไม่ทำงานเมื่อเข้าร่วม CSV (เพื่อเป็นการหลีกเลี่ยงปัญหาคุณสามารถแปลง CSV เป็น DBF แล้วเข้าร่วม)


ขอบคุณสำหรับคำแนะนำของคุณ Ryan ฉันเพิ่งตรวจสอบข้อมูลที่แนะนำและในทางทฤษฎีแล้วสิ่งนี้ควรแก้ปัญหาของฉันใช่ ดังนั้นฉันจึงไม่ได้ปลดล็อคตัวเลือกนี้ใน ArcGIS และยังบันทึกตัวเลือกนี้ไว้โดยไม่เลือกเป็นค่าเริ่มต้น แต่ด้วยเหตุผลบางอย่างเมื่อฉันส่งออกข้อมูลของฉันมันจะไม่ทำงาน ArcGIS ยังคงส่งออกข้อมูลเป็น: tableName.fieldName ในกรณีของฉันเอาต์พุตเป็นแบบนี้ Rural_I_1, Rural_I_2, Rural_I_3 เป็นต้น ... นี่อาจเป็นข้อผิดพลาดตั้งแต่ฉันใช้ ArcGIS 10.1 ... ฉันไม่รู้ วิธีแก้ปัญหาคือให้ชื่อสั้น ๆ กับตารางเช่น "1" ดังนั้น outpust คือ "1_csv_su" และฉันรู้ว่า su ย่อมาจาก sugercane
Dspanes

ฉันคิดว่ามันเป็นปัญหาพื้นฐานของการทำงานกับรูปแบบ shapefile ใน ArcGIS ข้อ จำกัด บางประการนี้ envolve ตัวอย่างเช่นการ จำกัด หมายเลข 10 สำหรับชื่อเขตข้อมูล(ดูgis.stackexchange.com/questions/15784/… ) หรือไม่สามารถส่งออกนามแฝงของฟิลด์ ( ideas.arcgis.com/ideaView?id=087300000008DwdAAE ) มันทำให้ฉันลงไปสู่ข้อสรุปว่ามันอาจจะดีกว่าที่จะทำงานบนโต๊ะนอก ArcGIS
Dspanes

3
@Johannes ก่อนทำงานกับข้อมูลของคุณนอก ArcGIS ทำไมไม่ลองแปลงข้อมูลของคุณเป็นรูปแบบฐานข้อมูลที่ทันสมัยกว่าที่ ArcGIS สนับสนุนเช่นไฟล์ geodatabsae หรือแม้แต่ฐานข้อมูลส่วนบุคคลทางภูมิศาสตร์ อย่างน้อยก็คุณจะรู้ว่ามันเป็นข้อ จำกัด ของ shapefile และไม่ใช่ข้อ จำกัด ของ Arc / Issue / Bug
RyanKDalton

2

ฉันแก้ไขปัญหานี้สำหรับกรณีเฉพาะ ฉันได้เข้าร่วมไฟล์. csv ไปยังไฟล์. shp และส่งออกข้อมูล ฉันได้รับปัญหา Rural_I_1 ที่อธิบายไว้ข้างต้น ... มันเป็นการต่อท้ายชื่อไฟล์ของ. csv กับชื่อฟิลด์

งานของฉันคือการส่งออกไฟล์. csv เป็นตาราง. dbf (จาก arcgis) ก่อน จากนั้นเข้าร่วมใน. dbf แทนที่จะเป็น. csv เมื่อคุณส่งออกข้อมูลทันทีคุณจะได้รับชื่อเขตข้อมูลเดิมโดยไม่ต้องต่อท้ายชื่อไฟล์


1

สมมติว่าคุณมีพิกัด (lat, long) ในตารางคุณลักษณะ (หากไม่สร้างโดยใช้เรขาคณิตคำนวณ) ...

  • เปิดตารางแอ็ตทริบิวต์ของ shapefile ที่มี csv เข้าร่วมและคัดลอกระเบียนทั้งหมด (เลือกทั้งหมดและคลิกขวาที่ลูกศรสีดำเล็ก ๆ ในคอลัมน์แรกแถวแรก (ใต้ชื่อฟิลด์มุมบนซ้าย)
  • เปิดหนังสือ excel วางผลลัพธ์
  • บันทึกเป็น. csv ใหม่
  • นำเข้า csv นี้ไปยัง ArcMap และชื่อฟิลด์จะถูกต้อง
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.