2012-12-11 28 views
5

我正在爲iPhone(iOS 6)定位應用程序,該應用程序不斷向Web服務發送準確的位置信息。我有它的設置,以便應用程序每分鐘發送一個位置數據包(只要位置發生了重大變化)。這部分應用程序運行良好(作爲後臺任務),但正如您可能預期的那樣,它會始終大幅影響GPS的使用壽命(我獲得大約6個小時,這對我來說已經習慣了堵塞並不算太糟糕在我的手機上,當我在家時,我可以度過這一天,但我需要延長至少16小時才能實用)。如何在iPhone上進行位置追蹤比始終離開GPS更有效?

我想要做的是當手機指示它沒有顯着移動一段時間時關閉GPS。這對使用GPS數據本身來說是微不足道的。但是,在GPS關閉的情況下,我可以使用什麼作爲觸發器將其重新打開,並重新啓動位置發佈?當感覺到5分鐘內沒有產生新的位置時,我可以將其關閉,然後在X分鐘後檢查位置以查看它是否已經改變,並據此採取行動。或者,也許我可以用一些聰明的方式使用加速度計或其他傳感器,以再次觸發GPS。

鑑於行程時間往往是一天中的一小部分,因此在家中或辦公室時儘量減少GPS活動是有意義的......但如何可靠地做到這一點?

+0

如果有人感興趣,應用程序的輸出示例如下:https://motion.blob.core.windows.net/kml-motion/4a03a463-821a-4cd5-b4ba-a0f71aaa6c3e。 KML。這是一個可直接在Google地球中打開和查看的KML文件。 – ProfNimrod

+0

我看着你的kml文件,但現在我只能看純文本文件。一個Tipp:在komma之後使用較少的數字,你不需要一個位置的1/1000釐米的分辨率 – AlexWien

+0

感謝您的提示AlexWien - 增加了一些舍入。 – ProfNimrod

回答

0

如果您不擔心將GPS關閉幾分鐘而導致精度損失,那麼您可以考慮將其全部關閉。細胞塔定位機制工作正常,雖然它位於塔,可能有些距離。但是,幾分鐘後,無論如何都很容易出行。並且做細胞塔的網絡定位器也做wifi網絡,準確性爲20m左右。無論如何,GPS在室內都不起作用。因此,請關閉GPS,並始終將網絡位置開啓。

+0

對不起,我應該說,我擔心問題的精確性......雖然有第二種模式切換到網絡位置可能是有用的 - 例如,當它看到電池下降到25%......有趣的想法。 – ProfNimrod

2

我可能會考慮的模型是使用standard location service來獲取我的位置,一旦我得到了它,關閉它並打開使用功率低得多的significant change location service。而且,一旦我收到後續的重要更改通知(您可能想忽略第一個,因爲您已經擁有準確的位置),則可以再次轉換標準位置服務以獲取準確的位置(假設您需要這樣做..如果你不需要超級準確的位置,你顯然只需要從一開始就使用重要的變更位置服務)。

或者,如果您這樣做,但仍然使用的功率太大,則可以完全關閉位置服務,然後在一段時間後再打開它,但是您可能會在過渡期間丟失重要的位置更改並且如果用戶完全沒有移動,則在許多情況下它將比上述技術使用更多的功率。

+0

是的,我目前正在使用重要的更改位置服務,並發現仍然使用太多的權力。你的第二部分正是我的難題所在。這就是爲什麼我想知道是否有外部到GPS的觸發器可以可靠地組合,以重新打開位置服務。 – ProfNimrod

+0

@ProfNimrod唉,不是我所知道的。這正是發生重大變化的原因。但是,即使這需要太多的權力,那麼一些基於計時器的解決方案是我能想到的唯一的事情,而且這本身就具有明顯的缺點。我懷疑唯一的選擇是在離開[區域]時進行監控(http://developer.apple.com/library/ios/documentation/userexperience/conceptual/LocationAwarenessPG/CoreLocation/CoreLocation.html#//apple_ref/doc/uid/TP40009497-CH2-SW13),其功耗不會低於重大更換服務。嘆。 – Rob

0

我的應用程序(正在開發中)在後臺運行8小時,每秒對文件記錄一次修復。那就夠了,它不會變好。你不能同時擁有GPS精度和20小時電池。
6小時,這也可能是由服務器通信(或經常啓用設備)引起的。

但一個有趣的方法可能是運動傳感器,但它是一個很好的問題它需要多少電池。
你知道任何iPhone應用程序可以記錄精確的GPS遠遠超過8小時嗎? 我從來沒有測量過,但嘗試MotionX GPS,他們可以記錄多久。

+0

什麼是「akku」?這是外語嗎? –

+0

是它的德國人爲accu,電池 – AlexWien

+0

感謝您澄清電池和準確性之間的貿易 - 猜我堅持不得不與現在的6-8小時的限制工作......希望在一年左右這贏得用更好的電池和更高效的GPS不會讓人擔憂。 – ProfNimrod

1

這不是一個完整的答案,但完全使用GPS的替代方法是慣性死亡(推導)推算。這可以通過僅使用加速度計和陀螺儀(以及一些聰明的數學)來實現,並且偶爾使用GPS作爲檢查。我不知道這種方法有多準確,或者它對電池使用時間會有什麼影響......我會讓你知道,當我已經實施它;-)

儘管Android accelerometer accuracy (Inertial navigation)似乎表明它不值得的努力,但我認爲這只是使用加速計,並沒有使用陀螺儀 - 這兩種設備提供不同的運動方面:Gyroscope vs Accelerometer?