亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

用于布建地理圍欄的方法和設備與流程

文檔序號:11143045閱讀:550來源:國知局
用于布建地理圍欄的方法和設備與制造工藝

本發(fā)明的方面涉及地理圍欄的自動布建。地理圍欄是總體上在例如辦公室、校園、零售店面等地理區(qū)域上限定的封閉邊界。一旦限定好,地理圍欄就允許具有位置估計能力的移動裝置確定它們是否在地理圍欄內(nèi)部或外部。這個確定可以形成配合移動裝置執(zhí)行的許多有用功能的基礎。

例如,可以圍繞咖啡店的占據(jù)面積限定地理圍欄??蛻魯y帶的移動裝置于是將能夠基于它的位置估計確定它是否在地理圍欄內(nèi)部或外部。在移動裝置上執(zhí)行的應用可以顯示飲料選擇的菜單,顯示相關廣告,向與所述咖啡店相關聯(lián)的服務器報告顧客的到達,和/或執(zhí)行其它任務,全部基于顧客已經(jīng)進入表示咖啡店的地理圍欄內(nèi)部的確定。

雖然地理圍欄具有許多有用的應用,但是地理圍欄的產(chǎn)生通常是冗長的、費力的并且往往難以縮放的過程。傳統(tǒng)上,應用開發(fā)人員基于相關地理區(qū)域的地圖手動地繪制地理圍欄。例如,咖啡店應用的開發(fā)人員可以從咖啡店和周圍區(qū)域的帶地理標記的地圖開始。使用所述地圖,應用開發(fā)人員接著可圍繞咖啡店的占據(jù)面積手動地繪制邊界,以產(chǎn)生地理圍欄。這總體上是難以縮放的費力的過程。

一些軟件工具包(SDK)已經(jīng)嘗試通過提供輔助軟件開發(fā)人員手動地繪制地理圍欄的工具庫來減輕這個問題。但是,仍然需要一種用于布建地理圍欄的有利于高效并且動態(tài)地創(chuàng)建地理圍欄的方法和設備。

軟件工具包提供視覺編程特征,其使得開發(fā)人員能夠創(chuàng)建在移動應用程序軟件執(zhí)行期間可使用的地理圍欄。地理圍欄在移動裝置應用程序軟件內(nèi)具有多種多樣的用法。當前,雖然可以通過使用某些軟件工具包創(chuàng)建地理圍欄,但是創(chuàng)建地理圍欄涉及用既不動態(tài)也不可縮放的方式手動地輸入地理圍欄偏好。



技術實現(xiàn)要素:

描述某些方法、設備和計算機程序產(chǎn)品,其可以用于顯示包括用戶可選的一或多個地理實體的地圖,并且響應于用戶對一或多個地理實體中的至少一個地理實體的選擇,創(chuàng)建對應于所選的至少一個地理實體的至少一個地理圍欄。還揭示了額外步驟或特征, 包含顯示用戶可選的多個地理實體,以及顯示讓用戶選擇多個地理實體中的第一者的建議。另外其它操作可以包含:提供使得用戶能夠通過輸入一或多個關鍵詞而選擇一或多個地理實體的界面;接收用戶輸入的關鍵詞;以及響應于確定第二地理實體與同輸入關鍵詞匹配的屬性相關聯(lián),創(chuàng)建對應于第二地理實體的地理圍欄。

所述方法、設備和計算機程序產(chǎn)品還可涉及接收用戶提供的第一輸入,所述第一輸入包含一或多個關鍵詞;以及響應于確定第一地理實體具有與所述一或多個關鍵詞匹配的屬性,創(chuàng)建對應于第一地理實體的地理圍欄。本文中所揭示的額外步驟和過程包含:接收用戶輸入的邏輯表達式,所述邏輯表達式包含多個關鍵詞和至少一個邏輯運算數(shù);識別具有以滿足邏輯表達式的方式與多個關鍵詞匹配的屬性的額外地理實體,以及響應于識別出額外地理實體,創(chuàng)建對應于額外地理實體的地理圍欄。

而且,描述某些方法、設備和計算機程序產(chǎn)品,其可以包含存儲器;以及處理器,其耦合到存儲器并且配置成顯示包括用戶可選的一或多個地理實體的地圖,并且響應于用戶對至少一個地理實體的選擇,創(chuàng)建對應于所選的至少一個地理實體的至少一個地理圍欄。

所述地圖可包括多個實體,并且處理器可以進一步經(jīng)配置以顯示讓用戶選擇所述多個地理實體中的第一者的建議,提供使得用戶能夠通過輸入一或多個關鍵詞而選擇地理實體的界面特征,接收用戶輸入的關鍵詞,以及響應于確定第二地理實體與同輸入關鍵詞匹配的屬性相關聯(lián),創(chuàng)建對應于第二地理實體的地理圍欄。

附圖說明

以實例來說明本發(fā)明的各方面。在附圖中,相同參考標號指示類似元件,且:

圖1說明軟件開發(fā)工具包(SDK)可以在其中操作的系統(tǒng)的簡化圖。

圖2說明具有本文所述的某些特征的軟件開發(fā)工具包界面。

圖3說明可以作為SDK界面的一部分呈現(xiàn)的實例區(qū)域顯示地圖。

圖4是根據(jù)本發(fā)明的SDK可使用的區(qū)域信息數(shù)據(jù)庫。

圖5描繪具有使得能夠創(chuàng)建地理圍欄的某些特征的SDK界面。

圖6描繪具有使得能夠創(chuàng)建地理圍欄的某些特征的SDK界面。

圖7描繪具有使得能夠創(chuàng)建地理圍欄的某些特征的SDK界面。

圖8描繪具有使得能夠創(chuàng)建地理圍欄的某些特征的SDK界面。

圖9描繪具有使得能夠創(chuàng)建地理圍欄的某些特征的SDK界面。

圖10描繪具有使得能夠創(chuàng)建地理圍欄的某些特征的SDK界面。

圖11描繪具有使得能夠創(chuàng)建地理圍欄的某些特征的SDK界面。

圖12描繪具有使得能夠創(chuàng)建地理圍欄的某些特征的SDK界面。

圖13描繪具有使得能夠創(chuàng)建地理圍欄的某些特征的SDK界面。

圖14描繪具有使得能夠創(chuàng)建地理圍欄的某些特征的SDK界面。

圖15描繪具有使得能夠創(chuàng)建地理圍欄的某些特征的SDK界面。

圖16描繪SDK界面區(qū)域地圖顯示和幾個劃界區(qū)域的近景圖。

圖17描繪SDK界面區(qū)域地圖顯示和在顯示上描繪的幾個劃界區(qū)域的近景圖。

圖18是描繪根據(jù)本發(fā)明的實例操作的流程圖。

圖19是描繪根據(jù)本發(fā)明的實例操作的流程圖。

圖20是描繪根據(jù)本發(fā)明的實例操作的流程圖。

圖21是描繪根據(jù)本發(fā)明的實例操作的流程圖。

具體實施方式

現(xiàn)將相對于形成本文的一部分的附圖來描述若干說明性實施例。雖然下文描述可實施本發(fā)明的一或多個方面的特定實施例,但可使用其它實施例,且可在不脫離本發(fā)明的范圍或所附權利要求書的精神的情況下進行各種修改。應理解,僅僅出于示范性目的提供圖式中所描繪的所有細節(jié),并且因此可以易于理解和實踐本文中所描述的方法的某些實施方案。因此,不應出于限制、限定或劃定本發(fā)明的范圍的目的而解釋此些細節(jié)或對此些細節(jié)的論述。

圖1說明用于使得能夠定制、選擇和激活地理圍欄的系統(tǒng)100的簡化圖。如所描繪的,系統(tǒng)100提供軟件開發(fā)工具包(SDK)101以便由例如移動裝置162的客戶端移動裝置執(zhí)行編寫移動應用程序代碼。本揭示內(nèi)容將描述可以容易在SDK內(nèi)實施的幾種技術、方法和操作。但是,SDK僅僅是可以實施這些技術、方法和操作的幾個軟件平臺中的一者。任何這些技術、方法和操作可以在其它類型的用戶或開發(fā)人員介面或軟件中實施,無論是在移動裝置、平板電腦、膝上型計算機、PC還是其它此些計算或通信設備處實施。將理解本發(fā)明除了涉及SDK的實施方案之外還涵蓋每個此實施方案。但是,為便于解釋,將關于以某種方式涉及SDK的實施方案解釋本文所述的幾個技術特征。對于參考的這個選擇不應解釋為以任何方式影響本發(fā)明的范圍。

