मैंने पाया कि मैं जो सोचता हूं वही करने की कोशिश कर रहा हूं। मैं यह सब चापलूसी के माध्यम से करना चाहता था। रैखिक संदर्भ का उपयोग करना मेरे लिए समझ में नहीं आ रहा था क्योंकि मेरे पास पहले से ही घटनाएँ नहीं हैं (और मैं यह पता नहीं लगा सका कि एलआर का उपयोग कैसे किया जाए)। मैंने जो प्रयोग किया था उसका क्रुक्स था
line = arcpy.Polyline(arrayPts)
pt = line.positionAlongLine (0.99, 'True')
इसके लिए आर्क 10.1 या उच्चतर की आवश्यकता होती है; मैं यह पता लगाने में सक्षम नहीं था कि यह आर्कइन्फो लाइसेंसिंग स्तर मेरे पास उपलब्ध था (ओपी निर्दिष्ट आर्कवे)।
ऊपर मेरे उदाहरण में, मैं एक बिंदु तय दूरी पर नहीं, बल्कि समग्र पंक्ति लंबाई के एक प्रतिशत से चाहता था। ऐसा करने के लिए, मैंने दूसरा वैकल्पिक तर्क दिया positionAlongLine
। यदि आप सिर्फ एक निरपेक्ष दूरी निर्दिष्ट करना चाहते हैं तो आप दूसरा arg छोड़ते हैं। यहाँ डॉक्टर है ।
फुलर कोड नमूना है
import numpy
ptsList = list()
id = 0
with arcpy.da.SearchCursor('flFL', ["SHAPE@"]) as cursor:
for row in cursor:
arrayPts = row[0].getPart()
line = arcpy.Polyline(arrayPts)
pt = line.positionAlongLine (0.99, 'True')
ptsList.append((id, (pt.getPart().X, pt.getPart().Y)))
id += 1
array = numpy.array([ptsList], \
numpy.dtype([('idfield',numpy.int32),('XY', '<f8', 2)]))
SR = arcpy.Describe("flFL").spatialReference
arcpy.da.NumPyArrayToFeatureClass(array, 'nsegSamplePts', ['XY'], SR)
'flFL'
लाइनों की मेरी विशेषता है जिस पर मैं अंक का पता लगाना चाहता हूं। बहुत तेज दौड़ता है। NumPyArrayToFeatureClass
मेरे सभी बिंदुओं को वापस एक फीचरक्लास में डंप करने का एक बहुत अच्छा तरीका था (उस हिस्से के लिए मेरे सहयोगी कर्टिस के लिए धन्यवाद)। W / प्रयोग कर रहा था, Append_management
लेकिन वह थोड़ा धीमा था।