2009-06-29 15 views
11

क्या अक्षांश/देशांतर से जीएमटी (या समय क्षेत्र) से ऑफसेट का अनुमान लगाने का कोई तरीका है? मैंने भूगर्भों को देखा है, लेकिन इसे दीर्घकालिक कार्य करने की आवश्यकता होगी और हम वास्तव में वेब सेवा पर भरोसा नहीं करना चाहते हैं। इसका उपयोग यह निर्धारित करने के लिए किया जाएगा कि विभिन्न उपयोगकर्ताओं को जानकारी देते समय "आज" या "आज रात" प्रदर्शित करना है या नहीं, इसलिए इसे बहुत सटीक होने की आवश्यकता नहीं होगी (एक या दो घंटे खराब नहीं होगा)।अक्षांश देशांतर से जीएमटी से समय ऑफसेट का अनुमानित अनुमान

उत्तर

23
offset = direction * longitude * 24/360 

जहां दिशा पूर्व के लिए 1 है, -1 पश्चिम के लिए, और देशांतर में (-180.180)

+0

यह बहुत अच्छा है, ऐसा नहीं लगता कि यह इतना आसान होगा, लेकिन अब तक यह बहुत सटीक लगता है। धन्यवाद। – ravun

+1

@ravun, यह defiition द्वारा सही है कि ए) पृथ्वी 360 डिग्री अक्षांश है, और बी) 24 घंटे में 360 डिग्री के माध्यम से घूमता है। (-: –

+0

यह * उचित * सही है कि समय क्षेत्र सीमाओं को आम तौर पर देश की सीमाओं पर रखा जाता है। अन्यथा, मुझे काम पर जाने पर हर दिन अपनी घड़ी सेट करना होगा, और फिर घर जाने पर :-) इसके अलावा, डेलाइट सेविंग समय स्थानीय कानून पर निर्भर करता है। लेकिन आज/आज रात के सवाल के लिए, यह पर्याप्त होना चाहिए। – balpha

1

है अकेले देशांतर पर समय क्षेत्र के आधार अंतरराष्ट्रीय जल के बाहर बेतहाशा गलत है। इस पृष्ठ पर मानचित्र:

http://askgeo.com/database/TimeZone

गहरे समुद्र में खड़ी रंगीन पट्टियों तथाकथित प्राकृतिक समय क्षेत्रों अकेले देशांतर से प्राप्त कर रहे हैं, और देश के रंग के अनुसार वास्तविक समय क्षेत्रों रहे हैं शासकीय कानून आप देख सकते हैं कि वे बिल्कुल अच्छी तरह से लाइन नहीं करते हैं।

मैं वास्तव में एक अलग परियोजना पर काम करते हुए इस समस्या में भाग गया और इस पर पर्याप्त अनुसंधान और विकास किया। सबसे पहले मेरा शोध:

  • पहला, समय क्षेत्र आमतौर पर जीएमटी (उर्फ यूटीसी) से ऑफसेट द्वारा एन्कोड नहीं किया जाता है। यह डेलाइट सेविंग्स टाइम, और सालों में समय क्षेत्र में बदलावों को ध्यान में रखता है। इसके बजाए, समय क्षेत्र आईडी का उपयोग भौगोलिक क्षेत्र को नामित करने के लिए किया जाता है जिसमें आधिकारिक घड़ी का समय पूरे क्षेत्र में एक निश्चित अवधि के लिए समान होता है (उदाहरण के लिए, 1 9 70 से)। ऐसी आईडी की सबसे महत्वपूर्ण प्रणाली "ओल्सन टाइम जोन आईडी" है (एक साथ इन आईडी और उनके ऑफसेट नियमों को "tz डेटाबेस" के रूप में जाना जाता है), जिसका उपयोग लिनक्स और अन्य यूनिक्स ऑपरेटिंग सिस्टम द्वारा किया जाता है। अधिकांश प्रोग्रामिंग भाषाओं और ऑपरेटिंग सिस्टमों में ओल्सन टाइम ज़ोन आईडी के लिए मूल या तृतीय पक्ष समर्थन होता है।

