2011-11-07 31 views
5

मैं अपने प्रदर्शन परीक्षण परिदृश्यों की जानकारी साझा करना चाहता हूं और आपको क्षेत्रीय निगरानी के साथ अपना अनुभव साझा करने के लिए कहूंगा। इसलिए, मैंने दो विपरीत क्षेत्रों (ए और बी) को 5 किमी त्रिज्या और 1 किमी वांछित अधिकार के साथ पंजीकृत किया है, उनके बीच 20 किमी दूरी के साथ। हालांकि, मुझे ए से बी तक यात्रा करते समय कोई भी एंटररेगियन/डीएक्सिट रेगियन कार्यक्रम नहीं मिला है। मेरे ऐप प्रोटोटाइप में, मैंने दो बटन भी लगाए हैं (परीक्षण उद्देश्यों के लिए): कोई महत्वपूर्ण परिवर्तन और एक और मानक स्थान निगरानी शुरू करता है। दोनों प्रिंट्स ने स्क्रीन-लॉग ऑनअपडेट टोलोकेशन इवेंट किया था।क्या केवल क्षेत्र निगरानी + जीएसएम का उपयोग करना संभव है और 5 किमी से अधिक क्षैतिज सटीकता प्राप्त करने के लिए संभव है?

तो, क्षेत्र बी के केंद्र में जाने के बाद और अप्रत्याशित कार्यक्षमता के बारे में बहुत नाराज होने के बाद, मैंने महत्वपूर्ण निगरानी सक्षम की है। इसके बाद, मुझे क्षैतिज अधिकार के साथ ~ 8.5 किमी की सफलता के साथ कई अद्यतन किया गया है! वाह, जो दर्द होता है, क्योंकि मैं बस इतना करना चाहता हूं कि एक कार्यक्षमता हो जहां उपयोगकर्ता को अधिसूचित किया जाएगा, कि उसकी वांछित जगह उसकी वर्तमान स्थान स्थिति से 5 किमी की त्रिज्या में कहीं है, और मैं जीएसएम सेल त्रिकोणीय स्थान पर भरोसा करना चाहता हूं केवल पहचान विधि (बैटरी को संरक्षित करने के लिए)।

तो, मेरे मामले में वापस। इस तरह की एक बड़ी 8 किमी त्रुटि प्राप्त करने के बाद, मैंने मानक सटीकता (जीपीएस) के साथ मानक निगरानी सक्षम की है। और बिंगो, मुझे 39 9 मीटर की क्षैतिज सटीकता के साथ अपडेटेट टोलोकेशन इवेंट प्राप्त हुआ है, और केवल तभी, मुझे अपने शुरुआती स्थान (क्षेत्र ए) से एक्सीट्रेगियन प्राप्त हुआ है, और एक अन्य घटना डीएन्टररियन (बी) के साथ प्राप्त हुई है। DidUpdateToLocation से एक और अपडेट जहां थोड़ा और सटीक - 50 मीटर।

पिछले परिदृश्यों में, मुझे अस्थिर सटीकता भी मिल रही थी। कभी-कभी 4 किमी क्षैतिज अकसरता होती थी, कभी-कभी कम होती थी। लेकिन मुख्य सवाल यह है कि, अगर हम बैटरी को संरक्षित करना चाहते हैं (ऐप्पल हमें दस्तावेज़ों में सिखाता है) तो क्या हम केवल जीपीएस का उपयोग किए बिना क्षेत्र की निगरानी + जीएसएम पर भरोसा कर सकते हैं? "क्षेत्र निगरानी के उचित उपयोग" (here) के साथ ऐप्पल कोड का एक नमूना है, हालांकि वहां कुछ अस्वीकार्य चीजें हैं:

1) वे बताते हैं कि नमूना कोड केवल आईफोन 4 के लिए काम करता है, हालांकि ऐप्पल दस्तावेज़ बताते हैं कि दोनों क्षेत्र निगरानी और आईओएस 4.0 + पर महत्वपूर्ण निगरानी समर्थित है। अच्छा, हे?

2) नमूना कोड सभी 3 स्थान विधियों का उपयोग करता है: महत्वपूर्ण, मानक, क्षेत्र। यह हर समय क्षेत्र निगरानी का उपयोग करता है लेकिन इसके अलावा मानक सटीकता के साथ मानक स्थान का उपयोग करता है। जब ऐप पृष्ठभूमि में प्रवेश करता है तो यह मानक बंद हो जाता है और महत्वपूर्ण परिवर्तन निगरानी शुरू करता है। अग्रभूमि में प्रवेश करते समय ऐप महत्वपूर्ण बंद हो जाता है और मानक स्थान शुरू करता है। ऐसा लगता है कि सेब डॉक्स काफी अस्पष्ट हैं, यह स्पष्ट नहीं है कि अगर हम केवल क्षेत्र की निगरानी का उपयोग करते हैं, या क्या हम हमेशा तीनों तरीकों का उपयोग करते हैं तो क्या दंड (क्षैतिज सटीकता) हमें मिलता है?