SDK通過SDK軟件102實施和控制,SDK軟件102可以加載到移動應用程序開發(fā)人員使用的計算機終端104的存儲器105中。軟件102可以包含計算機終端104內(nèi)的處理器103執(zhí)行的代碼,使得SDK 101可以在計算機終端104處安裝和執(zhí)行。下文中,在 步驟、過程、方法或計算被描述為由SDK 101執(zhí)行或促進的情況下,此動作可以理解為由執(zhí)行SDK實施軟件102的處理器(例如處理器103或類似配置的處理器的集合)執(zhí)行。此些步驟還可包含其它組成部分,這些組成部分尤其可以充當處理器103利用的信息源。

計算機終端104可以是適合由應用程序開發(fā)人員在開發(fā)和編碼移動應用程序的過程期間使用的任何類型的計算設備。計算機終端104可以首先通過從遠程服務器192下載SDK實施軟件102來存取SDK實施軟件102。替代地,軟件102可以存儲于存儲器或與計算機終端104兼容的某種其它類型的存儲裝置中的可執(zhí)行文件中,并且可以由處理器103讀取。

在SDK實施軟件102安裝之后,處理器103執(zhí)行SDK軟件102以根據(jù)開發(fā)人員輸入150激活和控制SDK 101。激活SDK 101涉及在用戶計算終端104處顯示SDK視覺界面106。界面106使得開發(fā)人員可以通過在界面106處操作輸入特征而與SDK 101交互。界面106提供顯示信息、功能性和選項,開發(fā)人員可以使用所述顯示信息、功能性和選項來編寫移動應用程序軟件。界面106還使得能夠使用編譯程序131,開發(fā)人員可以使用編譯程序131來編譯所編寫的移動應用程序代碼,以便將代碼轉換成可執(zhí)行的移動應用程序軟件格式。

在開發(fā)人員已經(jīng)使用SDK 101產(chǎn)生移動應用程序軟件(在已經(jīng)安裝在移動裝置處之后在113處展示)之后,軟件113可以上載到服務器192。服務器192存儲軟件113,并且從例如162處描繪的裝置的客戶端移動裝置接收軟件下載請求。當客戶端移動裝置162發(fā)起對于軟件下載的請求時,服務器192將軟件113下載到請求裝置。

如所描繪的,在移動裝置162處使用移動裝置接收器165接收應用程序軟件113。在接收到應用程序軟件113之后,將應用程序軟件113安裝在移動裝置162處的存儲器167中。隨后可以由移動裝置處理器163執(zhí)行軟件113。執(zhí)行軟件可以涉及打開移動應用程序執(zhí)行模塊169,移動應用程序執(zhí)行模塊169在處理器163內(nèi)運行。移動應用程序子模塊可以包含內(nèi)容控制子模塊170和地理圍欄激活子模塊171。

關于可在計算裝置104處操作的SDK 101,SDK界面106可以提供視覺編程輸入特征,開發(fā)人員可以使用所述視覺編程輸入特征來編寫移動應用程序軟件113。界面160還提供使得開發(fā)人員在編寫移動應用程序代碼時能夠易于在移動應用程序軟件113內(nèi)創(chuàng)建地理圍欄代碼模塊的視覺編程特征。通過將地理圍欄代碼模塊并入到應用程序軟件113中,軟件當在移動裝置162處執(zhí)行時,可以使裝置處理器163根據(jù)開發(fā)人員編碼的地理圍欄模塊規(guī)范來激活地理圍欄。軟件還可使處理器維護有效地理圍欄列表111,并且每當處理器激活地理圍欄時更新所述列表。

如下文將更詳細地描述,地理圍欄是結合客戶端移動裝置處理器163對移動應用程序軟件113的執(zhí)行而使用的地理參考。每個地理圍欄是基于絕對或相對的大地或空間信息(通常但未必是經(jīng)緯度信息)的集合,其理解為劃定地理區(qū)域(下文中也稱為“區(qū)域”、“關注點”或“實體”)或地理區(qū)域邊界,并且基于用于使用所述信息的編碼指令。當?shù)乩韲鷻谑腔趧澏▍^(qū)域的信息時,稱相對于劃定的區(qū)域限定或創(chuàng)建地理圍欄。劃定地理區(qū)域的每個此信息集合在下文中將稱為區(qū)域劃定信息。SDK 101可使用多個區(qū)域劃定信息集合122以便使得開發(fā)人員能夠相對于通過所述集合中的一個集合劃定的任何區(qū)域創(chuàng)建地理圍欄。

后面的圖將詳細描述根據(jù)本發(fā)明SDK 101可以如何設計成使得開發(fā)人員能夠在移動應用程序軟件113內(nèi)創(chuàng)建地理圍欄。在這點上,SDK 101包含使得開發(fā)人員能夠易于將區(qū)域劃定信息122并入到軟件113內(nèi)的地理圍欄模塊中并且提供用于控制當軟件113執(zhí)行時將如何使用所述信息的特征。下文中,出于后面將解釋的原因,開發(fā)人員借以創(chuàng)建地理圍欄的過程可以互換地稱為“選擇”或“挑選”地理圍欄。在選擇地理圍欄時,將代碼編寫成使得當移動應用程序軟件113在移動裝置162處執(zhí)行時,計算或處理決策中會涉及區(qū)域劃定信息122,所述計算或處理決策用作控制移動裝置活動、操作或性能的基礎。地理圍欄應理解為在移動裝置處的此些計算中第一次使用區(qū)域劃定信息的集合時激活。

界面106處提供的某些視覺編程工具和特征使得開發(fā)人員能夠易于編寫地理圍欄代碼模塊,編寫的方式是通過搜索、檢索和參照存儲于地圖區(qū)域數(shù)據(jù)庫120(下文中稱為“數(shù)據(jù)庫”)中的數(shù)據(jù)或數(shù)據(jù)集合。地圖區(qū)域數(shù)據(jù)庫120可以存儲于計算裝置104或服務器192處的存儲器105中,在SDK 101執(zhí)行時,計算裝置104與所述服務器192通信。另外或替代地,地圖區(qū)域數(shù)據(jù)庫120可以存儲在任何數(shù)目的客戶端移動裝置(例如162處描繪的移動裝置)處。

當數(shù)據(jù)庫120排他性地存儲在客戶端移動裝置處時,SDK 101的操作在某些方面可以稍微不同于數(shù)據(jù)庫存儲在服務器162或計算機終端104處的時候。因而,本揭示內(nèi)容將首先描述SDK 101特征,其可以在數(shù)據(jù)庫存儲在開發(fā)人員終端104處或存儲在開發(fā)人員終端與其通信的服務器192處時提供給開發(fā)人員。稍后,本揭示內(nèi)容將描述與數(shù)據(jù)庫120排他性地存儲在一或多個客戶端移動裝置162處的那些實施方案相關聯(lián)的某些獨特的SDK 101特征。

數(shù)據(jù)庫120可以用于多種目的。舉例來說,數(shù)據(jù)庫120可以存儲關于幾個劃定的地理區(qū)域的位置、尺寸、特性和特征的信息。這個信息可以作為預先封裝的SDK 101特征 供開發(fā)人員使用,并且可以通過SDK視覺界面106存取。各種SDK界面106特征(將參看后面的圖論述其中的每一個)使得開發(fā)人員能夠搜索、檢索和審閱數(shù)據(jù)庫120中的信息。其它特征使得開發(fā)人員能夠通過從數(shù)據(jù)庫120中快速選擇開發(fā)人員希望并入到地理圍欄代碼模塊中的信息來創(chuàng)建地理圍欄。另外其它特征使得開發(fā)人員能夠通過智能地編寫對于數(shù)據(jù)庫120中的信息的地理圍欄代碼模塊參考而并不實際上看到或審閱任何這個信息來創(chuàng)建地理圍欄。

本發(fā)明的SDK 101可以設計成便于編寫以任何數(shù)目種方式并入地理圍欄的應用程序軟件。例如,開發(fā)人員可能希望應用程序軟件控制交互式內(nèi)容的顯示,使得僅僅當客戶端移動裝置(例如裝置162)在特定的地區(qū)或區(qū)域中或者靠近特定的地區(qū)或區(qū)域時提供內(nèi)容。開發(fā)人員可以通過在軟件113內(nèi)創(chuàng)建地理圍欄模塊來實現(xiàn)這個結果,以便相對于相關地區(qū)或區(qū)域實施地理圍欄。