मौजूदा समाधान समय क्षेत्र के अक्षांश और देशांतर में परिवर्तित करने के संदर्भ में:

  • GeoNames.org है बिंदु स्थानों की एक विशाल डाटाबेस (शहरों, हवाई अड्डों, सार्वजनिक भवनों, आदि के केन्द्रों) , जिनमें से प्रत्येक ओलसन टाइम जोन आईडी सहित उपयोगी मेटाडेटा के समूह के साथ एनोटेट किया गया है। और उनके पास वेब के माध्यम से इन तक पहुंचने के लिए एक अच्छा एपीआई है। समस्या यह है कि यदि तक कि आप जिस बिंदु पर पूछताछ नहीं कर रहे हैं, वह अपने डेटाबेस में रिकॉर्ड के शीर्ष पर सही है, तो आपको एक समय क्षेत्र सीमा के दूसरी तरफ एक परिणाम मिल सकता है, या यदि आपकी क्वेरी पर आपको कोई प्रतिक्रिया नहीं मिलती है अपने निकटतम बिंदु से बहुत दूर है। वेब सेवा भी दर्दनाक रूप से धीमी है, और वे एक दिन में अपेक्षाकृत कम संख्या में पूछे जाने वाले प्रश्नों की संख्या सीमित कर सकते हैं।

  • पृथ्वी उपकरण (http://www.earthtools.org/webservices.htm) के लिए भी एक सेवा है, और यह भू-नाम से बहुत तेज है, लेकिन यह समय क्षेत्र नहीं बल्कि जीएमटी से ऑफसेट लौटाता है आईडी, और यह अधिकांश दुनिया के लिए सही ढंग से डेलाइट सेविंग्स टाइम को संभाल नहीं पाता है। इसके अलावा, ऐसा नहीं लगता है, इसलिए मुझे यकीन नहीं है कि डेटा अब सटीक है (समय क्षेत्र समय के साथ बदलता है)।

उन विकल्पों की समीक्षा करने और सफलता के बिना अन्य संभावनाओं के लिए खोज के बाद, मैं अपने खुद के समाधान का निर्माण करने का फैसला किया और इसे जारी किया है:

http://askgeo.com

AskGeo एक समय क्षेत्र मानचित्र पर आधारित है दुनिया का, इसलिए यह प्रत्येक मान्य अक्षांश और देशांतर के लिए एक वैध समय क्षेत्र लौटाता है। यह मानक ओल्सन टाइम जोन आईडी (उदाहरण के लिए, "अमेरिका/लॉस_एंजेलस") लिनक्स और अधिकांश अन्य ऑपरेटिंग सिस्टम और प्रोग्रामिंग ढांचे पर उपयोग किया जाता है। यह डेलाइट बचत समय का पूरा खाता लेते हुए वर्तमान ऑफ़सेट भी देता है।

यह उपयोग करना बेहद आसान है और साइट के मुख्य पृष्ठ पर उपयोग दस्तावेज किया गया है। एपीआई बैच प्रश्नों का समर्थन करता है, इसलिए यदि आपको बहुत सारे लुक-अप करने की ज़रूरत है, तो कृपया हमारे सर्वर को सीरियल अनुरोधों के साथ बग करने के बजाय बैच इंटरफ़ेस का उपयोग करें। थोक प्रश्न भी बहुत तेज हैं, इसलिए हर कोई जीतता है।

जब हमने पहली बार इसे लॉन्च किया, तो हमने इसे Google App Engine (GAE) पर बनाया और इसे सभी उपयोगकर्ताओं के लिए निःशुल्क बना दिया। यह संभव था क्योंकि उस समय जीएई की कीमतें इतनी कम थीं। तब से, हमारे सर्वर लोड में काफी वृद्धि हुई है और जीएई की कीमतें बढ़ी हैं। संयुक्त रूप से दोनों कारकों ने हमें गैर-लाभकारी, गैर-वाणिज्यिक ओपन सोर्स प्रोजेक्ट्स और शोधकर्ताओं के लिए सेवा को मुक्त रखते हुए, वाणिज्यिक उपयोग के लिए चार्जिंग शुरू करने और वाणिज्यिक उपयोग के लिए चार्जिंग शुरू करने के लिए अमेज़ॅन वेब सेवाओं पर स्विच करने का नेतृत्व किया। वाणिज्यिक उपयोगकर्ताओं के लिए, हम संभावित ग्राहकों को एपीआई का मूल्यांकन करने के लिए 1000 मुफ्त प्रश्न प्रदान करते हैं ताकि यह सुनिश्चित किया जा सके कि यह उनकी आवश्यकताओं को पूरा करता है। मूल्य निर्धारण और शर्तों के लिए वेबसाइट देखें।

अंतर्निहित पुस्तकालय जावा में लिखा गया था और लोकप्रिय मांग के कारण, हमने एक वाणिज्यिक लाइसेंस के तहत पुस्तकालय भी जारी किया। पुस्तकालय और मूल्य निर्धारण विवरण का पूरा दस्तावेज वेब साइट पर हैं।

मुझे आशा है कि यह उपयोगी है। यह निश्चित रूप से उस परियोजना के लिए उपयोगी था जिस पर मैं काम कर रहा था।

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