আমি এই প্রশ্নটি দেখতে পেয়েছি যা আমি একই জিনিস বলে মনে করি। আমি চেয়েছিলাম এটি সমস্ত তোরণ দিয়েই শেষ করা উচিত। লিনিয়ার রেফারেন্সিংটি ব্যবহার করা আমার বোধগম্য হয়নি কারণ আমার ইতিমধ্যে পয়েন্ট ইভেন্টগুলি নেই (এবং এগুলি পেতে কীভাবে এলআর ব্যবহার করতে পারি তা আমি বুঝতে পারি না)। আমি যেটা ব্যবহার করে শেষ করেছিলাম তা হ'ল
line = arcpy.Polyline(arrayPts)
pt = line.positionAlongLine (0.99, 'True')
এর জন্য 10.1 বা তারও বেশি আর্ক প্রয়োজন; আমার কাছে আর্কআইএনফো লাইসেন্সিং স্তরের (ওপি নির্দিষ্ট করা আর্কভিউ) এর নীচে এটি উপলব্ধ ছিল কিনা তা আমি বুঝতে সক্ষম হয়েছি।
উপরের আমার উদাহরণে, আমি একটি নির্দিষ্ট দুরত্বের চেয়ে নয়, সামগ্রিক লাইনের দৈর্ঘ্যের শতকরা একটি পয়েন্ট চেয়েছিলাম। এটি করার জন্য, আমি দ্বিতীয় alচ্ছিক যুক্তি সরবরাহ করেছি positionAlongLine
। আপনি যদি কেবল একটি নিখুঁত দূরত্ব নির্দিষ্ট করতে চান তবে আপনি দ্বিতীয় আরগটি এড়িয়ে যান। এখানে ডক এর ।
পূর্ণ কোড নমুনা হয়
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
আমার সমস্ত পয়েন্টগুলি ফিচার ক্লাসে ফিরিয়ে দেওয়ার জন্য খুব সুন্দর উপায় ছিল (সেই অংশটির জন্য আমার সহকর্মী কার্টিসকে ধন্যবাদ!)। ডাব্লু / Append_management
কিন্তু পরীক্ষা করা হয়েছে তবে এটি মোটামুটি ধীর ছিল।