作為本文中所揭示的SDK 101的靈活性的另一實例,SDK 101還可設計成使得開發(fā)人員能夠編寫這樣的應用程序軟件113,其并入有地理圍欄模塊以用于控制數(shù)據(jù)收集或報告軟件實現(xiàn)的活動的目的。在這種情況下,編寫應用程序軟件113以使移動裝置162響應于滿足移動裝置位置條件向服務器、其它移動裝置、電子郵件賬戶等等報告信息。此外,可以相對于使用地理圍欄模塊創(chuàng)建的地理圍欄限定位置條件。因而,例如,移動應用程序軟件113可以編寫成使得通過將裝置162帶入開發(fā)人員相對于其創(chuàng)建地理圍欄的任何地理區(qū)域內(nèi)或者從所述地理區(qū)域內(nèi)移除裝置162而將觸發(fā)信息的報告。

如先前所提到,SDK實施軟件102可以設計或編寫成使得SDK視覺界面106顯示開發(fā)人員可操作的交互式特征。軟件102可以另外設計或編寫成使得開發(fā)人員可以通過操控交互式特征而將地理圍欄模塊編寫到應用程序軟件113中。

圖2描繪在開發(fā)人員計算機終端104處操作的實例SDK界面106。圖2還顯示了開發(fā)人員可以用來編寫應用程序軟件113和在所述軟件內(nèi)創(chuàng)建地理圍欄模塊的幾個交互式特征。SDK界面106可以包含幾個其它特征,其出于簡單的原因未在圖2中描繪。但是將在后面的圖中描繪這些特征并且將參照這些圖予以解釋。

圖2中所描繪的一個此交互式特征是地理區(qū)域顯示地圖(下文中稱為“區(qū)域顯示地圖”或“顯示地圖”),其在204處展示。區(qū)域顯示地圖204可以包含使得開發(fā)人員能夠控制或更改地圖顯示的交互式特征。例如,顯示地圖204可以包含用于更改地圖范圍的按鈕(未圖示)。通過激活按鈕,使用SDK界面106的開發(fā)人員可以收窄或者放寬顯示范圍,這樣可能會引起地圖細節(jié)粒度的對應增加或減小。

如先前所描述,使用數(shù)據(jù)庫120存儲區(qū)域劃定信息的多個集合(或“例子”)122,其 中的每一個劃定不同的預定義區(qū)域。開發(fā)人員可以評估任何預定義區(qū)域,其目的是挑選將相對于其創(chuàng)建地理圍欄的區(qū)域。區(qū)域顯示地圖204可以顯示在數(shù)據(jù)庫120中劃定的任何區(qū)域的位置和布局。在圖2中,例如,如圍繞棒球場的粗黑線所指示,區(qū)域顯示地圖204在208處描繪一個此區(qū)域。區(qū)域顯示地圖還在210和212處顯示區(qū)域。區(qū)域210是相對于停車庫綜合體劃定的,而區(qū)域212是相對于市場劃定的。

開發(fā)人員可以選擇任何此些區(qū)域或區(qū)域組合的基礎區(qū)域劃定信息以用于創(chuàng)建地理圍欄模塊。下文中,當開發(fā)人員出于創(chuàng)建地理圍欄的目的而選擇或指示區(qū)域劃定信息時,選擇輸入有時將被稱作“選擇區(qū)域”。在下面的段落中,本揭示內(nèi)容將描述幾個不同的SDK界面106區(qū)域選擇特征,其中的每一個提供開發(fā)人員可以用來在創(chuàng)建地理圍欄時選擇區(qū)域的獨特機構。

如先前所描述,當選擇一個區(qū)域時,將對應的區(qū)域劃定信息包含于正在編寫的代碼中。206處展示了正在編寫的代碼的實例。

如208、210和212處描繪的區(qū)域所證實,基于地圖數(shù)據(jù)和描繪以及地理、土地使用和城市規(guī)劃信息直觀地成形在數(shù)據(jù)庫120中劃定的區(qū)域。也就是說,通過以某種精確度與所述區(qū)域下面的土地的可辨識使用或特性相關的邊界劃定每個區(qū)域。例如,在相對于設有一群餐館、政府辦公室建筑物、商用建筑、醫(yī)療設施、旅游勝地或特征在于一些其它區(qū)別特征或特征組合的城市的可識別區(qū)部劃定區(qū)域的情況下,可以用使得劃定大約遵循可辨別地區(qū)的可辨識外邊緣劃定區(qū)域。除了街道、地區(qū)和其它大規(guī)模土地使用之外,可以相對于較小場所或關注點劃定區(qū)域,所述較小場所或關注點例如是各個商店、公園、博物館、商店、旅游勝地、學校、房屋、辦公室建筑物或能夠以某種精確度識別和定位的其它可辨識土地使用下面的土地部分。

另外或替代地,可以相對于領域、政府或管轄地區(qū)、街道或任何其它辨識為與地理邊界或劃定(不論多么抽象)相關聯(lián)的可以想象的地區(qū)劃定任何數(shù)目的區(qū)域。可以使用數(shù)據(jù)庫120存儲相對于以這些方式中的任何一種方式限定的區(qū)域的區(qū)域劃定信息122。

如先前所提到,可以限定在數(shù)據(jù)庫120中劃定的每個區(qū)域,以便大概符合相應基礎地區(qū)的可辨識邊界。因而,作為假設實例,如果在數(shù)據(jù)庫120中,相對于占據(jù)星形土地地區(qū)的游樂園停車場劃定一個區(qū)域,則所述劃定可以是星形的,并且可能涉及幾乎等效于停車場的實際地理邊界的邊界。因而,某些區(qū)域的形狀可能是不對稱或奇怪的,并且劃定的區(qū)域邊界無需形成直線或圓形邊緣,即使當?shù)叵碌乩韰^(qū)域具有筆直或圓形周邊時,也可以如此劃定任何邊界。

圖3是在開發(fā)人員已經(jīng)操控SDK界面106特征以便將地圖平移到華盛頓D.C.的國 家廣場(National Mall)的西側的視圖之后在某個時間的區(qū)域顯示地圖204的聚焦視圖。圖3意圖提供可以在數(shù)據(jù)庫120中劃定區(qū)域的方式以及區(qū)域顯示地圖如何使得開發(fā)人員能夠審閱這些劃定的額外圖示。

如302處所描繪,區(qū)域顯示地圖204描繪限定成以便包圍林肯紀念堂的區(qū)域的劃定。而且,區(qū)域顯示地圖204描繪相對于國家廣場的整個西半建筑限定的區(qū)域304的劃定。通過參考區(qū)域描繪302和304可以理解,數(shù)據(jù)庫120可以存儲相對于彼此重疊的區(qū)域的區(qū)域劃定信息122。另外或替代地,數(shù)據(jù)庫120可以存儲相對于包含也在庫中劃定的較小區(qū)域的區(qū)域的區(qū)域劃定數(shù)據(jù)122。

如121處所暗示,數(shù)據(jù)庫120可以并入獨特的區(qū)域識別符,其使得開發(fā)人員能夠參考與數(shù)據(jù)庫120中劃定的任何特定區(qū)域相關的區(qū)域信息。區(qū)域識別符可以是任意指派的代碼。替代地,區(qū)域識別符可以是直觀地挑選的名稱,其選擇成便于開發(fā)人員區(qū)域辨識。將參照圖4另外解釋區(qū)域識別符的使用。

圖4描繪數(shù)據(jù)庫120中的實例信息以及用于組織其中的數(shù)據(jù)的一種實例方法。僅僅為了解釋性的目的描繪圖4。此外,圖4描繪可以用于實施本發(fā)明的某些方面的許多技術中的僅一種技術,并且不應出于以任何方式限定或限制本發(fā)明的范圍的目的解釋。

如圖4中所描繪,可以使用數(shù)據(jù)庫120存儲相對于幾個區(qū)域中的每一個的信息。如通過404、402和406處的箭頭所指示,這些區(qū)域包含分別相對于華盛頓D.C.的VA亞歷山大市林肯紀念堂的美國專利與商標園區(qū)和科羅拉多州丹佛市的咖啡店限定的區(qū)域。在402、404和406處提出的經(jīng)過排序的信息的實例可以解釋為表示可以如何使用鏈接列表、陣列、經(jīng)過排序的文本文件、堆棧、隊列或任何其它數(shù)據(jù)結構存儲或組織所述信息。如408處所描繪,在數(shù)據(jù)庫120中通過區(qū)域識別符“林肯紀念堂”參考相對于林肯紀念堂存儲的區(qū)域信息。如410和412處所描繪,分別通過區(qū)域識別符“亞歷山大市USPTO”和“瑞克咖啡店”參考相對于USPTO園區(qū)和咖啡店存儲的區(qū)域信息。

