आर्कगिस डेस्कटॉप में पायथन का उपयोग करके मूल बिंदु से अलग दूरी की रेखा बनाना?


11

मैं एक एकल बिंदु से एक लाइन सुविधा बनाने की कोशिश कर रहा हूं, एक सेट दूरी और कोण का उपयोग करके आर्कजीआईएस और पायथन (आर्कपी) का उपयोग कर रहा हूं।

मेरे पास इन निर्देशांक पर एक बिंदु है: X = 400460.99, Y = 135836.76

इस बिंदु से, मैं उस बिंदु से 15 डिग्री के कोण पर 800 मीटर लंबी लाइन बनाना चाहता हूं।

मुझे नहीं पता कि परिणामी समापन बिंदु क्या होगा।

मेरा डेटा मैरीलैंड स्टेट प्लेन साउथ - मीटर में अनुमानित है।

जवाबों:


13

समापन बिंदु मूल से 800 मीटर की दूरी पर विस्थापित है। X- निर्देशांक की दिशा में विस्थापन कोण के साइन (उत्तर के पूर्व) के आनुपातिक है और 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)।


मैं थोड़ा असमंजस में हूँ। अगर पाप (थीटा उर्फ ​​15 डिग्री) = y / r और y = r * पाप (15 डिग्री) x और y विस्थापन के लिए सूत्रों को स्विच नहीं किया जाना चाहिए?
जिग्गी

@Ziggy आपके सूत्र एक कोण के लिए सही नहीं हैं जो उत्तर के पूर्व में मापा जाता है। आप पूर्व के उत्तर में कोण के लिए सूत्र लगाने का प्रयास कर रहे हैं।
whuber

आप यह कैसे समझ पाएंगे कि स्थान और कोण उत्तर पूर्व में हैं? यह इन टिप्पणियों के दायरे से बाहर हो सकता है, लेकिन क्या आपके पास जीआईएस के प्रश्नों की मूल ट्रिगर अवधारणाओं को सीखने और लागू करने की कोई संसाधन सिफारिशें हैं?
जिग्गी

1
@Ziggy पारंपरिक रूप से, भूगोलवेत्ता उत्तर के पूर्व में कोणों को मापते हैं, लेकिन कई अन्य तरीके भी हैं। यही कारण है कि मैंने यह स्थापित करने के लिए ध्यान दिया कि मुझे "कोण" से क्या मतलब है और इसे कैसे मापा जाता है। अन्य सम्मेलनों का उपयोग करने वाले लोगों को इस समाधान को लागू करने के लिए केवल सामान्य समायोजन की आवश्यकता होती है। मैं ट्रिगर सीखने के लिए संसाधनों पर कोई विशेषज्ञ नहीं हूं: मैंने इसे हाई स्कूल बीजगणित के पाठ से बहुत पहले सीखा था, जो किसी भी जीआईएस प्रश्नों को संबोधित करने के लिए पर्याप्त से अधिक था। तुम वैसे भी बहुत अधिक जानने की जरूरत नहीं है
whuber

13

@ व्हिबर के उत्तर पर निर्माण , यदि आप इसे पायथन में लागू करना चाहते हैं, तो आप विस्थापन की गणना करेंगे, फिर आउटपुट को बिंदुओं के संग्रह के रूप में बनाएँ:

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
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.