จะละลายรูปหลายเหลี่ยมที่ซ้อนกันได้อย่างไร


10

ฉันมีคำถามเกี่ยวกับการยุบคุณสมบัติรูปหลายเหลี่ยมใน ArcGIS 9.3 ฉันมีใบอนุญาตแบบเปลือยเปล่าและมีความรู้พื้นฐานเกี่ยวกับ VB เป็นอย่างยิ่ง

ฉันมีไฟล์รูปร่างขนาดใหญ่ที่มีรูปหลายเหลี่ยมประมาณ 4,500 รูปหลายเหลี่ยมและฉันต้องการทราบว่ามีการยุบรูปที่ทับซ้อนกันอยู่หรือไม่ โดยทั่วไปฉันต้องการเปลี่ยนเลเยอร์นี้เป็นรูปร่างไฟล์ที่มีพื้นที่แยกต่างหากดังนั้นที่หนึ่งรูปหลายเหลี่ยมอยู่ในตัวมันเองจะยังคงอยู่ แต่ที่รูปหลายเหลี่ยมซ้อนทับกันพวกเขาละลายเป็น 1 โดยแต่ละพื้นที่แยกมีชุดคุณลักษณะของตัวเอง Shapefile มีการเปลี่ยนแปลงค่อนข้างบ่อยจนถึงตอนนี้ฉันได้ผ่านทุกอย่างไปแล้วและการยุบพื้นที่ทับซ้อนด้วยตนเองโดยใช้เครื่องมือแก้ไข แต่ฉันแน่ใจว่ามีวิธีที่เร็วกว่ามากในการทำ!

มีความเข้าใจเกี่ยวกับความสำเร็จของสิ่งนี้อย่างไร?


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


คำตอบที่ดี Brad Nesom คุณจะรับค่าตารางคุณสมบัติเดิมไปยังรูปร่างไฟล์ที่ละลายได้อย่างไร
Gunnar

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

คำตอบ:


13

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

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

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


14

@Tom Parker - MWrenn ถูกต้อง
คุณมีตัวเลือกในการเลือกแอททริบิวที่จะละลาย (การทำเช่นนี้จะทำให้แอททริบิวหายไป) หรือไม่มีแอททริบิว (การทำเช่นนี้จะเป็นการละลายเชิงพื้นที่)

เลือกสถิติและคุณลักษณะใด ๆ ที่คุณต้องการดำเนินการ (สิ่งนี้จะไม่ทำงานอย่างที่คุณต้องการ)

ตัวเลือก

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

หากคุณต้องการความช่วยเหลือในเรื่องนี้โปรดแจ้งให้ฉันทราบและฉันจะโพสต์ภาพหน้าจอมากขึ้นหรือค้นหาความช่วยเหลือเกี่ยวกับศูนย์ทรัพยากร arcgis.com

หากคุณสังเกตเห็นในภาพหน้าจอต่อไปนี้ชื่อจะเหมือนกันในรูปหลายเหลี่ยมทั้งหมด (9.3.1 ดูเหมือนจะไม่ละลายอย่างถูกต้องจาก arcmap) ลองจาก arccatalog

ท้ายที่สุดละลาย

บางทีคนอื่นจะมีวิธีที่ดีกว่า

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


4

คุณสามารถสร้างโมเดลภายใน Model Builder และส่งออกสคริปต์จากนั้นคัดลอกและวางสคริปต์นั้นไปยัง UIButtonControl ภายใน ArcMap vba ดูตัวอย่างสคริปต์ด้านล่าง

Private Sub Dissolve_Click()

' Create the Geoprocessor object
set gp = CreateObject("esriGeoprocessing.GPDispatch.1")

' Load required toolboxes...
gp.AddToolbox "C:/Progra~1/ArcGIS/ArcToolbox/Toolboxes/Data Management Tools.tbx"

' Local variables...

Dim test_shp as string

test_shp = "C:\Temp\test.shp"
Output_Feature_Class = "C:\Temp\test_Dissolve.shp"

' Process: Dissolve...
gp.Dissolve_management test_shp, Output_Feature_Class, "", "", 
  "MULTI_PART", "DISSOLVE_LINES"

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