如每個區(qū)域識別符正下面的線上的414、416、418處所描繪,數(shù)據(jù)庫120存儲用于前述識別符所參考的區(qū)域的相應區(qū)域劃定信息。以此方式,將每一區(qū)域劃定信息集合索引到相應區(qū)域識別符。因而,通過參考區(qū)域識別符408、410、412,可以易于查詢或檢索相應區(qū)域劃定信息414、416、420。

除了存儲相對于各種區(qū)域的劃定信息之外,數(shù)據(jù)庫120還可以用于存儲關于劃定區(qū)域中的任一者或全部的特性、特征或屬性的信息,以及關于發(fā)生在任何區(qū)域內(nèi)的任何活動或任何區(qū)域下面的土地的使用方式的信息。例如,當庫120存儲相對于一個區(qū)域的劃定信息122時,存儲的劃定信息122可以鏈接或索引到一些信息,其描繪事實、特性或 屬性,例如所述區(qū)域中生活的人數(shù),區(qū)域的土地面積,區(qū)域的最高點,平均區(qū)域溫度或降雨量,區(qū)域內(nèi)使用的任何區(qū)域代碼或郵政編碼,所述區(qū)域所在的城市、區(qū)縣、州或國家或與所述區(qū)域相關的任何其它類似和可確定的信息。

下文中,描繪區(qū)域事實、特性或屬性的此信息將被稱作“區(qū)域特性信息”。在圖1中的123處描繪區(qū)域特性信息的存儲區(qū)。如將參看后面的圖式更詳細地解釋的,相對于每個劃定區(qū)域的區(qū)域特性信息123的存儲區(qū)是SDK 101特征,其使得開發(fā)人員能夠快速搜索、檢索、審閱,并且根據(jù)開發(fā)人員的判斷,基于區(qū)域特性選擇區(qū)域劃定信息。

對于在數(shù)據(jù)庫120中劃定的任何區(qū)域,可以使用具有指派的字符串、數(shù)值、布爾值或其它數(shù)據(jù)類型的一組變量存儲、存取和參考區(qū)域特性信息123。作為簡單實例,任何區(qū)域特性信息集合123可以包含具有例如“人口”、“面積”或“平均區(qū)域降水量”的名稱的整數(shù)變量。可以將整數(shù)值指派給這些變量以便表示區(qū)域人口、土地面積(建筑面積、平方英里等等)或平均區(qū)域降水量。替代地,區(qū)域特性信息123可以用標準化格式存儲為數(shù)據(jù)集合。例如,多個區(qū)域特性信息集合123可以存儲于文本文件或其它數(shù)據(jù)文件中,根據(jù)信息的預定排序,數(shù)據(jù)的每個例子占據(jù)文件的不同的行。

圖4中在422和424處描繪實例區(qū)域特性信息集合。在圖4的實例數(shù)據(jù)庫120中,每一區(qū)域特性信息集合422、424包含區(qū)域特性變量集合,其用于描繪區(qū)域土地面積、人口、海拔、區(qū)域中的建筑物數(shù)目和平均溫度。

在數(shù)據(jù)庫120的一個實施例中(圖4中未描繪),數(shù)據(jù)庫存儲區(qū)域特性信息,其描繪在數(shù)據(jù)庫中劃定的各種區(qū)域中可供移動裝置使用的信息源。稍后將論述區(qū)域特性信息的這種特定形式,此時其將被稱作“區(qū)域位置確定信息”。

數(shù)據(jù)庫120還可用于存儲關于與數(shù)據(jù)庫中劃定的任何區(qū)域相關聯(lián)的活動、用途、管轄、所有權、主管部門或組織的信息,以及關于任何其它區(qū)域特征的信息。此信息在下文中將稱為“區(qū)域特征信息”。圖1中在124處描繪區(qū)域特征信息的存儲。對于庫120中劃定的任何或所有區(qū)域,可以在124處存儲區(qū)域特征信息集合。在這些集合內(nèi),區(qū)域特征信息的例子可以用區(qū)域特征詞的形式存儲。區(qū)域特征詞是單個的詞、名稱、短語或詞、名稱或短語的組合,其描述與相應區(qū)域的特征的某種直觀關系并且與相應區(qū)域的特征具有某種直觀關系。因而,當數(shù)據(jù)庫120存儲相對于大型品牌服裝店的位置的區(qū)域劃定信息時,例如“服裝”、“服裝店”、“商品”、“品牌服裝”、“襯衫”、“褲子”、“男裝”或“冬裝”、“冬季折扣”或“可以獲得禮品卡”的任何或所有詞可恰當?shù)卮鎯τ谙鄳獏^(qū)域特征信息集合中。

如將參看后面的圖式更詳細地解釋的,相對于劃定區(qū)域存儲區(qū)域特征信息還用在 SDK 101內(nèi),以便為開發(fā)人員提供工具以快速搜索、檢索、審閱并且根據(jù)開發(fā)人員的判斷基于區(qū)域特征選擇區(qū)域劃定信息。

在圖4中,在430處描繪一個區(qū)域特征信息集合。如所描繪的,對于數(shù)據(jù)庫120中劃定的每個區(qū)域,區(qū)域識別符、區(qū)域劃定信息、區(qū)域特性信息集合和所述區(qū)域特征信息集合占據(jù)鄰近的存儲空間。以此方式,關于數(shù)據(jù)庫120中劃定的每個單獨的區(qū)域,所有相應區(qū)域信息彼此索引,并且可以易于被參考、查詢、分析和檢索。下文中,當與一個區(qū)域相關的一種類型的信息(例如區(qū)域識別符、區(qū)域特性信息集合等)鏈接或索引到數(shù)據(jù)庫120中的另一類型的信息時,每種類型的信息將被稱作“與”其它類型的信息“相關聯(lián)”或“對應于”其它類型的信息。因而,在提到庫120中劃定的任何特定區(qū)域時,本揭示內(nèi)容可以稱為對應的區(qū)域劃定信息集合,對應的區(qū)域特性信息數(shù)據(jù)或區(qū)域特征信息集合,并且可以將這些集合中的任一者或兩者稱為對應于劃定區(qū)域以及區(qū)域識別符。

相對于這整個揭示內(nèi)容,應理解,對于區(qū)域特征信息和區(qū)域特性信息的任何論述不應解釋為暗示關于這兩種類型的數(shù)據(jù)的任何硬性或正式的定義。實際上,關于任何區(qū)域的信息可以既存儲為區(qū)域特征信息又存儲為區(qū)域特性信息。例如,有5,000居民住在某一區(qū)域,這個事實可以在數(shù)據(jù)庫120內(nèi)表示為例如“許多居民”或“人口密集”的特征詞,但是也通過被稱作“人口”的變量在一個區(qū)域特性信息集合內(nèi)表示,所述“人口”變量被指派值5000。

本揭示內(nèi)容僅僅出于清楚起見區(qū)分這兩種類型的信息,并且因為某些信息(在本文中被稱作“區(qū)域特征信息”)在使用特征詞作為交流機制時最易于或直觀地描繪或理解,而其它信息(區(qū)域特性信息)使用變量名稱、數(shù)量、數(shù)值范圍和其它更數(shù)學的抽象化易于或恰當?shù)孛枥L。如本文所述的,某些涉及變量的過程可以與涉及特征詞的過程區(qū)分開,并且使用“區(qū)域特征信息”和“區(qū)域特性信息”這些術語來辨識這個事實。

在本文中提出的某些技術的一個實施方案中,數(shù)據(jù)庫120可以存儲在遠離用戶終端104的服務器上。當執(zhí)行SDK實施軟件102時,軟件102可以便于從外部服務器數(shù)據(jù)庫120下載信息到計算機終端104。在這個下載期間,可以將數(shù)據(jù)庫120中的信息中的任一者或全部提供到用戶終端104,并且隨后存儲于用戶終端104處的存儲器中。因而,在下載發(fā)生之后,可以在用戶終端104處存取數(shù)據(jù)庫120的復本。

如先前所描述,SDK界面106的區(qū)域顯示地圖204設計成以便在數(shù)據(jù)庫120中提供各種區(qū)域中的任一種的視覺描繪。所述區(qū)域可以描繪為配合界面106處展示的區(qū)域顯示地圖204呈現(xiàn)的疊層。以此方式,SDK視覺界面106使得應用程序開發(fā)人員能夠看到劃定區(qū)域的制圖描繪,包含區(qū)域位置,區(qū)域占據(jù)的空間,以及相對于地圖上展示的地理或 人工特征的相對位置。當使用地圖疊層呈現(xiàn)特征描繪區(qū)域時,額外區(qū)域顯示地圖204操控特征使得開發(fā)人員能夠控制在地圖204上描繪哪些區(qū)域。