3) ऐप्पल दस्तावेज़ बताते हैं कि हमें बैटरी को संरक्षित करने और न्यूनतम स्थान सेवाओं के रूप में उपयोग करने की आवश्यकता है, अगर हमें जीपीएस की आवश्यकता नहीं है तो हमें जीएसएम का उपयोग करना चाहिए (उदाहरण के लिए, 1 - 3 किमी वांछित सटीकता) । लेकिन नमूना कोड क्षेत्र निगरानी और मानक निगरानी (जब ऐप अग्रभूमि में है) दोनों के लिए सर्वश्रेष्ठ वांछित सटीकता (जीपीएस) का उपयोग करता है। मैं समझता हूं कि जीपीएस त्रुटियों और सटीकता के साथ मेरी सभी समस्याओं को हल करेगा, लेकिन केवल जीएसएम का उपयोग करने के बारे में क्या? मेरे परिदृश्य में 8.5 किमी क्षैतिज सटीकता प्राप्त करने के बाद, मुझे यकीन नहीं है कि क्षेत्र की निगरानी का उपयोग करना संभव है क्योंकि यह कम से कम 5 किमी स्वीकार्य त्रुटि प्रदान करने में असमर्थ है।

उत्तर

1

मेरे अनुभव में, क्षेत्र की निगरानी बैटरी जीवन के लिए एक महत्वपूर्ण हानि के बिना बहुत सटीक है। मेरे पास उन क्षेत्रों का उपयोग परिदृश्य है जो केवल 30-50 मीटर चौड़े हैं। सटीकता के साथ बिल्कुल कोई समस्या नहीं है। एक बात मैं कहूंगा, मैंने केवल आईफोन 4 डिवाइस और ऊपर लक्षित किया है। अगर मैं 3 जीएस मॉडल का समर्थन करना चाहता हूं तो मुझे कुछ बदलावों को लागू करने की आवश्यकता होगी।

पूरी तरह से ऑन -स्टार्ट मॉनिटरिंगफोररियन पर भरोसा करते समय, आपके अपडेट स्वचालित रूप से -didEnter और -didExit ईवेंट पर ट्रिगर होते हैं। ये स्थान ट्रैकिंग घटनाओं के संयोजन के माध्यम से ट्रिगर किए जाते हैं।महत्वपूर्ण परिवर्तन, सेल टॉवर स्थानान्तरण, वाईफाई से कनेक्शन, एक और ऐप अनुरोध स्थान, और कुछ अन्य। ओएस हैंडल करता है जब कॉलबैक इन अन्य साझा स्थान घटनाओं से ट्रिगर होते हैं। मेरे अनुभव में, यह बहुत सटीक रहा है। लेकिन यह केवल आईफोन 4 और ऊपर के लिए है।

मैंने चीजों को स्थापित करने के लिए ऐप्पल से उदाहरण ऐप का भी उपयोग किया, लेकिन दस्तावेज में बहुत अधिक जानकारी नहीं है कि आप कब ट्रिगर प्राप्त करेंगे। आप Location Awareness Guide. में ऐप्पल प्रदान करते हैं, इस पर पढ़ सकते हैं उम्मीद है कि इससे मदद मिलती है।

+1

जानकारी साझा करने के लिए धन्यवाद। क्षेत्रों और महत्वपूर्ण के साथ मेरा अनुभव आपके से बहुत विपरीत है। महत्वपूर्ण और क्षेत्र की निगरानी प्राथमिक रूप से सेल टावरों और उनके भौतिक स्थान पर निर्भर करती है (यदि कोई अन्य ऐप जीपीएस, या वाईफ़ाई का अनुरोध नहीं करता है) और यदि उनमें पर्याप्त घनत्व नहीं है तो समस्याएं हो सकती हैं। जिस शहर में मैं रहता हूं वह ~ 300 के लोगों का आकार है, और मुझे नहीं पता कि यह समस्या का कारण है। आज, मैं अपने शहर के अंदर एक ही पैरामीटर (5 किमी त्रिज्या, 3 वांछित सटीकता) के साथ कई क्षेत्रों का परीक्षण कर रहा था। हालांकि, मुझे समय पर एंटररियन नहीं मिला। – Centurion

+0

मैं 8 किमी की दूरी पर एक कार के साथ गाड़ी चला रहा था, और साथ ही, मैं महत्वपूर्ण परिवर्तन निगरानी का उपयोग कर रहा था, सभी घटनाओं को लॉगिंग कर रहा था। अजीब, लेकिन ~ 1 किमी क्षैतिज अधिकार के साथ एक नया स्थान प्राप्त करने के बाद भी किया गया था, और लगभग वांछित क्षेत्र के केंद्र में, मुझे उस क्षेत्र के लिए एंटररियन नहीं मिला। हालांकि, परीक्षण के बाद, मैंने लॉग की समीक्षा की और देखा कि अपडडेट टोलोकेशन में अधिकांश घटनाओं में 3 - 3.5 किमी क्षैतिज सटीकता थी। निर्देशांक अच्छे हैं, क्योंकि मैं उन्हें सभी को एसक्लाइट डीबी में संग्रहीत करता हूं, और इन्हें डीड अपडेट टोलोकेशन में और क्षेत्रों को पंजीकृत करने के लिए उपयोग करता हूं। – Centurion

+1

IMHO, यदि महत्वपूर्ण परिवर्तन स्थान 3.5 किमी सटीकता के साथ संचालित होता है, तो क्षेत्र अधिक सटीक नहीं हो सकते हैं, क्योंकि वे दोनों एक ही तंत्र का उपयोग करते हैं और मुख्य स्थान परिणाम साझा करते हैं। – Centurion