मैं BWill से सहमत हूँ। आपकी मुख्य समस्या प्रत्येक पॉलीलाइन की उत्पत्ति को परिभाषित करना है। एक 'नदी' का गठन क्या है? Ι यह धारणा बनाएगा कि सहायक नदी एक सहायक मार्ग है "मार्ग" जो 0- उपनदी की लंबाई से शुरू होता है। फिर मैं मुख्य नदियों के लिए भी ऐसा ही करूंगा, लेकिन इस मामले में मैं सभी घटक पॉलीलाइन से एक विलय की गई पॉलीलाइन बनाऊंगा। मुझे लगता है कि एक बार आपके पास यह है कि आप 'लगभग' हैं। फिर: अपने सभी मर्ज किए गए पॉलीइन्स को मापी गई पॉलीलाइन (पॉलीलाइनम) में बदलें-सहायक नदियों को छोड़कर। फिर आपके पास अपना 'मार्ग नेटवर्क' है। तब से प्रत्येक स्टेशन के लिए अपने मार्ग के साथ दूरी खोजने की बात है। मुझे लगता है कि स्टेशन के स्थान XYs में परिभाषित हैं? इसके अलावा एक और अनुमान- वे नदी के ठीक ऊपर नहीं गिरते, क्या वे? किसी भी मामले में आपको प्रत्येक नदी या आदिवासी की शुरुआत से स्टेशन की दूरी का पता लगाने के तरीके की आवश्यकता होगी। सिद्धांत रूप में, यदि कोई स्टेशन नदी और चौराहे पर है तो उसके 2 स्थान (प्रत्येक के लिए एक) हो सकते हैं।
इस स्थान को खोजने के लिए आप आर्कपॉपर टूल्स का उपयोग कर सकते हैं, लेकिन थोड़ी देर के लिए इनका उपयोग नहीं कर सकते हैं ताकि मेरे सिर के ऊपर याद रहे। दूसरी ओर अगर आप PostGIS में अपने शेपफ़ाइलें (?) आयात पर आप इस्तेमाल कर सकते हैं ST_Line_Locate_Point । यह समारोह:
कुल 2d लाइन लंबाई के एक अंश के रूप में, दिए गए बिंदु पर निकटतम बिंदु के स्थान पर 0 और 1 के बीच एक फ्लोट देता है।
जिसका अर्थ है कि आप नदी के किनारे के स्थान को उस स्थान पर पा सकते हैं जो आप (विलय) नदी की लंबाई के साथ पाते हैं। एक अंतिम नोट- यदि आप PostGIS का उपयोग करते हैं, तो आपको PolylineM बनाने के चरण से नहीं गुजरना होगा- केवल रैखिक संदर्भ के लिए ArcGIS को इसकी आवश्यकता होती है।
आशा है कि यह समझ में आता है!