2013-04-09 5 views
6

मुझे यकीन नहीं है कि यह वास्तव में एंड्रॉइड से संबंधित है, लेकिन जब से मैं इसे एंड्रॉइड ऐप के लिए उपयोग करने जा रहा हूं, तो मैं एंड्रॉइड टैगिंग भी कर रहा हूं।सूर्योदय समय गणना Google के नतीजे से मेल नहीं खाती

मैं लेट-लांग दिए जाने पर सूर्योदय समय की गणना करने के लिए कुछ तर्क बनाने की कोशिश कर रहा हूं।

मैंने निम्नलिखित करने का प्रयास किया है, लेकिन सबकुछ उस स्थान के सूर्योदय का थोड़ा अलग समय देता है जो मैं इसे प्रदान करता हूं (बैंगलोर, भारत), और जब मैं कीवर्ड Bangalore Sunrise के साथ Google की खोज करता हूं तो Google एक अलग परिणाम देता है कार्ड, जिसे अधिक सटीक लग रहा है: http://souptonuts.sourceforge.net/code/sunrise.c.html

  • इस सूत्र का उपयोग कर की कोशिश की विकिपीडिया से: https://github.com/mikereedell/sunrisesunsetlib-java
  • : http://en.wikipedia.org/wiki/Sunrise_equation
  • इस लाइब्रेरी का उपयोग कर की कोशिश की

    • जावा को यह सी कोड पोर्टिंग की कोशिश की
    • इस वेब सेवा का उपयोग कर की कोशिश की: http://www.earthtools.org/webservices.htm#sun

    सभी विभिन्न परिणाम देते हैं, और अभी भी गूगल के दिखता अधिक acccurate किया जाना है।

    क्या कोई यहां किसी एपीआई या इसके लिए बेहतर गणना के बारे में जानता है? या एल्गोरिदम/webservice जो Google अपने कार्ड के लिए उपयोग कर रहा है?

    किसी भी मदद की बहुत सराहना की जाती है।

  • +0

    अंतर कितना बड़ा है? "बैंगलोर" एक सटीक लेट/लम्बाई नहीं है, यह उनकी एक श्रृंखला है। लगभग 12 डिग्री 58 'पर, टर्मिनेटर पश्चिम में लगभग 1600 केपीएच पर चलता है - यदि आप Google की तुलना में एक अलग देशांतर का उपयोग कर रहे हैं तो आपको जल्दी से गलत बनाने के लिए पर्याप्त तेज़ है। –

    +0

    औसत अंतर लगभग 30 मिनट है। यदि मैं 'बैंगलोर लेट लांग' के लिए Google की खोज करता हूं तो यह मुझे लेट-लम्बा देता है, और मैं गणना में समान मानों का उपयोग करता हूं, यह मानते हुए कि वे इसका भी उपयोग कर रहे हैं। –

    उत्तर

    0

    एक त्वरित खोज मुझे इस एपीआई

    http://www.earthtools.org/webservices.htm#sun

    +0

    ओह हाँ, मैंने पहले ही कोशिश की है। Google या Weather.com के कहने से काफी अंतर है। मेरे प्रश्न में भी यह लिंक है। मैं इसे ऑफ़लाइन गणना करना चाहता था केवल –

    0

    मैं सभी लिंक आपके द्वारा दिया गया अध्ययन नहीं किया है करने के लिए नेतृत्व, लेकिन सबसे अधिक संभावना मतभेद भिन्न अनुमान & परिभाषाओं से स्टेम। विशेष रूप से, निम्नलिखित कारकों एल्गोरिथ्म से एल्गोरिथ्म के लिए अलग-अलग हो जाते हैं:

    • वायुमंडलीय अपवर्तन शामिल या (यानी "सही" या "स्पष्ट" ऊंचाई)
    • "शीर्ष" या सूरज को तोड़ने के क्षितिज के "केन्द्र" नहीं

    निश्चित रूप से अन्य कारक भी हैं, और समस्या तेजी से बीमार परिभाषित हो जाती है क्योंकि अक्षांश भूमध्य रेखा से आगे हो जाता है। लेकिन अकेले इन कारकों में अंतर के कुछ मिनट हो सकते हैं।

    +0

    सहमत था। और मुझे लगता है कि सूर्योदय बहुत सापेक्ष है, क्योंकि रात के बाद आने वाली रोशनी से संबंधित कई घटनाएं होती हैं। फिर भी, अगर कोई अपने वर्तमान शहर के सूर्योदय समय को सत्यापित करने के लिए आगे बढ़ता है, तो वे Google पर पहली जगह पर उतरते हैं, और यदि इसके बीच और मेरे ऐप की गणना के बीच बहुत अंतर हैं, तो यह एक बुरा प्रभाव छोड़ने जा रहा है। –

    2

    भारतीय मानक समय यूटीसी + 05: 30 है, शायद यही कारण है कि आप 30 मिनट का अंतर क्यों देख रहे हैं।

    एल्गोरिदम यूटीसी में सूर्योदय समय की गणना कर सकता है, लेकिन यह यूटीसी को स्थानीय समय में परिवर्तित करने में सक्षम नहीं होगा, जिसके लिए जटिल टाइमज़ोन ज्ञान की आवश्यकता होती है। एल्गोरिदम संभवतः

    localTime = utcTime + 1_hour * longitude/15_degree 
    

    जो बंगलौर शहर के लिए 5 घंटे है।

    आपको यूटीसी समय लेना चाहिए, फिर इसे जावा डेट एपीआई का उपयोग करके स्थानीय समय में परिवर्तित करना चाहिए।

    +0

    उन गणनाओं ने मुझे लम्बे समय से पूछा, तो मुझे लगता है कि वे खाते में समय अंतर ले रहे हैं? –

    +0

    एल्गोरिदम यूटीसी में सूर्योदय समय की गणना कर सकता है, लेकिन यह यूटीसी को स्थानीय समय में परिवर्तित करने में सक्षम नहीं होगा, जिसके लिए जटिल टाइमज़ोन ज्ञान की आवश्यकता होती है। एल्गोरिदम शायद '1hour * देशांतर/15' जोड़ता है, जो बंगलौर के लिए 5 घंटे है। यह बहुत सरल है। – ZhongYu

    +0

    ओह धन्यवाद। बीटीडब्ल्यू, आप किस एल्गोरिदम का जिक्र कर रहे हैं? प्रश्न में पोस्ट किए गए लिंक से कोई भी? यह मुझे इसे कम करने में मदद करेगा। –

    संबंधित मुद्दे