一種基於用戶定位請求的poi數據更新方法和裝置製造方法
2023-07-06 16:21:11 1
一種基於用戶定位請求的poi數據更新方法和裝置製造方法
【專利摘要】本發明提供了一種基於用戶定位請求的POI數據更新方法和裝置,其中,方法包括:S1、預先建立POI資料庫以及SSID資料庫;S2、獲取更新周期內所收集的用戶定位請求中含有的AP的SSID信息和MAC地址,根據預先建立的SSID資料庫檢索與所獲取的SSID信息對應的POI;S3、根據用戶定位請求中的AP的MAC地址以及定位得到的用戶坐標,對AP的地理位置進行推算,並根據推算結果更新該AP對應的POI數據。本發明能夠自動對POI資料庫進行更新,顯著提高了POI數據更新的實效性,同時,與人工外業採集數據的方式相比,大大降低了POI數據的更新成本。
【專利說明】一種基於用戶定位請求的POI數據更新方法和裝置
【【技術領域】】
[0001]本發明涉及無線定位技術,尤其涉及一種基於用戶定位請求的POI數據更新方法和裝置。
【【背景技術】】
[0002]如今,基於地圖定位的各類應用被廣泛的應用到日常生活中,而POI (Point ofInterest)興趣點(也可譯作信息點)更是地圖類應用中的必備資訊。現有的POI數據採集方式通常是由第三方地圖數據提供商通過採集人員攜帶相關定位設備直接到外業進行採集,之後將採集的數據經過處理後提供給需要的公司。然而用戶對於地圖類應用中的數據實效性和準確性要求非常高,通過人工外業進行採集的方式往往需要數月才能更新地圖中的POI數據,顯然無法滿足用戶需求,況且,通過人工到外業進行大規模的數據採集成本非常聞昂。
【
【發明內容】
】
[0003]有鑑於此,本發明提供了一種基於用戶定位請求的POI數據更新方法和裝置,能夠自動對POI數據進行更新,提高POI數據更新的實效性,同時能降低成本。
[0004]具體技術方案如下:
[0005]一種基於用戶定位請求的興趣點POI數據更新方法,預先建立POI資料庫以及服務集標識SSID資料庫,所述SSID資料庫包含預先收集的SSID以及SSID對應的POI,該方法包括:
[0006]S1、獲取更新周期內·收集的用戶定位請求中含有的無線訪問接入點AP的SSID信息和MAC地址,在所述SSID資料庫中檢索與所獲取的SSID信息對應的POI ;
[0007]S2、根據所獲取的MAC地址以及定位得到的用戶坐標,推算所述與所獲取的SSID信息對應的POI的位置,並根據推算結果更新所述POI資料庫中該POI的數據。
[0008]根據本發明一優選實施例,所述SSID資料庫採用如下方式建立:
[0009]根據所述預先收集的SSID檢索所述POI資料庫,若所述POI資料庫中某一 POI的數據中有與某一 SSID匹配的內容,則將所述某一 SSID與所述某一 POI形成對應關係後存入所述SSID資料庫。
[0010]根據本發明一優選實施例,所述步驟S2中,根據所獲取的MAC地址以及定位得到的用戶坐標,推算所述與所獲取的SSID信息對應的POI的位置,具體包括:
[0011]從所述更新周期內收集的用戶定位請求中提取出包含所述所獲取的SSID信息以及所述所獲取的MAC地址的用戶定位請求;
[0012]根據所提取的用戶定位請求進行定位得到的用戶坐標,推算POI的位置;
[0013]根據本發明一優選實施例,所述步驟S2中,根據推算結果更新所述POI資料庫中該POI的數據,具體包括:
[0014]查詢所述POI資料庫,若POI資料庫中沒有所推算得到的該POI的位置,則將該位置信息添加到POI資料庫中。
[0015]根據本發明一優選實施例,所述推算POI的位置,具體使用:最小外接圓算法,將多個用戶坐標的最小外接圓的圓心作為POI的位置坐標;
[0016]或者,算術平均值法,將多個用戶坐標的算術平均值作為POI的位置坐標;
[0017]或者,幾何平均值法,將多個用戶坐標的集合平均值作為POI的位置坐標。
[0018]根據本發明一優選實施例,所述查詢所述POI資料庫,若POI資料庫中沒有所推算得到的該POI的位置,則將該位置信息添加到POI資料庫中,具體包括:
[0019]查詢所述POI資料庫,確定該POI已有的位置,判斷推算得到的該POI的位置是否在以所述已有的位置為圓心、預設半徑值的圓內,如果否,則將這一位置信息添加到POI資料庫的該POI的數據中。
[0020]一種基於用戶定位請求的興趣點POI數據更新裝置,該裝置基於預先建立的POI資料庫以及服務集標識SSID資料庫,所述SSID資料庫包含預先收集的SSID以及SSID對應的POI,該裝置包括:
[0021]檢索單元、用於從更新周期內收集的用戶定位請求中獲取無線訪問接入點AP的SSID信息和MAC地址,在所述SSID資料庫中檢索與所獲取的SSID信息對應的POI ;
[0022]更新單元、用於根據所述檢索單元所獲取的MAC地址以及定位得到的用戶坐標,推算所述與所獲取的SSID信息對應的POI的位置,並根據推算結果更新所述POI資料庫中該POI的數據。
[0023]根據本發明一優選實施例,該裝置還包括:資料庫建立單元,用於採用如下方式建立所述SSID資料庫:
[0024]根據所述預先收集的SSID檢索所述POI資料庫,若所述POI資料庫中某一 POI的數據中有與某一 SSID匹配的內容,將所述某一 SSID與所述某一 POI形成對應關係後存入所述SSID資料庫。
[0025]根據本發明一優選實施例,所述更新單元根據所獲取的MAC地址以及定位得到的用戶坐標,推算所述與所獲取的SSID信息對應的POI的位置時,具體執行:
[0026]從所述更新周期內收集的用戶定位請求中提取出包含所述所獲取的SSID信息以及所述所獲取的MAC地址的用戶定位請求;
[0027]根據所提取的用戶定位請求進行定位得到的用戶坐標,推算POI的位置;
[0028]根據本發明一優選實施例,所述更新單元根據推算結果更新所述POI資料庫中該POI的數據時,具體執行:
[0029]查詢所述POI資料庫,若POI資料庫中沒有所推算得到的該POI的位置,則將該位置信息添加到POI資料庫中。
[0030]根據本發明一優選實施例,所述檢索單元推算POI的位置時,具體使用:最小外接圓算法,將多個用戶坐標的最小外接圓的圓心作為POI的位置坐標;
[0031]或者,算術平均值法,將多個用戶坐標的算術平均值作為POI的位置坐標;
[0032]或者,幾何平均值法,將多個用戶坐標的集合平均值作為POI的位置坐標。
[0033]根據本發明一優選實施例,所述更新單元查詢所述POI資料庫,若POI資料庫中沒有所推算得到的該POI的位置,則將該位置信息添加到POI資料庫中時,具體執行:
[0034]查詢所述POI資料庫,確定該POI已有的位置,判斷推算得到的該POI的位置是否在以所述已有的位置為圓心、預設半徑值的圓內,如果否,則將這一位置信息添加到POI資料庫的該POI的數據中。
[0035]由以上技術方案可以看出,本發明通過預先建立POI資料庫和SSID資料庫,利用用戶定位請求中的AP的SSID信息和MAC地址,確定SSID對應的POI並推算出該POI的位置,根據推算結果更新POI資料庫。本發明能夠定期自動對POI資料庫進行更新,提高了 POI數據更新的實效性,同時,不需要進行人工外業的數據採集,大大降低了 POI數據的更新成本。
【【專利附圖】
【附圖說明】】[0036]圖1為本發明實施例一提供的基於用戶定位請求的POI數據更新方法流程圖;
[0037]圖2為本發明實施例一提供的根據用戶坐標以及MAC地址更新POI數據的方法流程圖;
[0038]圖3為本發明實施例二提供的基於用戶定位請求的POI數據更新裝置示意圖。【【具體實施方式】】
[0039]為了使本發明的目的、技術方案和優點更加清楚,下面結合附圖和具體實施例對本發明進行詳細描述。
[0040]通常,用戶通過無線終端使用地圖定位服務時,向伺服器發送的定位請求中會附帶有周圍AP (Access Point,無線訪問接入點)的SSID信息(Service Set Identifier,月艮務集標識)和MAC地址,同時,大多數的POI都有自己的AP。本發明正是利用獲取用戶定位請求中包含的AP的SSID信息和MAC地址,確定與SSID對應的POI後,來自動對POI數據進行更新。
[0041]實施例一
[0042]圖1為本發明實施例一提供的基於用戶定位請求的POI數據更新方法流程圖,如圖1所示,該方法可以包括:
[0043]S101、預先建立POI資料庫以及SSID資料庫。
[0044]為了能夠對POI數據進行更新,需要預先建立POI資料庫以及預先建立SSID資料庫。POI資料庫中保存有POI的名稱以及地理位置,該些信息可以通過第三方地圖數據提供商提供。此外,POI資料庫中還可以進一步保存POI的聯繫方式等相關信息,以便後續步驟中能夠根據SSID檢索該些相關信息以獲取匹配的Ρ0Ι,該些相關信息可以但不限於通過下述方式獲得:依據第三方地圖數據提供商提供的POI名稱訪問該POI相應的網站,並從網頁抓取該POI的相關信息,相關信息可以是:街道地址、聯繫方式、郵箱、網頁地址等。
[0045]在完成POI資料庫的建立後,可以根據該POI資料庫以及預先收集的一段時間內系統收到的用戶定位請求來建立SSID資料庫,SSID資料庫中保存SSID和POI的對應關係,具體建立方式可以通過下述方法實現:
[0046]首先,對預先收集的用戶定位請求中包含的SSID信息進行統計,根據不同SSID出現的頻次對SSID進行排序,將出現頻次超過預先設定閾值的SSID作為重點SSID,即認為該些SSID有可能是某POI的AP的SSID,之後,在所建立的POI資料庫中檢索是否有與該些重點SSID對應的POI,若能檢索到與之匹配的POI,則認為該重點SSID為POI的AP的SSID。具體的檢索方法可以為:查詢POI資料庫中的POI名稱以及POI相關信息中是否有與SSID匹配的內容。通常,POI公司或機構在對其AP的SSID命名時,都會選用能夠明顯表徵其身份的名稱,例如,麥當勞AP的SSID為「McDonald,S」、星巴克AP的SSID為「Starbucks」、永和大王AP的SSID為「yonghe」,而POI的名稱或從其網頁能夠抓取的街道地址、聯繫方式等相關信息中往往也含有同樣的標識詞組,因此,在所建立的POI資料庫的POI名稱以及該POI的相關信息中檢索是否有與SSID匹配的內容,就能確定與SSID對應的Ρ0Ι。最後,從重點SSID中提取出這類能夠在POI資料庫中匹配到與之對應POI的SSID,將該些SSID及其對應的POI存入SSID資料庫中。為了提高匹配的精確度,可以在匹配前對SSID進行分詞和語義分析的操作。此外,為了保證SSID與POI對應關係的準確率,可以通過人工對採用上述方式自動建立的SSID資料庫進行核查和修改等。
[0047]上述為POI資料庫以及SSID資料庫的建立方式。在完成POI資料庫以及SSID資料庫的建立後,可以基於此,收集某一周期內的用戶定位請求來自動更新POI數據。例如,可以收集每天內或每周內系統收到的用戶定位請求,之後每天或每周進行一次POI數據的更新,這樣的周期可以稱為更新周期。
[0048]S102、獲取更新周期內所收集的用戶定位請求中含有的AP的SSID信息和MAC地址,根據預先建立的SSID資料庫檢索與所獲取的SSID信息對應的POI。
[0049]獲取更新周期內所收集的用戶定位請求中含有的AP的SSID信息和MAC地址,並根據所獲取的SSID信息檢索所建立的SSID資料庫以獲取與該SSID對應的POI。這一過程具體可以用如下方法實現:
[0050]獲取用戶定位請求中含有的SSID信息,查詢SSID資料庫中是否有該SSID信息,若有,則認為該SSID是POI的AP的SSID,同時獲取與該SSID對應的POI ;否則,忽略用戶定位請求中的該SSID信息。例如,某一用戶定位請求中含有的MAC地址和SSID信息為「000f618e9031,D-Link」,檢索SSID資料庫後發現沒有該SSID信息,於是認為該SSID信息不屬於POI的AP的SSID,忽略該信息;某一用戶定位請求中含有的MAC地址和SSID信息為「000f618e9034,Starbucks」,檢索SSID資料庫後發現SSID資料庫中存有「Starbucks」這一 SSID信息,同時,還保存了「Starbucks」對應的POI為星巴克,於是,確定該SSID是星巴克的AP的SSID,即該用戶定位請求是從某一家星巴克周圍發出的。可以理解的是,上述舉例僅出於示例的目的,本發明實施例不限於此。
[0051]通過本步驟,可以確定在更新周期內所收集的用戶定位請求中哪些請求是從POI附近發出的,以及這些請求是從什麼POI附近發出的,之後,可以根據這一信息進一步推算POI的位置。
[0052]S103、根據所獲取的用戶定位請求中的AP的MAC地址以及定位得到的用戶坐標,對AP的地理位置進行推算,並根據推算結果更新該AP對應的POI數據。
[0053]在確定用戶定位請求中的SSID對應的POI後,可以進一步根據用戶定位請求中含有的MAC地址推算出該POI的位置,從而更新該POI的數據。如圖2所示,這一過程具體可以用下述步驟S201-S203實現:
[0054]S201、提取出更新周期內所收集的含有相同SSID且能夠匹配到對應POI的用戶定位請求,分析該些SSID對應的MAC地址,將其中含有相同MAC地址的用戶定位請求作為是在同一 POI周圍發出的用戶定位請求。[0055]在步驟S102中,可以確定在更新周期內所收集的用戶定位請求中哪些請求是從POI周圍發出的,基於該信息,進一步分析該些從POI周圍發出的含有相同SSID的用戶定位請求中的MAC地址,並將其中含有相同MAC地址的用戶定位請求作為是在同一 POI周圍發出的。例如,提取出三個含有相同SSID的有三個用戶定位請求,所包含的MAC地址和SSID信息分別為 「000F618E9030,McDonald』 s,,、「000F618E9030,McDonald』 s,,、「00EA012390EF,McDonald’s」,該三個用戶定位請求中的SSID信息均為「McDonald’s」,檢索SSID資料庫後可以確定「McDonald’s」為與麥當勞對應SSID,即認為該三個用戶定位請求均是在麥當勞周圍發出的,其中,前兩個用戶定位請求中的MAC地址相同,將該兩個定位請求劃為一組,即認為該兩個定位請求是在同一家麥當勞周圍發出的。通過上述方法,能夠確定出哪些用戶定位請求是在同一個POI周圍所發出的。
[0056]S202、根據在同一 POI周圍發出的用戶定位請求以及定位得到的該些用戶的坐標,推算該POI的位置坐標。
[0057]根據該些在同一 POI周圍發出的用戶定位請求以及定位得到的該些用戶的坐標推算出POI的位置。具體推算過程可以但不限於使用下述算法:
[0058]最小外接圓算法:將多個用戶坐標的最小外接圓的圓心作為POI的位置坐標;
[0059]算術平均值法:將多個用戶坐標的算術平均值作為POI的位置坐標;
[0060]幾何平均值法:將多個用戶坐標的集合平均值作為POI的位置坐標。
[0061]S203、查詢POI資料庫,根據推算得到的POI位置更新POI資料庫中該POI的數據。
[0062]查詢POI資料庫中該POI的數據信息,若其已保存的位置坐標中沒有所推算得到的該POI的位置坐標,則認為所推算得到的該POI的位置坐標是一個新的位置信息,將該位置坐標添加到POI資料庫中。為了避免推算POI位置坐標時算法自身的偏差所導致的將推算得到的POI位置坐標誤認為是新的位置信息,可以用進一步的判定方法,具體為:當所推算得到的POI位置坐標不位於已保存的該POI的位置坐標的附近時,認為所推算得到的POI位置為新的坐標信息。例如,可以以已保存的該POI的位置坐標為圓心,按預先設定的半徑值作圓,若所推算得到的POI位置坐標不位於該些圓內,則認為所推算得到的POI位置坐標為該POI新的位置信息,並將這一位置坐標添加到該POI的數據中。
[0063]更進一步地,根據上述方法,還可以判斷出哪些用戶定位請求是從POI資料庫中已有的POI位置周圍發出的,可以根據這一信息,記錄在每次更新周期內從POI資料庫中已有的POI位置周圍所發出的用戶定位請求的數量,若在N個更新周期內均未收到從某一已有位置周圍所發出的用戶定位請求,則認為該位置信息失效,從POI資料庫中刪除該位置信息,其中N為預先設定的正整數。
[0064]下面結合一個示例對上述本發明的提供的方法進行進一步描述。例如,在某地新建了一個麥當勞,POI資料庫中尚未存有該麥當勞新店的數據,在一個更新周期內,系統收到若干從該麥當勞周圍發出的用戶定位請求,該些請求中含有該麥當勞的AP的SSID,「McDonald’s」以及該AP的MAC地址,進行更新時,首先根據該些用戶定位請求中的SSID檢索SSID資料庫,獲取對應的Ρ0Ι,即可根據SSID資料庫獲知該SSID對應的POI為麥當勞,由於所含有的MAC地址相同,所以,判定該些用戶定位請求是從同一個麥當勞周圍發出的,根據定位得到的該些用戶的坐標推算出該麥當勞的位置,之後,查詢POI資料庫,發現這一位置信息沒有存在於麥當勞的已有位置信息中,於是將這一位置信息添加到麥當勞對應的位置信息中。
[0065]通過上述本發明實施例一提供的方法,可以定期自動對POI數據進行更新,與現有技術相比,本發明顯著提高了 POI數據更新的實效性,且大大降低了數據採集的成本。尤其對於大型連鎖機構,如麥當勞、肯德基等,本發明能及時發現並獲取該類機構新建店址的相關位置信息。
[0066]實施例二
[0067]圖3為本發明實施例二提供的基於用戶定位請求的POI數據更新裝置示意圖,如圖3所示,該裝置可以包括:檢索單元10、更新單元20,還可以包括:資料庫建立單元30。
[0068]為了能夠對POI數據進行更新,需要預先建立POI資料庫以及預先建立SSID資料庫。POI資料庫中保存有POI的名稱以及地理位置,該些信息可以通過第三方地圖數據提供商提供。此外,POI資料庫中還可以進一步保存POI的聯繫方式等相關信息,以便後續步驟中能夠根據SSID檢索該些相關信息以獲取匹配的Ρ0Ι,該些相關信息可以但不限於通過下述方式獲得:依據第三方地圖數據提供商提供的POI名稱訪問該POI相應的網站,並從網頁抓取該POI的相關信息,相關信息可以是:街道地址、聯繫方式、郵箱、網頁地址等。
[0069]在完成POI資料庫的建立後,可以根據該POI資料庫以及預先收集的一段時間內系統收到的用戶定位請求來建立SSID資料庫,SSID資料庫中保存SSID和POI的對應關係,SSID資料庫可以通過資料庫建立單元30來建立,具體建立方式可以通過執行下述操作實現:
[0070]首先,對預先收集的用戶定位請求中包含的SSID信息進行統計,根據不同SSID出現的頻次對SSID進行排序,將出現頻次超過預先設定閾值的SSID作為重點SSID,即認為該些SSID有可能是某POI的AP的SSID,之後,在所建立的POI資料庫中檢索是否有與該些重點SSID對應的POI,若能檢索到與之匹配的POI,則認為該重點SSID為POI的AP的SSID。具體的檢索方法可以為:查詢POI資料庫中的POI名稱以及POI相關信息中是否有與SSID匹配的內容。通常,POI公司或機構在對其AP的SSID命名時,都會選用能夠明顯表徵其身份的名稱,例如,麥當勞AP的SSID為「McDonald,S」、星巴克AP的SSID為「Starbucks」、永和大王AP的SSID為「yonghe」,而POI的名稱或從其網頁能夠抓取的街道地址、聯繫方式等相關信息中往往也含有同樣的標識詞組,因此,在所建立的POI資料庫的POI名稱以及該POI的相關信息中檢索是否有與SSID匹配的內容,就能確定與SSID對應的Ρ0Ι。最後,從重點SSID中提取出這類能夠在POI資料庫中匹配到與之對應POI的SSID,將該些SSID及其對應的POI存入SSID資料庫中。為了提高匹配的精確度,可以在匹配前對SSID進行分詞和語義分析的操作。此外,為了保證SSID與POI對應關係的準確率,可以通過人工對採用上述方式自動建立的SSID資料庫進行核查和修改等。
[0071]上述為POI資料庫以及SSID資料庫的建立方式。在完成POI資料庫以及SSID資料庫的建立後,可以基於此,收集某一周期內的用戶定位請求來自動更新POI數據。例如,可以收集每天內或每周內系統收到的用戶定位請求,之後每天或每周進行一次POI數據的更新,這樣的周期可以稱為更新周期。
[0072]檢索單元10,用於從更新周期內所收集的用戶定位請求中獲取無線訪問接入點AP的SSID信息和MAC地址,在所述SSID資料庫中檢索與所獲取的SSID信息對應的POI。
[0073]獲取更新周期內所收集的用戶定位請求中含有的AP的SSID信息和MAC地址,並根據所獲取的SSID信息檢索所建立的SSID資料庫以獲取與該SSID對應的POI。這一過程具體可以執行如下操作實現:
[0074]獲取用戶定位請求中含有的SSID信息,查詢SSID資料庫中是否有該SSID信息,若有,則認為該SSID是POI的AP的SSID,同時獲取與該SSID對應的POI ;否則,忽略用戶定位請求中的該SSID信息。例如,某一用戶定位請求中含有的MAC地址和SSID信息為「000f618e9031,D-Link」,檢索SSID資料庫後發現沒有該SSID信息,於是認為該SSID信息不屬於POI的AP的SSID,忽略該信息;某一用戶定位請求中含有的MAC地址和SSID信息為「000f618e9034,Starbucks」,檢索SSID資料庫後發現SSID資料庫中存有「Starbucks」這一 SSID信息,同時,還保存了「Starbucks」對應的POI為星巴克,於是,確定該SSID是星巴克的AP的SSID,即該用戶定位請求是從某一家星巴克周圍發出的。可以理解的是,上述舉例僅出於示例的目的,本發明實施例不限於此。
[0075]通過檢索單元10執行本操作,可以確定在更新周期內所收集的用戶定位請求中哪些請求是從POI附近發出的,以及這些請求是從什麼POI附近發出的,之後,可以根據這一信息進一步推算POI的位置。
[0076]更新單元20,用於根據所述檢索單元所獲取的MAC地址以及定位得到的用戶坐標,推算所述與所獲取的SSID信息對應的POI的位置,並根據推算結果更新所述POI資料庫中該POI的數據。
[0077]在檢索單元10確定了用戶定位請求中的SSID對應的POI後,更新單元20可以進一步根據用戶定位請求中含有的MAC地址推算出該POI的位置,從而更新該POI的數據。這一過程具體可以執行下述操作S301-S303實現:
[0078]S301、提取出在更新周期內所收集的含有相同SSID且能夠匹配到對應POI的用戶定位請求,分析該些SSID對應的MAC地址,將其中含有相同MAC地址的用戶定位請求作為是在同一 POI周圍發出的用戶定位請求。
[0079]檢索單元10可以確定在更新周期內所收集的用戶定位請求中哪些請求是從POI附近發出的,基於該信息,更新單元20進一步分析該些從POI周圍發出的含有相同SSID的用戶定位請求中的MAC地址,並將其中含有相同MAC地址的用戶定位請求作為是在同一 POI周圍發出的。例如,提取出三個含有相同SSID的用戶定位請求,所包含的MAC地址和SSID信息分別為 「000F618E9030,McDonald』 s,,、「000F618E9030,McDonald』 S」、「00EA012390EF,McDonald’s,,,該三個用戶定位請求中的SSID信息均為「McDonald’s,,,檢索SSID資料庫後可以確定「McDonald’s」為與麥當勞對應SSID,即認為該三個用戶定位請求均是在麥當勞周圍發出的,其中,前兩個用戶定位請求中的MAC地址相同,將該兩個定位請求劃為一組,即認為該兩個定位請求是在同一家麥當勞周圍發出的。通過上述方法,能夠確定出哪些用戶定位請求是在同一個POI周圍所發出的。
[0080]S302、根據在同一 POI周圍發出的用戶定位請求以及定位得到的該些用戶的坐標,推算該POI的位置坐標。
[0081]根據該些在同一 POI周圍發出的用戶定位請求以及定位得到的該些用戶的坐標推算出POI的位置。具體推算過程可以但不限於使用下述算法:
[0082]最小外接圓算法:將多個用戶坐標的最小外接圓的圓心作為POI的位置坐標;
[0083]算術平均值法:將多個用戶坐標的算術平均值作為POI的位置坐標;[0084]幾何平均值法:將多個用戶坐標的集合平均值作為POI的位置坐標。
[0085]S303、查詢POI資料庫,根據推算得到的POI位置更新POI資料庫中該POI的數據。
[0086]查詢POI資料庫中該POI的數據信息,若其已保存的位置坐標中沒有所推算得到的該POI的位置坐標,則認為所推算得到的該POI的位置坐標是一個新的位置信息,將該位置坐標添加到POI資料庫中。為了避免推算POI位置坐標時算法自身的偏差所導致的將推算得到的POI位置坐標誤認為是新的位置信息,可以用進一步的判定方法,具體為:當所推算得到的POI位置坐標不位於已保存的該POI的位置坐標的附近時,認為所推算得到的POI位置為新的坐標信息。例如,可以以已保存的該POI的位置坐標為圓心,按預先設定的半徑值作圓,若所推算得到的POI位置坐標不位於該些圓內,則認為所推算得到的POI位置坐標為該POI新的位置信息,並將這一位置坐標添加到該POI的數據中。
[0087]更進一步地,執行上述操作,還可以判斷出哪些用戶定位請求是從POI資料庫中已有的POI位置周圍發出的,可以根據這一信息,記錄在每次更新周期內從POI資料庫中已有的POI位置周圍所發出的用戶定位請求的數量,若在N個更新周期內均未收到從某一已有位置周圍所發出的用戶定位請求,則認為該位置信息失效,從POI資料庫中刪除該位置信息,其中N為預先設定的正整數。
[0088]以上所述僅為本發明的較佳實施例而已,並不用以限制本發明,凡在本發明的精神和原則之內,所做的任何修改、等同替換、改進等,均應包含在本發明保護的範圍之內。
【權利要求】
1.一種基於用戶定位請求的興趣點POI數據更新方法,其特徵在於,預先建立POI資料庫以及服務集標識SSID資料庫,所述SSID資料庫包含預先收集的SSID以及SSID對應的POI,該方法包括: 51、獲取更新周期內收集的用戶定位請求中含有的無線訪問接入點AP的SSID信息和MAC地址,在所述SSID資料庫中檢索與所獲取的SSID信息對應的POI ; 52、根據所獲取的MAC地址以及定位得到的用戶坐標,推算所述與所獲取的SSID信息對應的POI的位置,並根據推算結果更新所述POI資料庫中該POI的數據。
2.根據權利要求1所述的方法,其特徵在於,所述SSID資料庫採用如下方式建立: 根據所述預先收集的SSID檢索所述POI資料庫,若所述POI資料庫中某一 POI的數據中有與某一 SSID匹配的內容,則將所述某一 SSID與所述某一 POI形成對應關係後存入所述SSID資料庫。
3.根據權利要求1所述的方法,其特徵在於,所述步驟S2中,根據所獲取的MAC地址以及定位得到的用戶坐標,推算所述與所獲取的SSID信息對應的POI的位置,具體包括: 從所述更新周期內收集的用戶定位請求中提取出包含所述所獲取的SSID信息以及所述所獲取的MAC地址的用戶定位請求; 根據所提取的用戶定位請求進行定位得到的用戶坐標,推算POI的位置。
4.根據權利要求1所述的方法,其特徵在於,所述步驟S2中,根據推算結果更新所述POI資料庫中該POI的數據,具體包括: 查詢所述POI資料庫,若POI資料庫中沒有所推算得到的該POI的位置,則將該位置信息添加到POI資料庫中。
5.根據權利要求3所述的方法,其特徵在於,所述推算POI的位置,具體使用:最小外接圓算法,將多個用戶坐標的最小外接圓的圓心作為POI的位置坐標; 或者,算術平均值法,將多個用戶坐標的算術平均值作為POI的位置坐標; 或者,幾何平均值法,將多個用戶坐標的集合平均值作為POI的位置坐標。
6.根據權利要求4所述的方法,其特徵在於,所述查詢所述POI資料庫,若POI資料庫中沒有所推算得到的該POI的位置,則將該位置信息添加到POI資料庫中,具體包括: 查詢所述POI資料庫,確定該POI已有的位置,判斷推算得到的該POI的位置是否在以所述已有的位置為圓心、預設半徑值的圓內,如果否,則將這一位置信息添加到POI資料庫的該POI的數據中。
7.一種基於用戶定位請求的興趣點POI數據更新裝置,其特徵在於,該裝置基於預先建立的POI資料庫以及服務集標識SSID資料庫,所述SSID資料庫包含預先收集的SSID以及SSID對應的POI,該裝置包括: 檢索單元、用於從更新周期內收集的用戶定位請求中獲取無線訪問接入點AP的SSID信息和MAC地址,在所述SSID資料庫中檢索與所獲取的SSID信息對應的POI ; 更新單元、用於根據所述檢索單元所獲取的MAC地址以及定位得到的用戶坐標,推算所述與所獲取的SSID信息對應的POI的位置,並根據推算結果更新所述POI資料庫中該POI的數據。
8.根據權利要求7所述的裝置,其特徵在於,該裝置還包括:資料庫建立單元,用於採用如下方式建立所述SSID資料庫:根據所述預先收集的SSID檢索所述POI資料庫,若所述POI資料庫中某一 POI的數據中有與某一 SSID匹配的內容,將所述某一 SSID與所述某一 POI形成對應關係後存入所述SSID資料庫。
9.根據權利要求7所述的裝置,其特徵在於,所述更新單元根據所獲取的MAC地址以及定位得到的用戶坐標,推算所述與所獲取的SSID信息對應的POI的位置時,具體執行: 從所述更新周期內收集的用戶定位請求中提取出包含所述所獲取的SSID信息以及所述所獲取的MAC地址的用戶定位請求; 根據所提取的用戶定位請求進行定位得到的用戶坐標,推算POI的位置。
10.根據權利要求7所述的裝置,其特徵在於,所述更新單元根據推算結果更新所述POI資料庫中該POI的數據時,具體執行: 查詢所述POI資料庫,若POI資料庫中沒有所推算得到的該POI的位置,則將該位置信息添加到POI資料庫中。
11.根據權利要求9所述的裝置,其特徵在於,所述檢索單元推算POI的位置時,具體使用:最小外接圓算法,將多個用戶坐標的最小外接圓的圓心作為POI的位置坐標; 或者,算術平均值法,將多個用戶坐標的算術平均值作為POI的位置坐標; 或者,幾何平均值法,將多個用戶坐標的集合平均值作為POI的位置坐標。
12.根據權利要求10所述的裝置,其特徵在於,所述更新單元查詢所述POI資料庫,若POI資料庫中沒有所推算得到的該POI的位置,則將該位置信息添加到POI資料庫中時,具體執行: 查詢所述POI資料庫,確定 該POI已有的位置,判斷推算得到的該POI的位置是否在以所述已有的位置為圓心、預設半徑值的圓內,如果否,則將這一位置信息添加到POI資料庫的該POI的數據中。
【文檔編號】G06F17/30GK103853740SQ201210501197
【公開日】2014年6月11日 申請日期:2012年11月29日 優先權日:2012年11月29日
【發明者】田輝 申請人:北京百度網訊科技有限公司