หนึ่งต่อหลายคนเข้าร่วมในคลาสคุณลักษณะไปยังตาราง


10

ฉันใช้ ArcMap 10.2.2 พร้อมใบอนุญาตขั้นสูง ฉันใช้ ArcMap สำหรับการวิเคราะห์ขั้นพื้นฐานอื่น ๆ แต่ค่อนข้างใหม่สำหรับโปรแกรมและมีทักษะการเขียนโปรแกรมขั้นพื้นฐานเท่านั้นโดยไม่มีประสบการณ์ SQL นอกเหนือจากการสืบค้นพื้นฐานมากโดยใช้ตัวสร้างรหัส SQL ใน ArcMap

ฉันมีรูปหลายเหลี่ยมของพื้นที่ทางภูมิศาสตร์ของสปีชีส์และฉันมีตารางที่มีรายการของเชื้อโรค / โรคที่ดำเนินการโดยสปีชีส์เหล่านั้น สายพันธุ์บางชนิดมีเชื้อโรคหลายชนิด ในโลกอุดมคติฉันจะเข้าร่วมรูปหลายเหลี่ยมในตารางของสปีชีส์ + จุลชีพก่อโรคและเก็บข้อมูลรูปหลายเหลี่ยม / อวกาศ แต่ดูเหมือนจะไม่มีเครื่องมือ GIS ที่จะทำสิ่งนี้ (ฉันจะ ต่อมานับจำนวนเชื้อโรคที่ทับซ้อนกันดังนั้นสิ่งสำคัญคือการรวมกันของสปีชีส์ของเชื้อโรคแต่ละชนิดมีคุณสมบัติของตัวเองมากกว่าหนึ่งคุณลักษณะที่มีข้อมูลสำหรับเชื้อโรคหลายชนิด) ข้อมูลของฉันมีลักษณะเป็นอย่างไร (# 1 & # 2, # 3 สำหรับใช้ภายหลัง):

ตารางคุณสมบัติสำหรับคุณสมบัติเชิงพื้นที่:

ตารางคุณสมบัติสำหรับคุณสมบัติเชิงพื้นที่

ตารางที่ไม่มีข้อมูลเชิงพื้นที่:

ตารางที่ไม่มีข้อมูลเชิงพื้นที่

(โปรดทราบว่าสิ่งเหล่านี้ไม่ใช่ข้อมูลจริงและการรวมกันของสปีชีส์ของเชื้อโรคอาจไม่จริงจริง ๆ แล้วฉันมี 115 รูปหลายเหลี่ยมและ 519 แถวของตารางชนิดของสายพันธุ์มีที่ใดก็ได้ระหว่าง 1-40 เชื้อโรคและสปีชีส์ โต๊ะของฉัน)

ในฐานะที่เป็นโบนัสที่เพิ่มเข้ามาเนื่องจากการวิเคราะห์ในอนาคตที่ฉันต้องทำฉันจึงต้องการที่จะสามารถเข้าร่วมแบบหนึ่งต่อหลายคนนี้เพื่อให้ฉันสามารถเก็บคอลัมน์พิเศษของข้อมูลจากตาราง (ดูตัวอย่างด้านล่างของ ลักษณะนี้อาจมีลักษณะอย่างไร) อย่างไรก็ตามสิ่งนี้มีความสำคัญน้อยกว่าเพราะถ้าฉันสามารถหาวิธีการเข้าร่วมได้ฉันก็สามารถทำการวิเคราะห์ซ้ำได้

ตารางที่ไม่มีข้อมูลเชิงพื้นที่ที่มีเขตข้อมูลพิเศษ

มีวิธีแก้ปัญหาเล็กน้อยที่ฉันพบกับปัญหานี้ แต่พวกเขาไม่ได้ผลสำหรับฉันตามเหตุผลด้านล่าง:

โซลูชันที่ 1: บล็อกของ David Aalbers - ฉันเป็นมือใหม่มากเกินกว่าจะหาวิธีแก้ไขสคริปต์ที่ใหม่กว่าและหาวิธีนำเข้าสู่ ArcMap ได้ ฉันลองใช้สคริปต์เก่าและเพิ่งสร้างรูปหลายเหลี่ยมที่ว่างเปล่าชื่อการทดสอบ, test_1, test_1_1, test_1_1_1 ฯลฯ

โซลูชันที่ 2: One-To-Many Join - ฉันพยายามใช้เครื่องมือสร้างตารางแบบสอบถาม (และฉันไม่มีความรู้เกี่ยวกับ SQL ถึงแม้ว่าฉันใช้ตัวสร้างนิพจน์) และฉันได้รับข้อผิดพลาด 000383: ปัญหาเกี่ยวกับตารางไม่สามารถหาพื้นที่ทำงาน & ไม่สามารถดำเนินการ (MakeQueryTable) ไฟล์ทั้งหมดของฉันอยู่ในโฟลเดอร์เดียวกัน แต่ไม่อยู่ในฐานข้อมูลทางภูมิศาสตร์


1
Make Query Table จะทำงานกับฐานข้อมูลเท่านั้น
FelixIP

1
สร้าง Query Table ต้องการข้อมูลทั้งหมดใน fgdb เดียวกัน
klewis

คำตอบ:


22

ในการเพิ่มคุณสมบัติต่างๆให้ทำเช่นนี้ (มีให้สำหรับผู้ที่มี ArcGIS 10.1 ขึ้นไป)

  1. วางคุณสมบัติและตารางลงในไฟล์ฐานข้อมูลภูมิศาสตร์เดียวกัน (คุณต้องแปลงไฟล์ Shapefiles / Excel / DBF เป็นฐานข้อมูลภูมิศาสตร์เพื่อให้สิ่งนี้ทำงานได้)
  2. ตรวจสอบให้แน่ใจว่ารูปหลายเหลี่ยมของคุณมีช่อง ID ที่ไม่ซ้ำกันซึ่งจะถูกเก็บรักษาไว้ (คุณสามารถสร้างเขตข้อมูลแบบยาวและคำนวณ ObjectID ลงในนั้นเพื่อให้ค่า ObjectID จะไม่สูญหายไป)
  3. ทำการเข้าร่วมมาตรฐานของตาราง (คุณลักษณะไม่มีข้อมูลเชิงพื้นที่) กับคุณลักษณะ (ข้อมูลเชิงพื้นที่) ในฟิลด์การจับคู่ โปรดทราบว่าตารางคุณลักษณะของคุณสมบัติ (ข้อมูลเชิงพื้นที่) จะมีจำนวนคุณลักษณะเหมือนกันกับที่เคยทำมาก่อน แต่ไม่ต้องกังวลเกี่ยวกับสิ่งนี้คุณลักษณะทั้งหมดจะปรากฏในขั้นตอนถัดไป
  4. ส่งออกคุณสมบัติไปยังฐานข้อมูลภูมิศาสตร์เดียวกันกับคลาสคุณลักษณะใหม่ (คลิกขวาที่เลเยอร์จากสารบัญและเลือกส่งออก) โปรดทราบว่าจำนวนคุณลักษณะในตารางแอตทริบิวต์ของคุณลักษณะที่ส่งออกตอนนี้มีจำนวนคุณสมบัติที่ถูกต้องเช่นเดียวกับตารางดั้งเดิม (ที่มีแอตทริบิวต์ไม่มีข้อมูลเชิงพื้นที่) หรือในกรณีที่เข้าร่วมจำนวนมากถึงมากชุดที่สมบูรณ์ คุณสมบัติสำหรับการรวมกันของคุณสมบัติและบันทึกที่เกี่ยวข้อง

ฟีเจอร์จะทวีคูณในคลาสฟีเจอร์ใหม่ที่ทุกฟีเจอร์จะปรากฎ (แม้ว่าจะไม่มีการแข่งขันในตาราง) และมีการจับคู่ 1: M มาก่อนฟีเจอร์จะถูกคูณเพื่อให้เป็น 1: 1 จับคู่ของแต่ละคุณสมบัติกับรายการตารางทั้งหมด ฟิลด์ ID ที่ไม่ซ้ำกันซึ่งคุณสร้างขึ้นในขั้นตอนที่ 2 จะช่วยให้คุณสามารถเชื่อมโยงรูปหลายเหลี่ยมหลายรูปแบบเข้ากับชุดรูปหลายเหลี่ยมชุดเดิมได้ ด้วยคลาสฟีเจอร์ใหม่ของฟีเจอร์ที่ทวีคูณคุณสามารถทำการเลือกในฟิลด์ตาราง, สรุป, Spatial Joins, ฯลฯ

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

นี่คือข้อมูลอ้างอิงที่ดีจาก esri: https://support.esri.com/th/technical-article/000001228


ทำงานอย่างสมบูรณ์แบบเมื่อส่งออกไปยังภายในฐานข้อมูลภูมิศาสตร์!
MooseGirl

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

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

1
ฉันเพิ่มว่าคุณลักษณะที่เข้าร่วมจะไม่มีจำนวนแอตทริบิวต์ที่ถูกต้องและคุณลักษณะที่ส่งออกจะ สิ่งนี้ทำให้ฉันผิดหวังมากเมื่อฉันลองทำสิ่งนี้จนกระทั่งฉันทำตามทุกขั้นตอน
nittyjee

มันอ่านเหมือนว่ามี 'ไม่' หายไปใน # 3 "... จะnotมีคุณสมบัติจำนวนเท่ากัน ... "
matt wilkie

-2

แบบสอบถาม SQL:

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