圖5-15描繪實例SDK界面106,其包含開發(fā)人員的各種使用階段期間的區(qū)域顯示地圖204和某些實例區(qū)域顯示地圖控制特征682、683。SDK 101可以設計成根據(jù)開發(fā)人員定制的區(qū)域顯示準則來整理區(qū)域顯示地圖204。此外,SDK 101和SDK界面106可以使得開發(fā)人員能夠基于區(qū)域特性信息123、區(qū)域特征信息124或這兩種類型的信息指明區(qū)域顯示準則。例如,當數(shù)據(jù)庫120存儲相對于劃定區(qū)域的人口數(shù)據(jù)時,SDK界面106可以設計成接受開發(fā)人員輸入,其指明區(qū)域居民的最小或最大數(shù)目,以作為在區(qū)域顯示地圖204處顯示區(qū)域的準則。

區(qū)域顯示準則可以通過鍵入文本而輸入?yún)^(qū)域顯示準則,所述文本可以包含邏輯符號。如圖5-15中的每一個中所描繪,SDK界面106可以設計成提供區(qū)域顯示準則輸入窗口682,開發(fā)人員可以使用所述區(qū)域顯示準則輸入窗口682提供區(qū)域顯示準則輸入。而且圖5-15描繪有效區(qū)域顯示準則窗口684。窗口684用于顯示開發(fā)人員輸入的最近區(qū)域顯示準則,顯示的時間是輸入控制區(qū)域顯示地圖204處的區(qū)域顯示的時間。如684處所描繪,開發(fā)人員未輸入?yún)^(qū)域顯示準則。出于此原因,區(qū)域顯示地圖204示出了在數(shù)據(jù)庫中120限定的并且位于所描繪的城市區(qū)域內(nèi)的所有區(qū)域。

雖然未描繪,但是SDK界面106可以包含區(qū)域建議特征。區(qū)域建議特征可以基于建議或流行準則來推薦或區(qū)分區(qū)域顯示地圖204上示出的某些區(qū)域。例如,最大的區(qū)域、訪問最頻繁的區(qū)域或SDK界面106早期使用期間最常參考的區(qū)域可以突出顯示或以區(qū)分這些區(qū)域與不滿足所述準則的其它區(qū)域的某一方式顯示。

圖6描繪開發(fā)人員可以如何在輸入窗口682處格式化和輸入基于區(qū)域特性信息的區(qū)域顯示準則。如圖6所描繪,開發(fā)人員已經(jīng)在輸入窗口682格式化了區(qū)域顯示準則692。開發(fā)人員使準則基于區(qū)域特性信息,并且已經(jīng)相對于區(qū)域人口限定準則。

此外,圖7描繪此人口準則一旦輸入可如何由SDK 101用來控制在區(qū)域顯示地圖204處顯示的區(qū)域的實例。如在684可以看出,在682處輸入的區(qū)域顯示準則現(xiàn)在是有效的,并且用于限制在區(qū)域顯示地圖204處所顯示的區(qū)域。因此,僅僅在區(qū)域顯示地圖204上顯示區(qū)域225。相對于較小城市區(qū)域限定區(qū)域225,較小城市區(qū)域包含公寓和鄰近商戶以及公寓居民很可能使用的建筑。先前圍繞棒球場、面包店和市場、郵局、停車庫和藥店描繪的區(qū)域不再描繪。之所以不再描繪這些區(qū)域,是因為在數(shù)據(jù)庫120內(nèi),這些區(qū)域都不對應于指示超過1000位居民的區(qū)域人口的區(qū)域特性信息集合123。

SDK界面106可以設計成處理相對于存儲在數(shù)據(jù)庫120中的區(qū)域特性信息集合內(nèi)的 區(qū)域特性信息123的任何組合限定的輸入的顯示準則。在這點上,SDK 101的視覺界面可以設計成便于利用使用邏輯運算數(shù)創(chuàng)建的準則組合。開發(fā)人員可以使用邏輯運算數(shù)特征輸入相對于區(qū)域特性信息的幾個方面限定的復雜的區(qū)域顯示準則,并且其方式為使得可以用不同方式滿足準則。

圖8描繪SDK界面106和區(qū)域顯示準則窗口可以設計成提示開發(fā)人員使用邏輯運算數(shù)基于區(qū)域特性信息來格式化區(qū)域顯示準則。如所描繪的,開發(fā)人員點擊或選擇輸入窗口682。SDK界面106可以經(jīng)設計使得在此情形中,界面呈現(xiàn)提示650以向區(qū)域特性信息123的開發(fā)人員告知存儲于數(shù)據(jù)庫120中的變量。例如,當SDK 101能存取使用圖4中所描繪的方法格式化的數(shù)據(jù)庫120時,提示650可以提供以下所列變量:人口、土地面積、海拔、建筑物數(shù)目、平均溫度。根據(jù)數(shù)據(jù)庫120存儲的區(qū)域特性信息124,還可使用其它變量組合。提示650還可向開發(fā)人員告知SDK 101辨識出的邏輯運算數(shù)。以此方式,開發(fā)人員可以能夠快速并且智能地產(chǎn)生SDK 101辨識的區(qū)域顯示準則輸入。

圖10描繪在SDK 101能存取數(shù)據(jù)庫120的情況下可以如何格式化和輸入復雜的邏輯顯示過濾準則的一個實例,所述數(shù)據(jù)庫120在區(qū)域特性信息集合123內(nèi)存儲區(qū)域尺寸(即地理面積)、人口、降水量和平均溫度信息。當此些區(qū)域特性存儲于數(shù)據(jù)庫120中時,SDK 101可以設計成處理區(qū)域顯示準則輸入,其限定成使僅僅顯示人口超過指定居民數(shù)目并且尺寸小于指定平方英里的區(qū)域,還有具有超過指定數(shù)目的建筑物和不到指定人口的任何其余的區(qū)域。以此方式格式化的實例區(qū)域顯示準則在629處描繪,然后在窗口682處輸入。

圖11描繪當在窗口682處輸入時,區(qū)域顯示準則629如何整理區(qū)域顯示地圖204。在圖11中,區(qū)域顯示準則629是有效的,如窗口684中所示。準則629使幾個區(qū)域劃定從區(qū)域顯示地圖204中去除。如所描繪的,區(qū)域225和226是僅有的滿足準則629的區(qū)域。因而,繼續(xù)在區(qū)域顯示地圖204上描繪這些區(qū)域。

另外或替代地,SDK 101可以設計成響應于相對于區(qū)域特征詞限定的區(qū)域顯示準則而控制區(qū)域的描繪。圖12中描繪以此方式使用區(qū)域特征詞。如圖12中所描繪,SDK界面106可以包含輸入窗口683,開發(fā)人員可以通過所述輸入窗口683相對于區(qū)域特征詞或區(qū)域特征詞的組合限定準則。當開發(fā)人員通過輸入詞或詞的組合而指明準則時,變更區(qū)域顯示地圖204,以便移除對應于其中不具有所述詞或詞組合的區(qū)域特征詞集合的任何區(qū)域的描繪。

SDK 101可以經(jīng)設計使得結合在682處輸入的區(qū)域特性顯示準則使用在683處輸入的任何區(qū)域特征詞顯示準則。在這種情況下,當開發(fā)人員將準則輸入到窗口682和683 中時,SDK 101更改區(qū)域顯示地圖以便僅僅描繪對應于滿足在682處輸入的準則的區(qū)域特性信息集合和滿足683處的準則的區(qū)域特征詞集合兩者的區(qū)域。

當SDK 101使得區(qū)域顯示準則能夠基于區(qū)域特征詞時,SDK還可使得開發(fā)人員能夠使用邏輯運算數(shù)基于區(qū)域特征詞指明復雜的顯示準則。當SDK 101辨識出用于基于特征詞指定復雜的區(qū)域顯示準則的邏輯運算數(shù)時,可以用先前相對于基于區(qū)域特性信息的區(qū)域顯示準則描述的方式使用運算數(shù)。在672處,圖12示出了在輸入到窗口683中之前基于區(qū)域特征詞的復雜的顯示準則。

圖13示出了特征詞準則672一旦輸入如何整理區(qū)域地圖顯示204。區(qū)域顯示準則672描繪為有效區(qū)域顯示準則684。由于在準則672中指定的特征詞,區(qū)域顯示地圖204僅僅顯示區(qū)域208,即相對于完美比賽棒球場限定的區(qū)域。圖13中的區(qū)域顯示地圖204的出現(xiàn)意在暗示,就涉及顯示地圖204上描繪的城市地區(qū)的程度,區(qū)域208是數(shù)據(jù)庫120中劃定的對應于其中出現(xiàn)準則特征詞“棒球”、“場”和“完美比賽”的特征詞集合的僅有的區(qū)域。

