আর্কপি ব্যবহার করে লাইনের মধ্য-পয়েন্টটি সন্ধান করছেন?


12

কোনও পাইলাইনের মধ্য-পয়েন্ট কীভাবে জিওপ্রসেসিং ফ্রেমওয়ার্ক ব্যবহার করে গণনা করা যেতে পারে , যেমন পাইথন স্ক্রিপ্টে?

Polyline.centroid সম্পত্তি ফেরৎ সত্য centroid যদি এটা মধ্যে অথবা বৈশিষ্ট্যটি হয়; অন্যথায়, লেবেল পয়েন্টটি ফিরে আসবে । সেন্ট্রয়েডটি খুব কমই স্ট্রেটবিহীন লাইনে অবস্থিত, যা আমার উদ্দেশ্যগুলির জন্য অকেজো।

পয়েন্ট বৈশিষ্ট্য প্রান্তবিন্দু টুল একটি মিডপয়েন্ট বিকল্প থাকে কিন্তু এই ArcInfo, যা আমি বর্তমানে নেই প্রয়োজন।

পলাইনগুলিতে ব্যবস্থা যুক্ত করা এবং লাইন ধরে 50% একটি রুট ইভেন্ট তৈরি করা একটি বিকল্প হতে পারে।

আর একটি কর্মসূচী হ'ল আর্কম্যাপে গণনা জ্যামিতি বিকল্পটি ব্যবহার করা, তবে আদর্শভাবে আমাকে একটি স্ক্রিপ্টে এই প্রক্রিয়াটি স্বয়ংক্রিয় করতে হবে।

আরও ভাল / দ্রুত পরামর্শ?

আমি এই মুহুর্তের জন্য আরকজিআইএস 10.0 (কোনও আরকআইএনফো স্তরের লাইসেন্স অ্যাক্সেস ছাড়াই) সীমাবদ্ধ।


4
এই প্রশ্নটি দেখুন । শেষ পর্যন্ত আমি মিড পয়েন্ট নির্ধারণের জন্য শেপলিতে লিনিয়ার রেফারেন্সিং ফাংশনগুলি ব্যবহার করেছি।
মাইক টি

1
আমার মনে হয় @ মাইকটিউউজের সঠিক ধারণা আছে এবং এটি কেবল আকারে নেওয়ার বিপরীতে আর্কজিআইএসে লিনিয়ার রেফারেন্সিং ফাংশনগুলি ব্যবহার করুন। দেখে মনে হচ্ছে এটি এমন ফাংশন যা আপনি চাইবেন: রুট ইভেন্ট লেয়ার করুন - লিনিয়ার রেফারেন্সিং । আপনি সম্ভবত ফ্লাইতে ইভেন্ট টেবিল তৈরি করতে পারেন। এটি 10.1 এর জন্য, তবে 10.0 তে একই হওয়া উচিত।
স্থানিক পান

1
এই ব্লগে এমন একটি অ্যালগরিদম রয়েছে যা পাইথন / আর্কপাইতে রূপান্তর করতে পারে: rbrundritt.wordpress.com/2008/10/14/…
পলিজিও

কেউ কি জাভাস্ক্রিপ্টে এটি করেছে? আমি এটি সফলভাবে কেবল আর্পিতে করেছিলাম। আন্তরিকভাবে এজেকুইয়াস
এজেকুইয়াস

আপনার যদি নতুন প্রশ্ন থাকে তবে দয়া করে প্রশ্ন জিজ্ঞাসা বোতামটি ক্লিক করে এটি জিজ্ঞাসা করুন । যদি এই প্রসঙ্গে সরবরাহ করতে সহায়তা করে তবে এই প্রশ্নের একটি লিঙ্ক অন্তর্ভুক্ত করুন। - পর্যালোচনা থেকে
বেরা

উত্তর:


23

পলিলাইন বর্গ নতুন পদ্ধতি ArcGIS 10.1 মধ্যে "positionAlongLine" বলা হয়েছে। এটি লাইনের প্রারম্ভিক প্রান্ত থেকে নির্দিষ্ট দূরত্বে ঠিক এক বিন্দু সহ, বা শুরু এবং শেষের মধ্যে দূরত্বের একটি ভগ্নাংশের সাথে একটি পয়েন্টজিওমেট্রি অবজেক্টটি ফিরিয়ে দেবে । মিডপয়েন্টটি খুঁজে পেতে, আপনাকে কেবল করা দরকার । লাইনগুলির জন্য মিডপয়েন্টগুলি সন্ধান করতে এবং বৈশিষ্ট্য সারণিতে তাদের স্থানাঙ্কগুলি যুক্ত করতে, আপনি নিম্নলিখিত বিবৃতিতে ফিল্ড ক্যালকুলেটর করতে পারেন:positionAlongLine(0.5,True)

  • !Shape!.positionAlongLine(0.5,True).firstPoint.X
  • !Shape!.positionAlongLine(0.5,True).firstPoint.Y

নোট করুন যে এটি কাজ করার জন্য আপনাকে ফিল্ড ক্যালকুলেটরে পাইথন পার্সার ব্যবহার করা উচিত।

আপনি যদি পাইথনে এই পয়েন্ট অবজেক্টটি অ্যাক্সেস করতে চান তবে আপনি কেবল নিম্নলিখিতটি করতে পারেন:

Input_shp = "C:\Temp\Line.shp"
Cursor = arcpy.SearchCursor(Input_shp)
for Feature in Cursor:
    Midpoint = Feature.shape.positionAlongLine(0.50,True).firstPoint
    print Midpoint.X
    print Midpoint.Y

ধন্যবাদ, এটি দুর্দান্ত দেখাচ্ছে আমার উল্লেখ করা উচিত ছিল যে আমি বর্তমানে 10.0 এর মধ্যে সীমাবদ্ধ রয়েছি, সুতরাং উপরের রুট বিকল্পটি আপাতত যথেষ্ট হতে পারে
স্টিফেন লিড

ত্রুটি: সারিটিতে একটি খারাপ মান রয়েছে। আকৃতি .positionAlongLine (0.5, তিনি সত্যিকার) .firstPoint.X:!, ArcGIS10 ব্যবহার পাইথন সঙ্গে মডেল বিল্ডার চেক ইন, আমি একই বিবৃতিতে ব্যবহৃত
juasmilla

1

ইটি জিও উইজার্ডস লাইসেন্সের সাহায্যে আপনি "মিডল পয়েন্টস" এবং "ডুপ্লিকেট পয়েন্টগুলি সরান" ( al চ্ছিক) বিকল্পটি দিয়ে "পললাইন টু পয়েন্ট" ফাংশনটি চেষ্টা করতে পারেন: http://www.ian-ko.com/ET_GeoWizards/UserGuide/convertPl2Pnt। পেজটি

আপনি এটির মতো ইটি জিও উইজার্ডগুলি প্রয়োগ করতে পারেন:

toolbox_ETgeowizards = arcpy.GetParameterAsText(0) # Location ET Toolbox (Type: Toolbox)
arcpy.ImportToolbox(toolbox_ETgeowizards)

...

arcpy.ET_GPPolylineToPoints(pInFeatureClass, sOutFileName, sExportOption, bRemoveDuplicates)

ইটি ফাংশনের ইনপুট ভেরিয়েবলগুলির জন্য, দয়া করে দেখুন: http://www.ian-ko.com/ET_GeoWizards/UserGuide/Scriptting/scriptting_PolylineToPoint.htm

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.