2011-12-27 21 views
5

के लिए Google दिशा एपिस या कुछ अन्य एपिस का उपयोग करके दो मार्गों की तुलना कैसे करें मैं दो रूटों की तुलना करना चाहता हूं ताकि यह जांच सके कि वे मेरे आईफोन ऐप में हैं या नहीं।आईफोन ऐप

एक व्यक्ति एक्स है जो बी को इंगित करने के लिए बिंदु ए पर जाना चाहता है और दूसरा व्यक्ति बी 1 को इंगित करने के लिए बिंदु 1 पर जाना चाहता है।

मैं Google की इस दिशा एपीआई का उपयोग करके ए से बी के बीच एक मार्ग प्राप्त कर सकता हूं।

http://maps.googleapis.com/maps/api/directions/xml?origin=Point a A address&destination=Point B address&sensor=false

उसी तरह मैं बी 1 के लिए A1 का मार्ग मिल सकता है।

लेकिन अक्षांश और देशांतर मैं xmls में प्राप्त कर रहा हूं मिलान नहीं कर रहा है (यहां तक ​​कि एक बिंदु भी मेल नहीं खाता है)। तो मेरा सवाल यह है कि मैं दो मार्गों से कैसे मेल खा सकता हूं जिन्हें मैं जानना चाहता हूं यह वही मार्ग है या नहीं।

enter image description here

उत्तर

1

इष्टतम मार्ग A1B1 वास्तव में मार्ग एबी मैं समान देशांतर और अक्षांश साझा करने के लिए मिलान चरणों के लिए start_location और end_locations उम्मीद थी के एक सबसेट है, लेकिन इस की कोई आवश्यकता नहीं है, तो दिशानिर्देश एपीआई। ए से बी का सबसे अच्छा मार्ग ए 1 और बी 1 से गुजर सकता है, लेकिन इसका मतलब यह नहीं है कि ए 1 से बी 1 तक का सबसे अच्छा मार्ग सटीक एक ही कदम साझा करेगा।

मुझे लगता है कि आप क्या करना चाहते हैं, मार्ग खंडों के लिए लौटाए गए पॉलीलाइन बिंदुओं को देखें और देखें कि वे सही क्रम में ए 1 और बी 1 से गुज़रेंगे या नहीं। आप this एल्गोरिदम का उपयोग करके अक्षांश और अक्षांश की सूची में एन्कोडेड पॉलीलाइन स्ट्रिंग का विस्तार कर सकते हैं।

+0

अच्छा idea..do आप .. ploylines की तुलना क्योंकि अक्षांश देशांतर मूल्यों सीधे मेल नहीं जब मैं उन्हें डिकोड .. किसी भी विचार के लिए किसी भी सरल algo पता है? – Saurabh

+0

मैं निश्चित रूप से एक सहिष्णुता की तलाश करता हूं, एक सटीक == मैच शायद एक साधारण (lat1-lat2) + (long1-long2) <= थ्रेसहोल्ड करें, जहां थ्रेसहोल्ड एक छोटी संख्या है जिसे आप चुनते हैं "पर्याप्त बंद करें " – bamnet

1

दो पॉलिलाइन की तुलना करने के बारे में जीआईएस पर एक प्रश्न पोस्ट किया गया है। कृपया इस लिंक को देखने -

https://gis.stackexchange.com/questions/8799/how-to-compare-2-polyline-datasets

+0

धन्यवाद .. तुलना करने के लिए कोई आसान अलगो? यह बहुत जटिल है.. – Saurabh