作為使用地圖顯示疊層來顯示區(qū)域的替代方案,SDK界面還可以用其它方式在視覺上描繪區(qū)域。舉例來說,可以在SDK界面106處通過參考區(qū)域識別符121或劃定數(shù)據(jù)122描繪劃定區(qū)域。

不管用于描繪區(qū)域以供開發(fā)人員觀看的顯示特征如何,SDK 101可以提供選擇特征以使得開發(fā)人員能夠快速并且容易地選擇區(qū)域。選擇特征可以設計成使得當開發(fā)人員選擇一個區(qū)域時,對應于所選區(qū)域的區(qū)域劃定信息被合并到正在開發(fā)的應用程序代碼中。當移動裝置處理器稍后執(zhí)行應用程序代碼時,相對于在應用程序開發(fā)期間選擇的區(qū)域激活地理圍欄。

圖14描繪用于實施區(qū)域選擇特征的第一方法。選擇特征可以響應于至少一種類型的開發(fā)人員區(qū)域選擇輸入(例如鼠標單擊或雙擊、突出顯示動作、“拖放”或鍵盤鍵入)來合并可選圖標、標簽或其它交互選擇元素。在656處描繪的選項卡描繪了這種類型的選擇特征的實例。SDK界面106可以經(jīng)設計使得響應于開發(fā)人員點擊選項卡656,在208處描繪的區(qū)域劃定信息并入到在代碼206內(nèi)創(chuàng)建的地理圍欄模塊中。將這個信息并入到代碼206中的動作通過箭頭658表示,箭頭658僅僅出于解釋性的目的示出,不應當理解為在SDK界面106處呈現(xiàn)。區(qū)域顯示地圖204可以經(jīng)設計使得每當?shù)貓D描繪劃定區(qū)域時,所述描繪包含一或多個此些選擇元素,其中的每一個可以由開發(fā)人員激活以將對應的區(qū)域劃定信息并入到代碼中。

圖15還描繪SDK視覺界面106可以設計成具有額外或替代的區(qū)域選擇特征。一個 此區(qū)域選擇特征可以經(jīng)設計使得開發(fā)人員不是通過使用標簽256手動地標明在區(qū)域顯示地圖204上描繪的區(qū)域來創(chuàng)建地理圍欄,而是可以任選地通過簡單地輸入?yún)^(qū)域選擇準則而相對于區(qū)域創(chuàng)建地理圍欄。就像關于圖6-13描述的區(qū)域顯示準則選項,可以相對于區(qū)域特征詞、區(qū)域特性信息或這兩種此些類型的信息限定區(qū)域選擇準則。當輸入?yún)^(qū)域選擇準則時,SDK評估數(shù)據(jù)庫120中的信息并且檢索對應于滿足所述準則的區(qū)域的劃定信息122。SDK 101相對于每個此檢索到的劃定信息集合創(chuàng)建單獨的地理圍欄。

參照圖15中的窗口692和693可以理解,可以用類似于顯示控制特征682和683的方式實施用于處理選擇準則輸入的機制。開發(fā)人員可以使用窗口692輸入相對于區(qū)域特性信息限定的區(qū)域選擇準則。另外或替代地,開發(fā)人員可以使用窗口693輸入相對于任何數(shù)目的區(qū)域特征詞限定的區(qū)域選擇準則。在任一窗口或這兩個窗口內(nèi),開發(fā)人員可以通過使用邏輯運算數(shù)創(chuàng)建復雜的搜索準則。

圖15描繪SDK界面106特征,其允許開發(fā)人員從數(shù)據(jù)庫120檢索和審閱區(qū)域識別符、區(qū)域劃定信息、區(qū)域特性信息和區(qū)域特征詞信息。這個信息檢索特征可以使得開發(fā)人員能夠例如通過將鼠標光標放在區(qū)域顯示地圖204上描繪的區(qū)域上而在逐個區(qū)域的基礎上檢索此信息。如圖15中所暗示,開發(fā)人員已經(jīng)將鼠標光標放置在區(qū)域208上。如前面的圖中所描繪的區(qū)域208是相對于完美比賽棒球場限定的。但是,區(qū)域208并未在區(qū)域顯示地圖204上具體劃定,因為區(qū)域208對應于不滿足窗口684中的有效區(qū)域顯示準則的區(qū)域特征信息集合。但是,響應于開發(fā)人員的鼠標輸入,SDK 101從數(shù)據(jù)庫120中檢索相對于區(qū)域208存儲的區(qū)域信息609。SDK界面106在區(qū)域顯示地圖204上顯示這個檢索到的信息。

如有效區(qū)域選擇準則窗口694中所描繪,開發(fā)人員僅僅相對于區(qū)域208創(chuàng)建了地理圍欄,區(qū)域208是相對于完美比賽棒球場劃定的。為了創(chuàng)建這個地理圍欄,開發(fā)人員使用窗口693基于區(qū)域特征詞“棒球”、“完美比賽”和“場”輸入復雜的區(qū)域選擇準則695。作為響應,SDK 101使用區(qū)域選擇準則在數(shù)據(jù)庫120中查詢對應于劃定的每個區(qū)域的區(qū)域信息。因為在208處描繪的并且通過區(qū)域ID“完美比賽體育場”參考的區(qū)域對應于滿足區(qū)域選擇準則的區(qū)域特征詞集合,所以檢索在692處描繪的所述區(qū)域劃定信息集合。將檢索到的劃定信息并入到代碼206中,由此使得相對于圍繞完美比賽棒球場的區(qū)域208創(chuàng)建地理圍欄。區(qū)域劃定并入到代碼206中的動作通過箭頭658描繪。

例如在692和693處描繪的一個區(qū)域選擇特征的區(qū)域選擇特征使得開發(fā)人員能夠與區(qū)域顯示地圖204無關地選擇區(qū)域。也就是說,無需在顯示地圖204上描繪區(qū)域以便選擇。此外,如果在庫120中劃定大量區(qū)域,并且特定區(qū)域特征詞是庫中的許多劃定區(qū)域 共有的,所以開發(fā)人員可以實際上檢索許多區(qū)域的區(qū)域劃定信息并將其并入到代碼206中。另外,即使要選擇許多區(qū)域,區(qū)域選擇過程的完成時間差不多也就是開發(fā)人員在窗口692和/或693處指明區(qū)域選擇準則的時間。

額外特征(未描繪)可以使得開發(fā)人員能夠產(chǎn)生移動應用程序代碼,其包含參考幾個區(qū)域劃定信息以及對應的區(qū)域位置確定信息集合的幾個地理圍欄模塊。另外,SDK界面106可以設計成使得開發(fā)人員能夠編寫代碼,以便使移動裝置162配合位置確定信息使用區(qū)域劃定信息,以便在劃定區(qū)域中以基于位置確定能力(例如基站三角測量、基于RTT或RSSI的方法、GPS等)的方式激活地理圍欄。通過使用這個特征,開發(fā)人員可以創(chuàng)建移動應用程序,使得移動應用程序執(zhí)行時,客戶端移動裝置162以與各種區(qū)域的位置確定能力有關的次序激活地理圍欄。例如,開發(fā)人員可以設計代碼以使移動裝置在執(zhí)行應用程序軟件時,首先相對于具有許多位置確定信息源的區(qū)域激活地理圍欄。此外,代碼可以設計成使移動裝置僅僅在裝置不靠近任何其它提供更多信息源的區(qū)域時才相對于具有較少信息源的區(qū)域激活地理圍欄。

現(xiàn)在將論述假設的應用程序開發(fā)場景。所述場景將解釋開發(fā)人員利用在SDK界面106的描述中解釋了特征的SDK界面。這個假設實例涉及移動應用程序開發(fā)人員使用SDK界面106創(chuàng)建移動應用程序以便幫助加利福尼亞州圣地亞哥市的咖啡店顧客。開發(fā)人員設計應用程序,使得當客戶端移動裝置位于圣地亞哥市時,執(zhí)行應用程序軟件將使移動裝置確定最靠近所述裝置的五家最近的咖啡店的位置和名稱。而且,執(zhí)行應用程序將使所述裝置檢測何時它被帶進咖啡店,并且每當發(fā)生此檢測時,使用萬維網(wǎng)搜索優(yōu)惠券和飲品建議。

出于此原因,開發(fā)人員使用SDK界面106匯編代碼,所述代碼將命令每個移動裝置處理器周期性地存取描繪裝置的大地位置的數(shù)據(jù)。開發(fā)人員另外希望代碼使每個客戶端移動裝置使用每個經(jīng)過更新的位置數(shù)據(jù)例子進行系列接近度計算。在每個裝置處,接近度計算將涉及比較每個位置與圣地亞哥市的咖啡店位置,以便既確定最近的咖啡店,又檢測何時位置在咖啡店內(nèi)。在這點上,開發(fā)人員可能希望設計應用程序代碼,使得每個客戶端移動裝置將激活一系列地理圍欄,其中的每一個將是相對于圣地亞哥市的咖啡店位置中的一個不同的咖啡店位置限定的。因而,開發(fā)人員可能希望將區(qū)域劃定信息并入到應用程序代碼中,使得代碼將包含每個圣地亞哥市的咖啡店位置的精確參考。

使用在本發(fā)明之前所屬領域中已知的種類的SDK界面,開發(fā)人員可以創(chuàng)建區(qū)域劃定信息并且通過使用常用視覺編程特征將所述信息并入到代碼中。這些常規(guī)編程特征使得開發(fā)人員能夠在視覺上掃描地圖,并且通過使用鼠標手動地在開發(fā)人員感興趣的位置 周圍劃線,借此執(zhí)行將劃定信息逐區(qū)域地并入到代碼中。當然,對于試圖為圣地亞哥市的許多咖啡店中的每一家咖啡店選擇區(qū)域劃定信息的開發(fā)人員而言,現(xiàn)有技術界面將是繁重的。開發(fā)人員將必須掃描圣地亞哥市的地圖以確定咖啡店位置并且劃線以在每個位置劃定一個區(qū)域。

相比于使用現(xiàn)有技術中已知的SDK界面,假設開發(fā)人員使用具有本文所述的能力的SDK界面106可以更容易選擇咖啡店區(qū)域劃定信息。參照圖16和17描述假設開發(fā)人員可以用來選擇咖啡店區(qū)域劃定信息的一個實例過程。圖16是SDK界面106的區(qū)域顯示地圖204的聚焦視圖。開發(fā)人員操控區(qū)域顯示地圖104以便聚焦于圣地亞哥市街道(圣地亞哥市街道的每個描繪是假設的,并不基于圣地亞哥市的實際街道或建筑物)。

圖16示出了在開發(fā)人員在窗口682中輸入?yún)^(qū)域顯示準則之后可如何出現(xiàn)區(qū)域顯示地圖204。實際上,圖16意在描繪當通過排他性地基于區(qū)域特征詞“咖啡店”(未圖示)的有效區(qū)域顯示準則受到控制時,區(qū)域顯示地圖204看起來是什么樣。SDK界面106使得開發(fā)人員能夠使用基于例如“咖啡店”的特征詞的簡單顯示準則,以識別和評估相對于根據(jù)開發(fā)人員的應用程序設計和意圖很可能非常重要的土地使用、商業(yè)和活動地區(qū)劃定的區(qū)域。

滿足區(qū)域顯示準則的每個區(qū)域通過疊加在區(qū)域顯示地圖204上的形狀描繪。以此方式,開發(fā)人員可以快速檢索和看到位于區(qū)域顯示地圖204范圍內(nèi)的所有劃定區(qū)域的位置,所述劃定區(qū)域對應于含有特征詞“咖啡店”的區(qū)域特征信息集合。參照區(qū)域顯示地圖204。開發(fā)人員還可以驗證這些區(qū)域確實實際上在地理上符合咖啡店的位置,并且點擊任何或所有疊加的區(qū)域描繪以將基礎區(qū)域劃定信息并入到代碼中。

圖17說明當開發(fā)人員使用SDK界面106的區(qū)域選擇窗口683指明比關于圖16提到的準則更復雜的區(qū)域顯示準則時的假設區(qū)域地圖顯示204的結果。通過使用更復雜的區(qū)域顯示準則,開發(fā)人員可以檢索相對于其它咖啡相關商戶限定的區(qū)域的額外區(qū)域劃定信息,所述其它咖啡相關商戶雖然不是咖啡店,但是可能是開發(fā)人員感興趣的。例如,可以響應于例如下面的顯示準則輸出圖17中的區(qū)域顯示地圖204上描繪的區(qū)域劃定:

(“咖啡”V“拿鐵”V“卡布奇諾”V“咖啡店”V“咖啡館”)

如圖17中所示,區(qū)域顯示地圖204現(xiàn)在顯示圖4A中未描繪的幾個額外疊加形狀。這些形狀展示相對于面包店、早餐店和速食店劃定的區(qū)域。

本揭示內(nèi)容在前面提到,除了在開發(fā)人員終端或服務器192處存儲區(qū)域數(shù)據(jù)庫120 之外,還可以在例如裝置162的客戶端移動裝置處存儲數(shù)據(jù)庫120的復本。在這種情況下,SDK界面106可以就像前面描述的一樣設計和操作。但是,SDK界面還可提供不同的開發(fā)人員選項。

例如,區(qū)域選擇輸入窗口可以操作以使得不使用區(qū)域選擇準則從數(shù)據(jù)庫120中檢索區(qū)域劃定數(shù)據(jù)。因而,不將區(qū)域劃定信息并入到代碼206中。相反,區(qū)域選擇窗口簡單地使得開發(fā)人員能夠指明并且在代碼206中并入?yún)^(qū)域選擇準則(基于區(qū)域特征詞、區(qū)域特性信息或這兩者)。

在這種情況下,當在移動裝置162處執(zhí)行軟件時,移動裝置處理器163可以使用區(qū)域選擇準則從數(shù)據(jù)庫120中檢索區(qū)域劃定,并且根據(jù)軟件內(nèi)的補充指令使用檢索到的劃定信息創(chuàng)建和激活地理圍欄。當使用在這種類型的布置下操作的SDK產(chǎn)生移動應用程序軟件時,與下載移動應用程序軟件相關聯(lián)的所發(fā)射數(shù)據(jù)量可以大幅減少,因為這些發(fā)射無需包含任何區(qū)域劃定數(shù)據(jù)。實際上,此布置可以除去對數(shù)據(jù)庫存儲在開發(fā)人員的計算機終端204或服務器192處的需要。但是,當SDK 106在不能直接存取數(shù)據(jù)庫120的開發(fā)人員終端處操作時,例如區(qū)域顯示地圖120的某些界面特征可能是不可行的。

另外,移動裝置162可以執(zhí)行代碼206,其命令基于移動裝置的位置變化來激活和解除激活地理圍欄。在這種情況下,代碼指明移動裝置162相對于其激活地理圍欄的區(qū)域劃定信息。指定區(qū)域劃定信息可以包含超出所述區(qū)域的閾值邊界。移動裝置162周期性地確定其位置,并且相對于所述位置對其在閾值邊界內(nèi)的每個劃定區(qū)域激活地理圍欄。當已相對于一個區(qū)域激活地理圍欄但是后續(xù)移動裝置162位置被確定為在閾值邊界外部時,移動裝置162將所述地理圍欄解除激活。

圖18是實例算法,其可以在SDK實施軟件102內(nèi)編碼,并且通過在其中使用SDK的開發(fā)人員計算機終端204處的處理器執(zhí)行。如所描繪的圖18可由SDK用來檢索相對于任何數(shù)目的區(qū)域的多個區(qū)域劃定信息集合122,并且相對于每一檢索到的劃定信息集合創(chuàng)建地理圍欄。例如,當開發(fā)人員基于區(qū)域特征詞的組合來輸入?yún)^(qū)域選擇準則時可以采用所述算法。

如所描繪的,在1802處,在開發(fā)人員界面處顯示區(qū)域選擇特征。區(qū)域選擇特征可以是輸入窗口,例如在693處描繪的窗口。在1804,SDK 101接收Q個指定區(qū)域特征詞的集合,以作為開發(fā)人員的區(qū)域選擇準則的一部分。在1806,SDK 101存取集合(X)。集合X由存儲于數(shù)據(jù)庫120中的區(qū)域劃定數(shù)據(jù)的ZONEMAX集合組成。ZONEMAX是用于表示數(shù)據(jù)庫120中劃定的區(qū)域數(shù)目的變量。

在1808,SDK存取集合Y。集合Y由各種特征詞集合124組成,所述特征詞集合 124對應于數(shù)據(jù)庫120中劃定的ZONEMAX區(qū)域中的一個。接下來,在1810,SDK初始化空列表B。初始化列表B的目的是存儲稍后確定為滿足關于1802提到的區(qū)域選擇準則的任何區(qū)域。另外,在1812,將計數(shù)變量(COUNT)初始化為1。

