पानी पर रूटिंग मूल रूप से भूमि पर समान है: आपको अपने ज्यामितीयों को एक ग्राफ में अमूर्त करना होगा, जो कि उनके बीच बिंदुओं और कनेक्शनों का एक सार प्रतिनिधित्व है, प्रत्येक कनेक्शन एक निश्चित लागत (उदाहरण के लिए, यात्रा के समय या दूरी) के साथ जुड़ा हुआ है।
अंतर यह है कि आप जलमार्ग पर अपना ग्राफ कैसे बनाते हैं। नदियों के लिए यह भूमि सड़कों के समान हो सकती है। लेकिन अगर आपके पास खुला समुद्र या झील है तो जाने की अनंत संभावनाएं हैं। मध्यवर्ती बिंदुओं के संयोजन में प्रारंभ और अंत कॉस्टल बिंदुओं के बीच सीधी रेखाओं पर विचार करें, जो आपको तट, एक द्वीप या रेत बैंक के चारों ओर गोल कोने मिलते हैं।
इन रेखांकन को बनाने के लिए एल्गोरिथ्म मुश्किल हो सकता है, लेकिन संभव है। एक अन्य विचार यह है कि केवल जीपीएस वाले जहाजों को ट्रैक करें और इन्हें अपने डेटाबेस में फीड करें। या एआईएस डेटा एकत्र करने का प्रयास करें: मेरीनेट्रिश (यदि वे अपने गंतव्य तक पहुंच गए, तो उनका मार्ग बहुत बुरा नहीं हो सकता)। यदि आप पर्याप्त डेटा एकत्र करते हैं, तो आप इन ट्रैक्स में से सबसे तेज़ / छोटी पटरियों का चयन भी कर सकते हैं।
व्यावहारिक भाग के लिए: क्या आपने OpenSeaMap के बारे में सुना है ? उनके पास OpenStreetMap (उदाहरण के लिए बंदरगाह में जलमार्ग) के आधार पर जहाजों के लिए नक्शे और कच्चे डेटा का एक गुच्छा है। आप इस डेटा को आधार के रूप में डाउनलोड कर सकते हैं। यहां तक कि उनके पास एक ट्रिप प्लानर (टार्न-प्लानर) भी है, हालांकि यह स्वचालित नहीं है, लेकिन आपको मानचित्र पर वेपाइंट पर क्लिक करके अपना मार्ग बनाना होगा। यहाँ एक स्क्रीनशॉट है: