यहाँ ऊपर दिए गए टिप्पणी में उल्लिखित वर्कफ़्लो का एक चित्रण है, और हालांकि मुझे ऐसा करने के लिए किसी भी सरल पूर्व-डिब्बाबंद दिनचर्या के बारे में पता नहीं है, मैंने एक एक्सेल स्प्रेडशीट संलग्न की है जो मूल गंतव्य निर्देशांक के एक सेट को आयात कर सकता है और शीट फिर एक सेट या परिपत्र रेखा निर्देशांक ( यहां स्प्रेडशीट ) बनाती है। इसमें सूत्र निर्धारित किए गए हैं ताकि नए आयुध डिपो को आयात करना और परिणामों में भरने के लिए सूत्रों का विस्तार करना बहुत आसान हो, लेकिन मैं इस प्रक्रिया के तर्क के माध्यम से अधिक स्पष्ट रूप से जाऊंगा, और अन्य सलाह दे सकते हैं कि इसे पूरी तरह से कैसे लिखें। ArcMap (या जो भी)।
संक्षेप में, मुझे लगता है कि यह मुख्य रूप से एक ही कारण के लिए ओडी डेटा की कल्पना के लिए उचित है महान सर्कल लाइनें लोकप्रिय हैं, वे लाइनों के साथ अधिक दृश्य अंतर प्रदान करते हैं। मेरा सुझाव है कि महान सर्कल लाइनों पर एक लाभ भी है, जिसमें प्रवाह की दिशा आधे सर्कल में एन्कोडेड है। साइट पर इस अन्य उत्तर में मैं फ़्लो मैपिंग के लिए विज़ुअलाइज़ेशन तकनीकों का अधिक सामान्य दृश्य देता हूं, और इस तरह की आर्क्स बनाने के अलावा उन्हीं तकनीकों में से कई को लागू किया जा सकता है।
इसलिए, यह विस्तार करने के लिए कि मैं किस प्रकार सुझाव देता हूं, जैसे कि मैं सुझाव देता हूं, अनिवार्य रूप से मेरे पास प्रक्रिया के लिए केवल 3 चरण हैं, 1) प्रवाह के उन्मुखीकरण का पता लगाएं, 2) मध्य बिंदु और प्रवाह की दूरी का पता लगाएं, 3) उपचार करें एक वृत्त के केंद्र के रूप में मध्य-बिंदु, और फिर चाप (मूल से गंतव्य तक आधा-वृत्त) खींचना। स्पष्ट होने के लिए, मैं अनुमानित उत्पत्ति निर्देशांक (x1,y1)
और गंतव्य निर्देशांक की एक जोड़ी के साथ शुरू कर रहा हूं (x2,y2)
।
तो 1) प्रवाह के उन्मुखीकरण का पता लगाएं। एक पहले सूत्र का उपयोग करता है ATAN((y2 - y1)/(x2 - x1))
और फिर दिशा के आधार पर एक अभिविन्यास प्रदान करता है कि क्या दिशा पूर्व या पश्चिम की ओर है। नीचे एक उदाहरण pseudocode (मैं OD बिंदुओं को निर्दिष्ट करता हूं जो दोनों एक ही समय में एक शून्य के उन्मुखीकरण को समन्वयित करते हैं)। यहाँ वैरिएबल or_rad
का अर्थ "रेडियंस में अभिविन्यास" के लिए आशुलिपि है और pi
पाई के मूल्य को संदर्भित करता है।
#tan_or = ATAN((y2 - y1)/(x2 - x1)).
Do If x2 = x1 and y1 <= y2.
compute or_rad = 0.
Else if x2 = x1 and y1 > y2.
compute or_rad = pi.
Else if x1 > x2.
compute or_rad = 270/180*pi - #tan_or.
Else if x1 < x2.
compute or_rad = 90/180*pi - #tan_or.
End If.
2) मध्य बिंदु और प्रवाह की दूरी का पता लगाएं। यह बहुत सरल है, युग्मित निर्देशांक के केवल एक सेट के लिए मध्य-बिंदु में (x, y) निर्देशांक होंगे (x1+x2/2,y1+y2/2)
। तो परिभाषित करते हैं mid_x = (x1 + x2)/2
और mid_y = (y1 + y2)/2
अगले भाग के लिए। पाइथागोरम प्रमेय का उपयोग करने की दूरी बस है distance = SQRT((x1 - x2)^2 + (y1 - y2)^2)
।
3) फिर उस जानकारी को देखते हुए, पूर्व-निर्दिष्ट संख्याओं और एक त्रिज्या (जो दो बिंदुओं के बीच की आधी दूरी है) पर दिए गए वृत्त को खींचें। उदाहरण के लिए, हम कहते हैं कि हम OD समन्वय जोड़े के एक सेट से शुरुआत करते हैं (1,3):(3,2)
। डिग्री में अभिविन्यास ~ 116 होगा (और रेडियंस ~ 2 में), x, y मध्य-बिंदु होगा (2,2.5)
और दो बिंदुओं के बीच की दूरी लगभग 2.2 है।
तो हम कहते हैं कि हम आधा-घेरा 180 डिग्री के आसपास खींचना चाहते हैं। Pseduo- कोड में (पहले से परिभाषित चर का उपयोग करके) पुनरावृत्तियों कुछ इस तरह दिखेगा;
for i in (0 to 180 degrees)
rad_i = i/180*pi. /*converts i from degrees to radians
step_or = pi - rad_i /*for clarity, this makes the circle go from origin to destination
radius = distance/2
Arc_X = mid_x + sin(or_rad - step_or)*radius.
Arc_Y = mid_y + cos(or_rad - step_or)*radius.
नीचे डाला गया मूल निर्देशांक का एक आरेख है जो मैंने ऊपर निर्दिष्ट किया है। शून्य पर शुरू होने और 180 पर समाप्त होने से यह सुनिश्चित हो जाता है कि अंत और बिंदु समान स्थानों पर हैं। अधिक चरणों (अधिक विस्तृत चाप) या कम (कम विस्तृत चाप) के लिए लूप को समायोजित करना काफी स्पष्ट होना चाहिए।
ध्यान देने के लिए, साइट पर अन्य सूत्र बिंदु डेटा से लाइनें बनाने पर चर्चा करते हैं ( पॉलीलाइन-निर्माण टैग देखें)। मेरे पास संलग्न xls स्प्रेडशीट में एक उदाहरण है, और मैंने स्प्रेडशीट निर्देशांक को शेपफाइल लाइनों में बदलने के लिए ET Geo- wizards arcmap टूल का उपयोग किया है। संलग्न स्प्रेडशीट में उदाहरण डेटा में आर्क बाद में इस तरह दिखता है;
इस वर्तमान सेट अप में एक सरल लेकिन संभावित रूप से उपयोगी अपडेट, आर्क में पूर्व-निर्धारित राशि की पूर्व-निर्धारित राशि की अनुमति देने के लिए सूत्रों को अपडेट करना होगा, हालांकि मैं अभी तक अपने कुछ प्रयासों में यह सुनिश्चित नहीं कर पाया हूं कि यह कैसे करना है। मैं अपनी सलाह पर यहां समुदाय से सुझाव और प्रतिक्रिया के लिए तत्पर हूं।