जब मैं आकृति के लिए मल्टीपार्ट ज्यामिति लिखने के लिए आर्कपी का उपयोग कर रहा हूं तो मैं एक अजीब मुद्दे पर भाग गया हूं। मैं शीर्ष जोड़ी की सूची के साथ प्रत्येक भाग की एक सूची से एक मल्टीपार्ट सुविधा बनाने के लिए एक InsertCursor का उपयोग कर रहा हूं। मैं समझता हूं कि जब यह सुविधा बनाई जाती है, तो आसन्न कई भाग स्वचालित रूप से "भंग" हो जाते हैं। लेकिन किसी कारण के लिए, यह एक आंतरिक रिंग बना रहा है, भले ही मैंने सरणी में एक नल आर्कपी (बिंदु) शामिल नहीं किया था, जैसा कि आमतौर पर इंटीरियर रिंग को जोड़ने के लिए आवश्यक होता है। यहाँ एक दृश्य है:
किसी को भी पता नहीं है कि ऐसा क्यों हो रहा है और / या इस मुद्दे को कैसे दूर किया जाए?
संदर्भ के लिए, यहां मेरा कोड है:
import arcpy
arcpy.CreateFeatureclass_management(r"C:\temp", "test.shp", "POLYGON")
OutputCursor = arcpy.InsertCursor(r"C:\temp\test.shp")
# List of parts, each with list of vertex pairs
ListOfParts = []
ListOfParts.append([[0,1],[1,1],[1,0],[0,0],[0,1]])
ListOfParts.append([[0,2],[1,2],[1,1],[0,1],[0,2]])
ListOfParts.append([[0,3],[1,3],[1,2],[0,2],[0,3]])
ListOfParts.append([[1,1],[2,1],[2,0],[1,0],[1,1]])
ListOfParts.append([[1,2],[2,2],[2,1],[1,1],[1,2]])
ListOfParts.append([[1,3],[2,3],[2,2],[1,2],[1,3]])
ListOfParts.append([[2,1],[3,1],[3,0],[2,0],[2,1]])
ListOfParts.append([[2,2],[3,2],[3,1],[2,1],[2,2]])
ListOfParts.append([[2,3],[3,3],[3,2],[2,2],[2,3]])
# Array of parts to be passed to newRow()
ArrayOfParts = arcpy.Array()
# Add parts to array
for Part in ListOfParts:
ArrayOfVertices = arcpy.Array()
for Vertex in Part:
ArrayOfVertices.add(arcpy.Point(Vertex[0],Vertex[1]))
ArrayOfParts.add(ArrayOfVertices)
ArrayOfVertices.removeAll()
# Output new feature
OutputFeature = OutputCursor.newRow()
OutputFeature.shape = ArrayOfParts
OutputCursor.insertRow(OutputFeature)