আরকজিআইএস ডেস্কটপ ব্যবহার করে উচ্চতা অনুসরণ করে বাফার বহুভুজ তৈরি করছেন?


14

আমি যা দেখতে চাইছি তা বহুগুণে একটি 100 মিটার বাফার স্থাপন করা হয়, তবে "কাকটি উড়ে যাওয়ার সাথে সাথে" বাফার একটি নির্দিষ্ট প্রস্থে থাকায় "আমি চাই যে এটি আমার লিডার ডেমের opালু অনুসরণ করুন।

আমার কাছে আরক্যাপ (থ্রিডি অ্যানালিস্ট) রয়েছে। দুর্ভাগ্যক্রমে আরকম্যাপের সাথে কোনও স্থানিক বা নেটওয়ার্ক বিশ্লেষক এক্সটেনশন নেই।

প্রক্সিমিটি অ্যানালাইসিস, পথের দূরত্ব বিশ্লেষণ এবং অ্যানিসোট্রপিক সংযোজনীয় ব্যয়ের দিকে নজর রেখে আমি ইন্টারনেটকে ঘুরিয়ে ফেলেছি। দেখে মনে হচ্ছে যে আমি কোনওভাবে একটি সময় ব্যয় গ্রিড তৈরি করা উচিত এবং বহুভুজ থেকে 100 মিটার পৌঁছাতে কত সময় লাগবে তা সন্ধান করতে হবে, তবে এটি পিছনে বলে মনে হচ্ছে seems এই সরঞ্জামগুলির সিংহভাগ দুটি পয়েন্টের মধ্যে সবচেয়ে সহজতম পথটি খুঁজে পেতে তৈরি করা হয়েছে বলে মনে হয়।

এর আগে কি কেউ এটি করেছে?


1
আপনি যখন বলেন যে "theালু অনুসরণ" করতে চান, আপনি কি বোঝাতে চেয়েছেন যে যদি কোনও ডিইএম সেল এর slালু জুড়ে 1 মিটার সমতল হয়, আপনি আপনার বাফারে এটি 1 মি হিসাবে গণনা করতে পারেন, তবে যদি একটি পক্ষ অন্যটির চেয়ে 1 মিটার উচ্চ হয়, আপনি এটি গণনা করা হবে 1.41 মি হিসাবে (পৃষ্ঠতল বরাবর দূরত্ব)?
ড্যান সি

হুবহু, এই ক্ষেত্রে আমাদের জলাভূমি থেকে 100 মিটার দূরে দেখাতে হবে এবং এর ঠিক পাশেই একটি পাতাগুলি রয়েছে। আমি মনে করি আমি রাস্টার এর ঘরের আকারের উপর ভিত্তি করে opeাল শতাংশকে মিটারে রূপান্তর করতে কিউজিসআইএসের রাস্টার ক্যালকুলেটর ব্যবহার করতে পারি। আমি প্রতিটি পিক্সেল ম্যানুয়ালি পরীক্ষা না করে 100 মিটার পর্যন্ত কীভাবে এগুলি যুক্ত করব তা আমি জানতাম না তবে হ্যাঁ আমি এটিই বলছি।
আর লেয়ার্ড

উত্তর:


7

স্থানিক বিশ্লেষকের অনুপস্থিতিতে আপনি যা বর্ণনা করেন তার জন্য কার্যনির্বাহী:

arcpy.Buffer_analysis("target","../buffer.shp", "100 Meters")
arcpy.FeatureVerticesToPoints_management("buffer","../points.shp","ALL")
arcpy.AddField_management("points", "PID", "LONG")
arcpy.CalculateField_management("points", "PID", "[FID]")
arcpy.Near_analysis("points", "target","LOCATION")
arcpy.MakeXYEventLayer_management("points","NEAR_X","NEAR_Y","points_Layer")
arcpy.CopyFeatures_management("points_Layer","../from_points.shp")
arcpy.Merge_management("from_points;points","../pairs.shp")
arcpy.PointsToLine_management("pairs","../lines_2D.shp", "PID")
arcpy.InterpolateShape_3d("DEM","lines_2D","../lines_3D.shp")
arcpy.AddField_management("lines_3D", "XY", "TEXT")

এটি নতুন ফিল্ডে চালান (05/02/2018 এ স্থির):

def getPoint(shp):
 part=shp.getPart(0)
 n=len(part);L=0
 for i in xrange(n):
  p=part.getObject(i)
  x=p.X;y=p.Y;z=p.Z
  if i >0:
    dX=X-x;dY=Y-y;dZ=Z-z;dL=pow((dX*dX+dY*dY+dZ*dZ),0.5);L+=dL
  if L>=100: break
  X,Y,Z=x,y,z 
 xNew=x+dX/dL*(L-100);yNew=y+dY/dL*(L-100)
 return '%s %s' %(xNew,yNew)
#-----------------
getPoint( !Shape!)

এক্স এবং ওয়াই ক্ষেত্রগুলি লাইনগুলিতে যুক্ত করুন এবং ডি ব্যবহার করে এগুলিকে স্থাপন করুন:

!XY!.split(" ")[0] and !XY!.split(" ")[1]

উপরে 2 টি ক্ষেত্র থেকে এক্সওয়াই স্তর তৈরি করুন, এটি বৈশিষ্ট্য বর্গে অনুলিপি করুন এবং মূলের ভিতরে বাফার লাইন তৈরি করতে পয়েন্ট টু লাইন ব্যবহার করুন:

আউটপুট:

এখানে চিত্র বর্ণনা লিখুন

উপসংহার:

আপনার অঞ্চলটি অত্যন্ত খাড়া না হলে সরল বাফার কাজটি করবে, যদি না আপনি সম্ভবত প্রবাহের দৈর্ঘ্যের বিষয়ে কথা বলছেন। দুর্ভাগ্য, কারণ এর জন্য আপনাকে স্থানিক বিশ্লেষকের কাছ থেকে জলবিদ্যুৎ বিশ্লেষণ টুলবক্স প্রয়োজন

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