আরকজিআইএস ডেস্কটপে পাইথন ব্যবহার করে অরিজিনাল পয়েন্ট থেকে বিভিন্ন দূরত্বের রেখা তৈরি করছেন?


11

আমি আর্কজিআইএস এবং পাইথন (আরকিপি) ব্যবহার করে একটি সেট দুরত্ব এবং কোণ ব্যবহার করে একটি বিন্দু থেকে একটি লাইন বৈশিষ্ট্য তৈরি করার চেষ্টা করছি।

এই স্থানাঙ্কগুলিতে আমার একটি বক্তব্য রয়েছে: এক্স = 400460.99, ওয়াই = 135836.76

এই জায়গা থেকে, আমি সেই বিন্দু থেকে 15 ডিগ্রি কোণে 800 মিটার দীর্ঘ লাইন তৈরি করতে চাই।

ফলস্বরূপ শেষের অবস্থানটি কী হবে তা আমি জানি না।

আমার ডেটা মেরিল্যান্ড স্টেট প্লেন দক্ষিণ - মিটারে অনুমান করা হয়েছে।

উত্তর:


13

অবশ্যই শেষ প্রান্তটি 800 মিটার অবধি উত্স থেকে স্থানচ্যুত হয়। এক্স-কোঅর্ডিনেটের দিকের স্থানচ্যুতি কোণের সাইন (উত্তরের পূর্ব) এর সাথে সমানুপাতিক এবং y- স্থানাঙ্কের দিকের স্থানচ্যুতিটি কোণের কোসিনের সাথে সমানুপাতিক।

সুতরাং, পাপ থেকে (15 ডিগ্রি) = পাপ (0.261799) = 0.258819 এবং কোস (15 ডিগ্রি) = 0.965926

x-displacement = 800 sin(15 degrees) = 800 * 0.258819 = 207.055 

y-displacement = 800 cos(15 degrees) = 800* 0.965926 = 772.741.

সুতরাং সমাপ্তি স্থানাঙ্কগুলি হ'ল (400460.99 + 207.055, 135836.76 + 772.741) = (400668.05, 136609.49)।


আমি একটু বিভ্রান্ত। যদি sin (theta ওরফে 15 ডিগ্রি) = y / r এবং y = r * sin (15 ডিগ্রি) x এবং y স্থানান্তরগুলির সূত্রগুলি পরিবর্তন করা উচিত নয়?
জিগি

@ জিগজি আপনার সূত্রগুলি উত্তরের পূর্বদিকে পরিমাপ করা একটি কোণের জন্য সঠিক নয়। আপনি পূর্বের উত্তর কোণে সূত্র প্রয়োগ করার চেষ্টা করছেন।
হোবার

আপনি কীভাবে বুঝতে পেরেছিলেন যে অবস্থান এবং কোণটি উত্তরের পূর্বে? এটি এই মন্তব্যের আওতার বাইরে হতে পারে তবে জিআইএস প্রশ্নের মতো বেসিক ট্রিগ ধারণাটি কোথায় শিখতে হবে এবং প্রয়োগ করতে হবে সে সম্পর্কে আপনার কি কোনও সংস্থার সুপারিশ রয়েছে?
জিগি

1
@ জিগি প্রচলিতভাবে, ভূগোলবিদরা উত্তর পূর্ব ডিগ্রিগুলিতে কোণ পরিমাপ করেন, তবে আরও অনেক উপায় রয়েছে। এজন্য আমি "কোণ" দ্বারা কী বোঝাতে চেয়েছি এবং এটি কীভাবে পরিমাপ করা হয় তা প্রতিষ্ঠিত করার জন্য আমি যত্ন নিয়েছিলাম। অন্যান্য কনভেনশন ব্যবহার করে এমন লোকেদের এই সমাধানটি প্রয়োগ করার জন্য কেবলমাত্র সাধারণ সামঞ্জস্য করা দরকার। ট্রিগ শেখার জন্য আমি সংস্থার বিশেষজ্ঞ নই: আমি একটি হাই স্কুল বীজগণিত পাঠ থেকে এটি অনেক আগে শিখেছি, যা কোনও জিআইএস প্রশ্নের সমাধান করার জন্য পর্যাপ্ত চেয়ে বেশি ছিল। যাইহোক আপনার খুব বেশি ট্রিগ জানার দরকার নেই
whuber

13

উপর নির্মাণের @ whuber এর উত্তর , যদি আপনি পাইথন এই বাস্তবায়ন চান, তাহলে আপনি স্থানচ্যুতি হিসাবে বিবৃত নিরূপণ চাই, তারপর পয়েন্ট সংগ্রহ হিসাবে একটি আউটপুট তৈরি করুন যেমন:

import arcpy
from math import radians, sin, cos

origin_x, origin_y = (400460.99, 135836.7)
distance = 800
angle = 15 # in degrees

# calculate offsets with light trig
(disp_x, disp_y) = (distance * sin(radians(angle)),\
                    distance * cos(radians(angle)))
(end_x, end_y) = (origin_x + disp_x, origin_y + disp_y)

output = "offset-line.shp"
arcpy.CreateFeatureClass_management("c:\workspace", output, "Polyline")
cur = arcpy.InsertCursor(output)
lineArray = arcpy.Array()

# start point
start = arcpy.Point()
(start.ID, start.X, start.Y) = (1, origin_x, origin_y)
lineArray.add(start)

# end point
end = arcpy.Point()
(end.ID, end.X, end.Y) = (2, end_x, end_y)
lineArray.add(end)

# write our fancy feature to the shapefile
feat = cur.newRow()
feat.shape = lineArray
cur.insertRow(feat)

# yes, this shouldn't really be necessary...
lineArray.removeAll()
del cur
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.