在1812,初始化空的集合M。隨后,在1814,將集合M設置成等于集合Q與UREWORDSETCOUNT的交集。在1816,將M與Q比較。如果M等于Q,則在1818將ZONECOUNT附加到列表B。在1822,如果COUNT=ZONEMAX,則將列表B中的每個ZONEJ并入到移動應用程序軟件中,所述移動應用程序軟件稍后發(fā)射到移動裝置(一般經(jīng)由服務器)并且使得地理圍欄在移動裝置處激活。替代地,如果在1822處COUNT不等于ZONEMAX,則在1826處將COUNT遞增,執(zhí)行步驟1816-1822的重復,直到COUNT=ZONEMAX為止。當COUNT=ZONEMAX時,執(zhí)行步驟1824,如先前所描述。

圖19描繪根據(jù)本發(fā)明的實例操作。在1902處,顯示地圖。地圖包括用戶可選擇的一或多個地理實體。在1904處,響應于用戶選擇一或多個地理實體中的至少一個地理實體,創(chuàng)建對應于所選的至少一個地理實體的至少一個地理圍欄。

圖20描繪根據(jù)本發(fā)明的實例操作。在2002處,SDK 101、移動裝置162或其它計算設備接收用戶提供的第一輸入,所述第一輸入包含一或多個關鍵詞。在2004處,響應于確定第一地理實體具有與一或多個關鍵詞匹配的屬性,SDK、移動裝置或其它設備視具體情況創(chuàng)建對應于第一地理實體的地理圍欄。

圖21描繪根據(jù)本發(fā)明的實例操作。在2102處,SDK 101、移動裝置162或其它處理設備視具體情況接收指明一個詞的第一準則。在2104處,SDK 101、移動裝置162或其它設備視具體情況相對于具有與所述詞匹配的特征的地理實體創(chuàng)建第一地理圍欄。

使用機器學習技術匯編大型數(shù)據(jù)庫

可以使用計算機算法匯編數(shù)據(jù)庫120,所述計算機算法設計成處理來自地圖、地圖冊、期刊、政府或商業(yè)數(shù)據(jù)庫、普查報告、土地勘測或任何其它數(shù)字化信息源的大量數(shù)據(jù)。所述算法可以設計成確定應當對于其劃定區(qū)域的土地地區(qū),并且通過產(chǎn)生有待存儲于數(shù)據(jù)庫120中的區(qū)域描繪信息來劃定這些區(qū)域。所述算法還可以設計成使得能夠學習每個劃定區(qū)域的特征、屬性、特性等,并且在相對于這些區(qū)域創(chuàng)建的區(qū)域特性信息或區(qū)域特征信息集合中存儲這個信息。

此算法可以設計成基于地圖信息和地圖上顯示的特征來確定用于區(qū)域劃定的土地地區(qū)。作為此過程的一個具體實例,算法可以包含用于確定公園、自然保護區(qū)和其它室外景點的位置和尺寸并且相對于每個此地區(qū)描繪一個區(qū)域的具體步驟。這些步驟可以包含搜索用綠色描繪并且標記有特定名稱的地區(qū)的計算機化地圖掃描,所述名稱包含例如 “公園”、“森林”、“預留地”、“花園”、“自然保護區(qū)”等的一或多個詞。當在地圖上檢測到此描繪時,確定相關停車地區(qū)位于所描繪的地區(qū)?;谝恍┫嚓P性準則,例如比如所描繪的區(qū)域的大小,可以確定應當相對于滿足相關性準則的所描繪停車區(qū)劃定一個區(qū)域。下一個算法步驟可以接著涉及對地圖進行計算機化分析以確定每個這樣的相關區(qū)域的外邊緣的位置。

此時,所述分析可以尤其涉及計算機化掃描顏色變化(例如綠色到白色的顏色轉變)以檢測每個相關地區(qū)的所描繪的邊緣。當檢測到一個地區(qū)的所描繪邊緣時,下一個步驟可以涉及計算地理上符合檢測到的邊緣的一系列許多小間距的大地點。這些大地點(可以使用橫坐標和縱坐標描繪)接著可用作相對于在地圖上找到的相關區(qū)域描繪限定的區(qū)域的區(qū)域劃定數(shù)據(jù)。

可以智能地使用類似的一系列步驟檢測和確定任何相關地區(qū)的位置和邊界,不管地區(qū)的特性、使用或辨識如何。具體值得提到的是,許多數(shù)字化地圖源提供大量具體和高粒度的地圖數(shù)據(jù)和描繪。例如,如今,例如谷歌地圖和谷歌地球之類的基于網(wǎng)絡的制圖服務提供非常具體的地圖,其精確地描繪政治邊界、土地使用、土地所有權劃分和城市規(guī)劃分配。例如,谷歌地球準確地描繪公司辦公室、公園、醫(yī)院、購物商場、停車場和其它這樣的建筑所占據(jù)的地區(qū)。作為一個實例,谷歌地圖經(jīng)常顯示購物商場占據(jù)的精確土地地區(qū),并且進一步劃定如何在占據(jù)商場空間的商業(yè)建筑之間劃分購物廣場的占地面積。

因而,例如谷歌地圖的制圖服務提供大量數(shù)據(jù),可以使用一些算法來挖掘所述數(shù)據(jù),所述算法用于識別應用程序開發(fā)人員可能希望圍繞其實施地理圍欄的土地地區(qū)并且用于獲得關于這些地區(qū)的信息。

一旦相對于確定為相關的地區(qū)劃定了區(qū)域,下一個算法步驟就可以涉及執(zhí)行計算以確定所述區(qū)域的基本大小、形狀和尺寸屬性。例如,可以使用許多種通常已知的用于計算通過大地點集合劃界的面積的數(shù)學技術來計算區(qū)域的大小。通過執(zhí)行特定的軟件模塊可以獲得一個區(qū)域的平均海拔高度、最高海拔高度或最低海拔高度,所述軟件模塊設計成使用區(qū)域劃定數(shù)據(jù)從任何數(shù)字化地形圖或地形表中提取海拔高度信息,在所述數(shù)字化地形圖或地形表中根據(jù)測地坐標索引海拔高度。通過執(zhí)行設計成從數(shù)字化天氣圖、天氣表或天氣圖冊獲得信息的模塊,可以類似地獲得一個區(qū)域的平均降雨量、溫度、風力或其它天氣特性。

隨后,可以通過參考郵政編碼、街道地址或所述區(qū)域的相關政治信息確定其它區(qū)域特性或特征或屬性。還可通過計算機化掃描通過用于提供在線繪圖服務的HTML代碼指 示的地圖和地圖數(shù)據(jù)獲得這樣的信息。在這點上,重要的是應認識到幾個基于網(wǎng)絡的繪圖服務不僅劃定各個商戶位置,還有商業(yè)機構名稱、地址和電話號碼(當這些數(shù)據(jù)可以獲得的時候)。這個信息經(jīng)常還伴隨著客戶的評論,其含有關于所述機構的信息。通過可以由萬維網(wǎng)存取的HTML代碼傳送這個大量信息。因而,當對于區(qū)域劃定識別出興趣區(qū)時,可以通過分析充分量的這個額外信息來確定區(qū)域特征詞。

在描述中給出特定細節(jié)以提供對實施例的透徹理解。然而,可以在沒有這些特定細節(jié)的情況下實踐實施例。舉例來說,在沒有不必要的細節(jié)的情況下展示眾所周知的電路、過程、算法、結構和技術以便避免混淆所述實施例。此描述僅提供實例實施例,且并不希望限制本發(fā)明的范圍、適用性或配置。相反,對實施例的前述描述將為所屬領域的技術人員提供用于實施本發(fā)明的實施例的啟迪性描述??梢栽诓幻撾x本發(fā)明的精神和范圍的情況下對元件的功能和布置做出各種改變。

而且,將一些實施例描述為被描繪為流程圖或框圖的過程。盡管每一流程圖或框圖可以將操作描述為順序過程,但許多操作可并行地或同時地來執(zhí)行。另外,可以重新布置操作的次序。過程可具有圖式中未包含的額外步驟。此外,可由硬件、軟件、固件、中間件、微碼、硬件描述語言或其任何組合來實施方法的實施例。當以軟件、固件、中間件或微碼實施時,用以執(zhí)行相關聯(lián)任務的程序代碼或代碼段可存儲在諸如存儲媒體等計算機可讀媒體中。處理器可執(zhí)行相關聯(lián)的任務。

雖已描述了若干實施例,但可在不脫離本發(fā)明的精神的情況下使用各種修改、替代構造和等效物。例如,以上元件可僅為較大系統(tǒng)的組件,其中其它規(guī)則可優(yōu)先于本發(fā)明的應用或以其它方式修改本發(fā)明的應用。而且,可在考慮上述要素之前、期間或之后進行數(shù)個步驟。因此,以上描述并不限制本發(fā)明的范圍。

當前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1