專利名稱:基于時(shí)間位置信息搜索目標(biāo)用戶的方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及互聯(lián)網(wǎng)搜索技術(shù)領(lǐng)域,特別涉及一種在互聯(lián)網(wǎng)上基于時(shí)間位置信息搜 索目標(biāo)用戶的方法及系統(tǒng)。
背景技術(shù):
在目前的網(wǎng)上交友服務(wù)和即時(shí)通訊服務(wù)以及其它類似服務(wù)中,當(dāng)用戶需要搜索某 些其他用戶時(shí),通常只能通過年齡、住址以及用戶名稱等條件進(jìn)行搜索。但是,很多情況下, 用戶會對過去、現(xiàn)在或未來某一時(shí)間段某一位置遇到的某些用戶有搜索需求。
例如,用戶會對過去經(jīng)常活動的一個區(qū)域中的人進(jìn)行搜索,比如暑假在天安門廣 場玩的伙伴,不記得了他們的名字,但是又想聯(lián)系到他們。或者用戶對在某天的一段路程上 對街上的某個或多個行人記憶深刻,但當(dāng)時(shí)卻沒有留下聯(lián)系方式,現(xiàn)在想搜索到這個人或 這些人。又例如用戶可能想知道將要旅游的地方碰到的用戶大概具有哪些特征等。
現(xiàn)有技術(shù)中,為解決上述問題,當(dāng)搜索發(fā)起用戶需要搜索某一時(shí)間位置的目標(biāo)用 戶時(shí),搜索發(fā)起用戶只能手動查詢每一個用戶,查看每個用戶記錄的所有地點(diǎn),查看其中是 否有與自己到過的地點(diǎn)重合且時(shí)間段也重合的用戶,或者搜索發(fā)起用戶查詢自己所待過區(qū) 域包含的每一個地點(diǎn)、路程中途徑的每一個地點(diǎn)或具體的某一個地點(diǎn),手動地在每個地點(diǎn) 中進(jìn)行逐一查看是否有與自己時(shí)間段重合的用戶,然后利用時(shí)間段篩選出目標(biāo)用戶。
現(xiàn)有技術(shù)中,雖然可以通過按照搜索發(fā)起用戶輸入的文字信息搜索到相關(guān)的目標(biāo) 用戶,但由于搜索發(fā)起用戶只能查找每個用戶去過的地點(diǎn)或者是查看該地點(diǎn)所記載的所有 用戶,為搜索發(fā)起用戶帶來了諸多不便,比如1)地點(diǎn)信息有時(shí)不是一個具體的地點(diǎn)而是 某一個區(qū)域;幻地點(diǎn)信息有時(shí)不是一個具體的地點(diǎn)而是某一條線路;;3)查找每個用戶去過 的地點(diǎn)或者是查找每個地點(diǎn)所符合要求的用戶,其效率不高;4)搜索發(fā)起用戶需要查詢的 目標(biāo)用戶是搜索發(fā)起用戶在某一地點(diǎn)所看到的位于另一地點(diǎn)的用戶,而目標(biāo)用戶并未實(shí)際 到達(dá)過搜索發(fā)起用戶所在的地點(diǎn);5)搜索發(fā)起用戶有時(shí)需要搜索與其擦肩而過的用戶;6) 搜索發(fā)起用戶查詢某地點(diǎn)所有用戶時(shí)對時(shí)間也有要求,而現(xiàn)有技術(shù)未給出利用時(shí)間篩選用 戶的方法;7)沒有產(chǎn)生地圖信息(或用戶信息)與搜索引擎相結(jié)合的技術(shù)效果。
可見,由于上述問題的存在,現(xiàn)有技術(shù)并不能滿足搜索發(fā)起用戶對某些目標(biāo)用戶 針對時(shí)間位置進(jìn)行搜索的需要,也無法為搜索發(fā)起用戶準(zhǔn)確迅速地返回所需的目標(biāo)用戶信 肩、ο發(fā)明內(nèi)容
(一)要解決的技術(shù)問題
本發(fā)明的主要目的在于提供一種在互聯(lián)網(wǎng)中基于時(shí)間位置信息搜索目標(biāo)用戶的 系統(tǒng)及方法,以針對搜索發(fā)起用戶對某些時(shí)間位置進(jìn)行搜索的需要,準(zhǔn)確迅速地返回所需 的目標(biāo)用戶信息。
( 二)技術(shù)方案8
為達(dá)到上述目的,本發(fā)明提供了一種基于時(shí)間位置信息搜索目標(biāo)用戶的方法,該 方法包括
對表示用戶時(shí)間位置的信息進(jìn)行分析,獲取所有用戶的時(shí)間位置信息,并進(jìn)行存 儲;
接收搜索發(fā)起用戶提供的待搜索的時(shí)間位置信息,將該待搜索的時(shí)間位置信息與 存儲的所有用戶的時(shí)間位置信息進(jìn)行匹配;
顯示匹配成功的目標(biāo)用戶信息。
為達(dá)到上述目的,本發(fā)明還提供了一種基于時(shí)間位置信息搜索目標(biāo)用戶的系統(tǒng), 該系統(tǒng)包括時(shí)間位置分析器、時(shí)間位置索引器和時(shí)間位置搜索器,其中
時(shí)間位置分析器,用于對表示用戶時(shí)間位置的信息進(jìn)行分析,獲取所有用戶的時(shí) 間位置信息,并輸出給所述時(shí)間位置索引器;
時(shí)間位置索引器,用于接收并存儲所述時(shí)間位置分析器輸入的所有用戶的時(shí)間位直fe息;
時(shí)間位置搜索器,用于接收搜索發(fā)起用戶輸入的待搜索的時(shí)間位置信息,并將該 待搜索的時(shí)間位置信息與所述時(shí)間位置索引器中存儲的所有用戶的時(shí)間位置信息進(jìn)行匹 配,顯示匹配成功的目標(biāo)用戶信息。
(三)有益效果
從上述技術(shù)方案可以看出,本發(fā)明具有以下有益效果
本發(fā)明提供的這種在互聯(lián)網(wǎng)中基于時(shí)間位置信息搜索目標(biāo)用戶的系統(tǒng)及方法,通 過時(shí)間位置分析器分析并獲取用戶的時(shí)間位置并將其輸出給時(shí)間位置索引器,此處用戶的 時(shí)間位置是基于地理坐標(biāo)進(jìn)行的。當(dāng)搜索發(fā)起用戶進(jìn)行搜索時(shí),搜索發(fā)起用戶可以在地圖 上或者是其他方式映射到地圖上的(如文字輸入,下拉框,移動終端)的區(qū)域、路線或具體 地點(diǎn)來進(jìn)行選擇輸入,相對于現(xiàn)有技術(shù)搜索某一時(shí)間段某一位置的目標(biāo)用戶時(shí),搜索技術(shù) 僅僅用于搜索地點(diǎn)或篩選時(shí)間段,導(dǎo)致搜索發(fā)起用戶需要手動查詢某一區(qū)域內(nèi)的每一地 點(diǎn)、某一路線經(jīng)過的每一地點(diǎn)或每一用戶記錄的地點(diǎn)等諸多的手動操作,本發(fā)明避免了需 要查詢包含的每一地點(diǎn)的手動操作,進(jìn)而使得搜索發(fā)起用戶只需一次性的輸入就能夠準(zhǔn)確 迅速地搜索到所需的目標(biāo)用戶信息,大大節(jié)省了搜索時(shí)間。
圖1是本發(fā)明提供的基于時(shí)間位置信息搜索目標(biāo)用戶的方法流程圖2是本發(fā)明基于時(shí)間位置信息搜索目標(biāo)用戶的系統(tǒng)結(jié)構(gòu)示意圖3是依照本發(fā)明實(shí)施例提供的基于時(shí)間位置信息搜索目標(biāo)用戶的方法流程圖4是Dijkstra算法中采用的有向圖5是線段與圓求交的示意圖6是圓與裁剪窗口的示意圖7是圓弧的中點(diǎn)檢測法示意圖。
具體實(shí)施方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明白,以下結(jié)合具體實(shí)施例,并參照附圖,對本發(fā)明進(jìn)一步詳細(xì)說明。
本發(fā)明提供的這種基于時(shí)間位置信息搜索目標(biāo)用戶的方法,通過對表示用戶時(shí)間 位置的信息進(jìn)行分析,獲取所有用戶的時(shí)間位置信息,然后存儲所有用戶的時(shí)間位置信息, 當(dāng)搜索發(fā)起用戶確定需要對某時(shí)間段、某個地點(diǎn)、某個路線或某個區(qū)域的時(shí)間位置進(jìn)行搜 索后,根據(jù)搜索發(fā)起用戶提供的查詢條件,將該待搜索的時(shí)間位置信息與所述存儲的所有 用戶的時(shí)間位置信息進(jìn)行匹配,返回符合搜索發(fā)起用戶要求的目標(biāo)用戶信息并顯示。
如圖1所示,圖1是本發(fā)明提供的基于時(shí)間位置信息搜索目標(biāo)用戶的方法流程圖, 該方法包括以下步驟
步驟1 對表示用戶時(shí)間位置的信息進(jìn)行分析,獲取所有用戶的時(shí)間位置信息,并 進(jìn)行存儲;
步驟2 接收搜索發(fā)起用戶提供的待搜索的時(shí)間位置信息,將該待搜索的時(shí)間位 置信息與存儲的所有用戶的時(shí)間位置信息進(jìn)行匹配;
步驟3 顯示匹配成功的目標(biāo)用戶信息。
其中,步驟1中所述對表示用戶時(shí)間位置的信息進(jìn)行分析包括對用戶以點(diǎn)擊地 圖方式表示的用戶時(shí)間位置信息進(jìn)行分析,或者對用戶以點(diǎn)擊下拉框方式表示的用戶時(shí)間 位置信息進(jìn)行分析,或者對用戶以輸入的文字方式表示的用戶時(shí)間位置信息進(jìn)行分析,或 者對用戶以移動終端定位信息方式表示的用戶時(shí)間位置信息進(jìn)行分析。時(shí)間位置信息包括 地理坐標(biāo)信息和時(shí)間段信息,所述獲取所有用戶的時(shí)間位置信息是獲取所有用戶的地理坐 標(biāo)信息和時(shí)間段信息。該時(shí)間位置信息進(jìn)一步與地圖中的地理坐標(biāo)數(shù)據(jù)相結(jié)合,或者與地 點(diǎn)位置間的路徑數(shù)據(jù)相結(jié)合。
用戶以點(diǎn)擊地圖方式表示的用戶時(shí)間位置信息包括用戶在人機(jī)界面顯示的地圖 上以點(diǎn)擊方式進(jìn)行定位后,在地圖上點(diǎn)擊的用戶待過的位置點(diǎn)信息或走過的路線信息或待 過的某一區(qū)域信息,以及在人機(jī)界面彈出的對話框中輸入的時(shí)間段信息。
用戶在人機(jī)界面顯示的地圖上以點(diǎn)擊方式進(jìn)行定位后,進(jìn)一步包括對于位置點(diǎn) 信息,選擇一個視野范圍,根據(jù)該視野范圍計(jì)算出該點(diǎn)所在區(qū)域的頂點(diǎn)信息;或者對于路線 信息,選擇一個視野范圍,根據(jù)該視野范圍計(jì)算出該路線所在區(qū)域的頂點(diǎn)信息。其中,對于 位置點(diǎn)信息,以用戶點(diǎn)擊的位置為圓心,視野范圍為半徑的圓區(qū)域,或者是以用戶點(diǎn)擊的位 置為中心,視野范圍為邊長的矩形區(qū)域,設(shè)定一個視野范圍。
在地圖上點(diǎn)擊的用戶走過的路線信息是通過以下方式獲取的連續(xù)點(diǎn)擊若干位 置,該若干位置是連續(xù)記錄兩點(diǎn)的坐標(biāo),且路線為兩點(diǎn)間的直線距離;或者,將點(diǎn)擊的位置 與存儲的路徑信息相結(jié)合,在地圖上顯示用戶點(diǎn)擊兩點(diǎn)間的連線是路徑點(diǎn)之間最短距離的 連線,所有路徑點(diǎn)的坐標(biāo)信息由最短路徑算法得出;若用戶進(jìn)行路徑選擇時(shí)兩點(diǎn)中有至少 一個未點(diǎn)擊到路徑點(diǎn),則計(jì)算與該未點(diǎn)擊到的路徑點(diǎn)最接近的路徑線,并用線段將與該路 徑線垂直的交點(diǎn)相連接,然后計(jì)算該交點(diǎn)路徑線上與該交點(diǎn)距離最短的路徑點(diǎn),并計(jì)算該 路徑點(diǎn)之間的最短距離,路線信息即為用戶點(diǎn)擊的點(diǎn)與其最近的路徑線之間的垂直距離、 該垂直交點(diǎn)距離最短的路徑點(diǎn)之間的距離、路徑點(diǎn)之間的最短距離三者之和;記錄該點(diǎn)以 及交點(diǎn)還有所有路徑點(diǎn)的坐標(biāo)信息,當(dāng)該點(diǎn)在路徑線上時(shí),則該點(diǎn)到該路徑線的距離即為 0,與其最接近的線即為該點(diǎn)在路徑線上的線,若有兩條或多條路徑線穿過該點(diǎn),則之后計(jì) 算與該交點(diǎn)各路徑線上的路徑點(diǎn)之間的距離,取最短的,若還有一個以上路徑點(diǎn)距離一樣,則任取一個路徑點(diǎn)進(jìn)行相連;未點(diǎn)擊到時(shí)也可以直接計(jì)算與該點(diǎn)最近的路徑點(diǎn),最短距離 即為該點(diǎn)與其最近的路徑點(diǎn)之間的距離加上路徑點(diǎn)之間的最短距離。
當(dāng)用戶輸入為路線信息以及時(shí)間段信息時(shí),進(jìn)一步對路線長度進(jìn)行計(jì)算,將路線 長度除以時(shí)間得出該用戶的速度,設(shè)定一閾值,若用戶輸入的路線速度大于該閾值則返回 輸入不符合要求,小于該閾值則存儲該路線信息。
在地圖上點(diǎn)擊的用戶待過的某一區(qū)域信息是通過以下方式獲取的依次進(jìn)行頂點(diǎn) 的標(biāo)注,形成一個閉區(qū)域,這時(shí)記錄各頂點(diǎn)坐標(biāo)信息;或者挑選一個矩形框進(jìn)行區(qū)域的選 擇,存儲各頂點(diǎn)的坐標(biāo),或者挑選一個圓區(qū)域進(jìn)行區(qū)域的選擇,先點(diǎn)擊一點(diǎn)確認(rèn)圓心坐標(biāo), 后點(diǎn)擊的點(diǎn)確定圓的半徑,存儲圓心坐標(biāo)及半徑的長度。
在地圖上點(diǎn)擊的用戶待過的位置點(diǎn)信息或走過的路線信息或待過的某一區(qū)域信 息,是在二維情況下進(jìn)行點(diǎn)擊的,當(dāng)?shù)貓D的維數(shù)為三維時(shí),區(qū)域及路線的選擇是將高度軸化 為0來進(jìn)行二維化的。
對用戶以點(diǎn)擊下拉框方式表示的用戶時(shí)間位置信息進(jìn)行分析包括若用戶只記錄 待一個地方,將下拉框一直選到最后一個下拉框并點(diǎn)擊確認(rèn)即可;進(jìn)行區(qū)域選擇時(shí)下拉框 選擇的地理位置相當(dāng)于一個區(qū)域,該區(qū)域?qū)?yīng)的頂點(diǎn)信息將被自動存儲;在點(diǎn)擊下拉框時(shí), 一個與用戶輸入實(shí)時(shí)體現(xiàn)的地圖將被顯示;進(jìn)行路線選擇時(shí)下拉框選擇的地理位置相當(dāng)于 在地圖上該地理位置點(diǎn)擊,用戶在選擇下拉框定位后再在地圖中點(diǎn)擊下一個點(diǎn),或者在點(diǎn) 擊完地圖后在采用下拉框進(jìn)行選擇。選擇了位置后進(jìn)一步確定視野范圍,以該位置坐標(biāo)中 心點(diǎn)為中心,邊長為視野范圍的矩形區(qū)域,或者是以該位置坐標(biāo)中心點(diǎn)為圓心,半徑為視野 范圍的圓形區(qū)域。
對用戶以輸入的文字方式表示的用戶時(shí)間位置信息進(jìn)行分析時(shí),如果用戶輸入的 文字在地理位置信息中找不到對應(yīng)的信息,則顯示地圖供用戶進(jìn)行查詢。
對用戶以移動終端定位信息方式表示的用戶時(shí)間位置信息進(jìn)行分析包括對于位 置點(diǎn)信息,利用移動終端進(jìn)行GPS定位到地圖上的點(diǎn)來作為用戶時(shí)間位置信息,定位后還 進(jìn)一步進(jìn)行視野范圍的設(shè)置;對于路線信息,先定位一點(diǎn),然后再定位另一點(diǎn),以這兩點(diǎn)確 定一條路線,并存儲這兩點(diǎn)中間點(diǎn)的信息;對于區(qū)域信息,先定位區(qū)域的多個端點(diǎn),然后以 該些端點(diǎn)確定一個區(qū)域,并存儲該些端點(diǎn)的信息。對用戶以移動終端定位信息方式表示的 用戶時(shí)間位置信息時(shí),進(jìn)一步將其與地圖下拉框輸入文字相互結(jié)合,先利用定位然后再在 地圖上點(diǎn)擊下一點(diǎn),然后再在下拉框中輸入另一點(diǎn)的信息。
步驟2中所述接收搜索發(fā)起用戶提供的待搜索的時(shí)間位置信息包括接收搜索發(fā) 起用戶點(diǎn)擊地圖輸入的地理坐標(biāo)信息,接收搜索發(fā)起用戶點(diǎn)擊下拉框輸入的下拉框信息, 接收搜索發(fā)起用戶文字輸入的文字信息,以及接收搜索發(fā)起用戶移動終端GPS定位的地理 坐標(biāo)信息。其中,接收搜索發(fā)起用戶文字輸入的文字信息包括接收搜索發(fā)起用戶提供的某 一點(diǎn)的地理坐標(biāo),接收搜索發(fā)起用戶提供的某條折線段的多個點(diǎn)的地理坐標(biāo),接收搜索發(fā) 起用戶提供的某個區(qū)域頂點(diǎn)的地理坐標(biāo),以及接收搜索發(fā)起用戶提供的某個圓區(qū)域圓心的 地理坐標(biāo)及其半徑。
步驟2中所述接收搜索發(fā)起用戶提供的待搜索的時(shí)間位置信息后進(jìn)一步包括判 斷接收的搜索發(fā)起用戶提供的待搜索的時(shí)間位置信息的數(shù)據(jù)格式與存儲的所有用戶的時(shí) 間位置信息的數(shù)據(jù)格式是否相同,如果不同,則將待搜索的時(shí)間位置信息轉(zhuǎn)換為與所有用戶的時(shí)間位置信息數(shù)據(jù)格式相同的時(shí)間位置數(shù)據(jù)。
步驟2中所述將該待搜索的時(shí)間位置信息與存儲的所有用戶的時(shí)間位置信息進(jìn) 行匹配包括計(jì)算該待搜索的時(shí)間位置信息與存儲的所有用戶的時(shí)間位置信息中的時(shí)間位 置信息是否重合、包含或相交,如果是重合、包含或相交,則匹配成功;若搜索發(fā)起用戶輸入 的搜索條件為點(diǎn)信息,則計(jì)算時(shí)間重合度;若輸入的為線信息,則計(jì)算線重合度與時(shí)間重合 度,且取其中較小的重合度為排序比例;若輸入的為區(qū)域信息,則計(jì)算區(qū)域重合度與時(shí)間重 合度,且取其中較小的一個作為排序比例;其中重合度就是重合的部分占搜索發(fā)起輸入部 分的比例以及重合的部分占被搜索的用戶部分的比例,取這兩比例中較小的一個作為重合 度。
步驟3中所述顯示匹配成功的目標(biāo)用戶信息包括若搜索發(fā)起用戶輸入的時(shí)間位 置信息為位置點(diǎn)信息,則首先顯示與該位置點(diǎn)重合的用戶信息,然后再顯示與該位置點(diǎn)相 交的線段的用戶信息,以及與該位置點(diǎn)相交的區(qū)域的用戶信息,若與點(diǎn)或線段或區(qū)域相交 的用戶信息有多個,則按時(shí)間的重合比例由大到小的順序進(jìn)行排序并顯示;若搜索發(fā)起用 戶輸入的時(shí)間位置信息為路線信息,則計(jì)算搜索發(fā)起用戶的路線長度與數(shù)據(jù)庫中路線長度 重合部分占兩個長度比例中最小的一個;兩條路線的長度由各線段坐標(biāo)點(diǎn)之間的距離之和 得出,當(dāng)計(jì)算線段相交時(shí),計(jì)算結(jié)果為重合的則計(jì)算兩條線段的長度并取最短的一條線段 長度作為重合長度,然后將所有重合長度相加即得重合部分路線長度;然后計(jì)算時(shí)間長度 重合比例,然后取兩個比例中路線長度的重合比例與時(shí)間長度重合比例最小的一個作為最 終排序的比例,然后按該比例的由大到小排序進(jìn)行顯示;若搜索發(fā)起用戶輸入的時(shí)間位置 信息為區(qū)域信息,則計(jì)算區(qū)域面積重合比例;若兩個區(qū)域中都為多邊形相交,則以其中任意 窗口為裁剪窗口計(jì)算相交的區(qū)域,然后計(jì)算該區(qū)域的面積,計(jì)算相交的區(qū)域占該搜索發(fā)起 用戶區(qū)域與該區(qū)域比例最小的一個,若兩個區(qū)域相互包含,則比例為被包含的區(qū)域占包含 它的區(qū)域的比例。
圖2示出了本發(fā)明基于時(shí)間位置信息搜索目標(biāo)用戶的系統(tǒng)結(jié)構(gòu)示意圖,該系統(tǒng)包 括時(shí)間位置分析器1、時(shí)間位置索引器2和時(shí)間位置搜索器3。時(shí)間位置分析器1用于對表 示用戶時(shí)間位置的信息進(jìn)行分析,獲取所有用戶的時(shí)間位置信息,并輸出給所述時(shí)間位置 索引器2 ;時(shí)間位置索引器2用于接收并存儲所述時(shí)間位置分析器1輸入的所有用戶的時(shí) 間位置信息;時(shí)間位置搜索器3用于接收搜索發(fā)起用戶輸入的待搜索的時(shí)間位置信息,并 將該待搜索的時(shí)間位置信息與所述時(shí)間位置索引器2中存儲的所有用戶的時(shí)間位置信息 進(jìn)行匹配,顯示匹配成功的目標(biāo)用戶信息。
時(shí)間位置分析器1包括獲取模塊10、計(jì)算模塊11和發(fā)送模塊12。其中,獲取模塊 10用于對表示用戶時(shí)間位置的信息進(jìn)行分析,獲取所有用戶的時(shí)間位置信息并輸出給所述 計(jì)算模塊11,該表示用戶時(shí)間位置的信息由各用戶在登錄網(wǎng)絡(luò)時(shí)輸入。計(jì)算模塊11用于 分析計(jì)算該時(shí)間位置信息是否符合要求,將符合要求的時(shí)間位置信息輸出給所述發(fā)送模塊 12。發(fā)送模塊12用于將該符合要求的時(shí)間位置信息發(fā)送給所述時(shí)間位置索引器2。
獲取模塊10獲取的表示用戶時(shí)間位置的信息包括用戶輸入的地理坐標(biāo)信息和時(shí) 間段信息,其中用戶輸入的地理坐標(biāo)信息包括用戶點(diǎn)擊地圖輸入的地理坐標(biāo)信息;用戶 點(diǎn)擊下拉框輸入的下拉框信息;用戶文字輸入的文字信息;以及用戶移動終端GPS定位的 地理坐標(biāo)信息。用戶文字輸入的文字信息包括用戶提供的某一點(diǎn)的地理坐標(biāo);用戶提供的某條折線段的多個點(diǎn)的地理坐標(biāo);用戶提供的某個區(qū)域頂點(diǎn)的地理坐標(biāo);以及用戶提供 的某個圓區(qū)域圓心的地理坐標(biāo)及其半徑。
計(jì)算模塊11在分析計(jì)算該時(shí)間位置信息是否符合要求時(shí),對輸入的路線以及其 時(shí)間段做運(yùn)算,以計(jì)算其速度,然后設(shè)定一閾值,計(jì)算出的速度大于該閾值的則認(rèn)為不符合 要求。計(jì)算模塊11包括判斷子單元110、第一計(jì)算子單元111和第二計(jì)算子單元112。判 斷子單元110用于判斷用戶輸入的時(shí)間位置信息是點(diǎn)的信息、線的信息或區(qū)域的信息。第 一計(jì)算子單元111對于點(diǎn)的信息記錄該點(diǎn)地理坐標(biāo),對于線的信息計(jì)算每一折線段端點(diǎn)地 理坐標(biāo),對于區(qū)域的信息計(jì)算該區(qū)域頂點(diǎn)的地理坐標(biāo)。第二計(jì)算子單元112用于將輸入的 線的信息與時(shí)間段信息做速度計(jì)算,并將速度符合要求的輸出給發(fā)送模塊12。
對于第二計(jì)算單元112,在判斷用戶輸入信息的是否為隨意輸入信息時(shí),還可以包 括第二計(jì)算單元112將用戶輸入的信息與用戶之前輸入的信息(即存儲在數(shù)據(jù)庫中的) 進(jìn)行對比,即將用戶輸入的信息與數(shù)據(jù)庫中在時(shí)間及區(qū)域均不重合的用戶之前輸入的信息 進(jìn)行對比,對比方式為計(jì)算用戶輸入?yún)^(qū)域或路線或點(diǎn)與數(shù)據(jù)庫中提取出來的區(qū)域或路線 或點(diǎn)的最近距離,然后將該最近距離除以兩用戶輸入的時(shí)間信息計(jì)算出來的時(shí)間間隔,然 后設(shè)定一閾值,大于該閾值的則認(rèn)為是隨意輸入的信息,返回不符合要求;小于或等于該閾 值的則認(rèn)為不是隨意輸入的信息,存儲在數(shù)據(jù)庫中。
時(shí)間位置搜索器3包括接收模塊30、匹配模塊31和顯示模塊32。接收模塊30用 于接收搜索發(fā)起用戶輸入的時(shí)間位置信息,并將該時(shí)間位置信息轉(zhuǎn)換為與所述時(shí)間位置索 引器2中存儲的數(shù)據(jù)格式相同的時(shí)間位置數(shù)據(jù)。匹配模塊31用于查詢所述時(shí)間位置索引 器2中存儲的所有用戶的時(shí)間位置信息,將該待搜索的時(shí)間位置信息與所述時(shí)間位置索引 器2中存儲的所有用戶的時(shí)間位置信息進(jìn)行匹配,判斷搜索發(fā)起用戶輸入的時(shí)間位置信息 與所有用戶時(shí)間位置信息中的時(shí)間位置信息是否重合、包含或相交,如果是重合、包含或相 交,則匹配成功。顯示模塊32用于顯示匹配成功的目標(biāo)用戶信息。
匹配模塊31在將該待搜索的時(shí)間位置信息與所述時(shí)間位置索引器2中存儲的所 有用戶的時(shí)間位置信息進(jìn)行匹配時(shí),計(jì)算該待搜索的時(shí)間位置信息與存儲的所有用戶的時(shí) 間位置信息中的時(shí)間位置信息是否重合、包含或相交,若搜索發(fā)起用戶輸入的搜索條件為 點(diǎn)信息,則計(jì)算時(shí)間重合度;若輸入的為線信息,則計(jì)算線重合度與時(shí)間重合度,且取其中 較小的重合度為排序比例;若輸入的為區(qū)域信息,則計(jì)算區(qū)域重合度與時(shí)間重合度,且取其 中較小的一個作為排序比例;其中重合度就是重合的部分占搜索發(fā)起輸入部分的比例以及 重合的部分占被搜索的用戶部分的比例,取這兩比例中較小的一個作為重合度。顯示模塊 32取時(shí)間重合度與路線重合度或區(qū)域重合度中最小的一個作為排序比例,顯示結(jié)果按排序 比例由大到小依次排列。
圖3為依照本發(fā)明實(shí)施例提供的基于時(shí)間位置信息搜索目標(biāo)用戶的方法流程圖, 該方法包括以下步驟
步驟301 對表示用戶時(shí)間位置的信息進(jìn)行分析,獲取所有用戶的時(shí)間位置信息, 并進(jìn)行存儲。
本步驟中,可以對用戶以點(diǎn)擊地圖方式表示的用戶時(shí)間位置信息進(jìn)行分析,獲取 所述用戶時(shí)間位置的信息,并進(jìn)行存儲;
或者,對用戶以點(diǎn)擊下拉框方式表示的用戶時(shí)間位置信息進(jìn)行分析,獲取所述用戶時(shí)間位置的信息,并進(jìn)行存儲;
或者,對用戶以輸入的文字方式表示的用戶時(shí)間位置信息進(jìn)行分析,獲取所述用 戶時(shí)間位置的信息,并進(jìn)行存儲。
或者,對用戶以移動終端定位信息方式表示的用戶時(shí)間位置信息進(jìn)行分析,獲取 所述用戶時(shí)間位置的信息,并進(jìn)行存儲。
本實(shí)施例中的時(shí)間位置數(shù)據(jù)不僅與地圖中的地理坐標(biāo)數(shù)據(jù)結(jié)合,而且可以與地點(diǎn) 位置間的路徑數(shù)據(jù)相結(jié)合。
下面對上述四種方式的具體實(shí)現(xiàn)分別進(jìn)行介紹
方式一用戶可以直接在人機(jī)界面上顯示的地圖進(jìn)行定位,用戶也可以在地圖上 表示待過的位置點(diǎn)或走過的路線或待過的某一區(qū)域。若用戶表示待過某位置,如用戶需要 記錄自己在7月18號4點(diǎn)到7月18號5點(diǎn)在湖北省武漢大學(xué)信息學(xué)部一棟待過或者將要 在那個時(shí)候待在那里,則用戶可以將比例尺放大到合適尺度,在湖北省武漢市武漢大學(xué)信 息學(xué)部找到一棟進(jìn)行點(diǎn)擊,然后界面彈出對話框用戶進(jìn)行輸入時(shí)間段。此時(shí),建筑物可能為 一個較大的范圍,所以點(diǎn)擊該范圍中的任意位置,系統(tǒng)均存儲該建筑物設(shè)定好的對應(yīng)坐標(biāo) fn息ο
點(diǎn)擊某具體位置時(shí),用戶還可以設(shè)定一個視野范圍,如以用戶點(diǎn)擊的位置為圓心, 視野范圍為半徑的圓區(qū)域,或者是以用戶點(diǎn)擊的位置為中心,視野范圍為邊長的矩形區(qū)域, 存儲方式為區(qū)域的存儲方式,下文將對區(qū)域方式進(jìn)行介紹。視野范圍可以用系統(tǒng)默認(rèn)的或 者用戶自行輸入。
若用戶需要記錄一段路線,則可以連續(xù)地點(diǎn)擊若干位置如天安門到故宮再到北京 大學(xué)。點(diǎn)擊路線時(shí)可以是連續(xù)記錄兩點(diǎn)的坐標(biāo),且路線為兩點(diǎn)間的直線距離,或者,將點(diǎn)擊 的位置與系統(tǒng)中存儲的路徑信息相結(jié)合,地圖上顯示用戶點(diǎn)擊兩點(diǎn)間的連線都是路徑點(diǎn)之 間最短距離的連線。如若用戶點(diǎn)擊A路徑點(diǎn)與B路徑點(diǎn),將點(diǎn)擊的位置與系統(tǒng)中存儲的路徑 信息相結(jié)合,系統(tǒng)則根據(jù)數(shù)據(jù)庫中存儲的路徑信息計(jì)算出A到B點(diǎn)的最短路徑。然后系統(tǒng) 記錄A到B經(jīng)過的所有路徑點(diǎn)的坐標(biāo)信息。所有路徑點(diǎn)的坐標(biāo)信息由最短路徑算法得出, 算法如下
最短路徑問題是圖論研究中的一個經(jīng)典算法問題,旨在尋找圖(由結(jié)點(diǎn)和路徑組 成的)中兩結(jié)點(diǎn)之間的最短路徑。算法具體的形式包括
確定起點(diǎn)的最短路徑問題-即已知起始結(jié)點(diǎn),求最短路徑的問題。
確定終點(diǎn)的最短路徑問題-與確定起點(diǎn)的問題相反,該問題是已知終結(jié)結(jié)點(diǎn),求 最短路徑的問題。在無向圖中該問題與確定起點(diǎn)的問題完全等同,在有向圖中該問題等同 于把所有路徑方向反轉(zhuǎn)的確定起點(diǎn)的問題。
確定起點(diǎn)終點(diǎn)的最短路徑問題-即已知起點(diǎn)和終點(diǎn),求兩結(jié)點(diǎn)之間的最短路徑。
全局最短路徑問題-求圖中所有的最短路徑。
用于解決最短路徑問題的算法被稱做“最短路徑算法”,有時(shí)被簡稱作“路徑算 法”。最常用的路徑算法有
Dijkstra 算法
A* 算法
SPFA 算法14
BelIman-Ford 算法
Floyd-Warshall 算法
Johnson 算法
所謂單源最短路徑問題是指已知圖G = (V,E),我們希望找出從某給定的源結(jié)點(diǎn) S e V到V中的每個結(jié)點(diǎn)的最短路徑。
首先,我們可以發(fā)現(xiàn)有這樣一個事實(shí)如果P是G中從vs到vj的最短路,vi是P 中的一個點(diǎn),那么,從vs沿P到vi的路是從VS到vi的最短路。
Dijkstra 算法
Dijkstra(迪杰斯特拉)算法是典型的最短路徑路由算法,用于計(jì)算一個節(jié)點(diǎn)到 其他所有節(jié)點(diǎn)的最短路徑。主要特點(diǎn)是以起始點(diǎn)為中心向外層層擴(kuò)展,直到擴(kuò)展到終點(diǎn)為 止。Dijkstra算法能得出最短路徑的最優(yōu)解,但由于它遍歷計(jì)算的節(jié)點(diǎn)很多,所以效率低。
Dijstra—般的表述通常有兩種方式,一種用永久和臨時(shí)標(biāo)號方式,一種是用 OPEN, CLOSE表方式,Drew為了和下面要介紹的A*算法和D*算法表述一致,這里均采用 OPEN, CLOSE表的方式。
其采用的是貪心法的算法策略
大概過程
創(chuàng)建兩個表,OPEN,CLOSE。
OPEN表保存所有已生成而未考察的節(jié)點(diǎn),CLOSED表中記錄已訪問過的節(jié)點(diǎn)。
1.訪問路網(wǎng)中距離起始點(diǎn)最近且沒有被檢查過的點(diǎn),把這個點(diǎn)放入OPEN組中等 待檢查。
2.從OPEN表中找出距起始點(diǎn)最近的點(diǎn),找出這個點(diǎn)的所有子節(jié)點(diǎn),把這個點(diǎn)放到 CLOSE表中。
3.遍歷考察這個點(diǎn)的子節(jié)點(diǎn)。求出這些子節(jié)點(diǎn)距起始點(diǎn)的距離值,放子節(jié)點(diǎn)到 OPEN表中。
4.重復(fù)第2和第3步,直到OPEN表為空,或找到目標(biāo)點(diǎn)。
Dijkstra算法是解單源最短路徑問題的貪心算法。其基本思想是,設(shè)置頂點(diǎn)集合 點(diǎn)集合S并不斷地做貪心選擇來擴(kuò)充這個集合。一個頂點(diǎn)屬于集合S當(dāng)且僅當(dāng)從源到該頂 點(diǎn)的最短路徑長度已知。初始時(shí),S中僅含有源。設(shè)u是G的其一頂點(diǎn)。把從源到u且中 間只經(jīng)過S中頂點(diǎn)的路稱為從源到u的特殊路徑,并用數(shù)組Distance記錄當(dāng)前每個頂點(diǎn)所 對應(yīng)的最短特殊路徑長度。Dijkstra算法每次從V-S中取出具有最短特殊路長度的頂占, Distance就記錄了從源到所有其它頂點(diǎn)之間最短路徑長度。
例如圖4所示的有向圖,應(yīng)用Dijkstra算法計(jì)算從源頂點(diǎn)1到其它頂點(diǎn)最短路徑 的過程列表在下表1中。選代 初始
權(quán)利要求
1.一種基于時(shí)間位置信息搜索目標(biāo)用戶的方法,其特征在于,該方法包括對表示用戶時(shí)間位置的信息進(jìn)行分析,獲取所有用戶的時(shí)間位置信息,并進(jìn)行存儲;接收搜索發(fā)起用戶提供的待搜索的時(shí)間位置信息,將該待搜索的時(shí)間位置信息與存儲 的所有用戶的時(shí)間位置信息進(jìn)行匹配;顯示匹配成功的目標(biāo)用戶信息。
2.根據(jù)權(quán)利要求1所述的基于時(shí)間位置信息搜索目標(biāo)用戶的方法,其特征在于,所述 對表示用戶時(shí)間位置的信息進(jìn)行分析包括對用戶以點(diǎn)擊地圖方式表示的用戶時(shí)間位置信息進(jìn)行分析;或者對用戶以點(diǎn)擊下拉框方式表示的用戶時(shí)間位置信息進(jìn)行分析;或者對用戶以輸入的文字方式表示的用戶時(shí)間位置信息進(jìn)行分析;或者對用戶以移動終端定位信息方式表示的用戶時(shí)間位置信息進(jìn)行分析。
3.根據(jù)權(quán)利要求2所述的基于時(shí)間位置信息搜索目標(biāo)用戶的方法,其特征在于,所述 用戶以點(diǎn)擊地圖方式表示的用戶時(shí)間位置信息包括用戶在人機(jī)界面顯示的地圖上以點(diǎn)擊方式進(jìn)行定位后,在地圖上點(diǎn)擊的用戶待過的位 置點(diǎn)信息或走過的路線信息或待過的某一區(qū)域信息,以及在人機(jī)界面彈出的對話框中輸入 的時(shí)間段信息。
4.根據(jù)權(quán)利要求3所述的基于時(shí)間位置信息搜索目標(biāo)用戶的方法,其特征在于,所述 用戶在人機(jī)界面顯示的地圖上以點(diǎn)擊方式進(jìn)行定位后,進(jìn)一步包括對于位置點(diǎn)信息,選擇一個視野范圍,根據(jù)該視野范圍計(jì)算出該點(diǎn)所在區(qū)域的頂點(diǎn)信 息;或者對于路線信息,選擇一個視野范圍,根據(jù)該視野范圍計(jì)算出該路線所在區(qū)域的頂點(diǎn)信息、ο
5.根據(jù)權(quán)利要求4所述的基于時(shí)間位置信息搜索目標(biāo)用戶的方法,其特征在于,所述 對于位置點(diǎn)信息,以用戶點(diǎn)擊的位置為圓心,視野范圍為半徑的圓區(qū)域,或者是以用戶點(diǎn)擊 的位置為中心,視野范圍為邊長的矩形區(qū)域,設(shè)定一個視野范圍。
6.根據(jù)權(quán)利要求3所述的基于時(shí)間位置信息搜索目標(biāo)用戶的方法,其特征在于,所述 在地圖上點(diǎn)擊的用戶走過的路線信息是通過以下方式獲取的連續(xù)點(diǎn)擊若干位置,該若干位置是連續(xù)記錄兩點(diǎn)的坐標(biāo),且路線為兩點(diǎn)間的直線距離; 或者,將點(diǎn)擊的位置與存儲的路徑信息相結(jié)合,在地圖上顯示用戶點(diǎn)擊兩點(diǎn)間的連線是路 徑點(diǎn)之間最短距離的連線,所有路徑點(diǎn)的坐標(biāo)信息由最短路徑算法得出;若用戶進(jìn)行路徑選擇時(shí)兩點(diǎn)中有至少一個未點(diǎn)擊到路徑點(diǎn),則計(jì)算與該未點(diǎn)擊到的路 徑點(diǎn)最接近的路徑線,并用線段將與該路徑線垂直的交點(diǎn)相連接,然后計(jì)算該交點(diǎn)路徑線 上與該交點(diǎn)距離最短的路徑點(diǎn),并計(jì)算該路徑點(diǎn)之間的最短距離,路線信息即為用戶點(diǎn)擊 的點(diǎn)與其最近的路徑線之間的垂直距離、該垂直交點(diǎn)距離最短的路徑點(diǎn)之間的距離、路徑 點(diǎn)之間的最短距離三者之和;記錄該點(diǎn)以及交點(diǎn)還有所有路徑點(diǎn)的坐標(biāo)信息,當(dāng)該點(diǎn)在路 徑線上時(shí),則該點(diǎn)到該路徑線的距離即為0,與其最接近的線即為該點(diǎn)在路徑線上的線,若 有兩條或多條路徑線穿過該點(diǎn),則之后計(jì)算與該交點(diǎn)各路徑線上的路徑點(diǎn)之間的距離,取 最短的,若還有一個以上路徑點(diǎn)距離一樣,則任取一個路徑點(diǎn)進(jìn)行相連;未點(diǎn)擊到時(shí)也可以 直接計(jì)算與該點(diǎn)最近的路徑點(diǎn),最短距離即為該點(diǎn)與其最近的路徑點(diǎn)之間的距離加上路徑點(diǎn)之間的最短距離。
7.根據(jù)權(quán)利要求6所述的基于時(shí)間位置信息搜索目標(biāo)用戶的方法,其特征在于,當(dāng)用 戶輸入為路線信息以及時(shí)間段信息時(shí),進(jìn)一步對路線長度進(jìn)行計(jì)算,將路線長度除以時(shí)間 得出該用戶的速度,設(shè)定一閾值,若用戶輸入的路線速度大于該閾值則返回輸入不符合要 求,小于該閾值則存儲該路線信息。
8.根據(jù)權(quán)利要求3所述的基于時(shí)間位置信息搜索目標(biāo)用戶的方法,其特征在于,所述 在地圖上點(diǎn)擊的用戶待過的某一區(qū)域信息是通過以下方式獲取的依次進(jìn)行頂點(diǎn)的標(biāo)注,形成一個閉區(qū)域,這時(shí)記錄各頂點(diǎn)坐標(biāo)信息;或者挑選一個矩形 框進(jìn)行區(qū)域的選擇,存儲各頂點(diǎn)的坐標(biāo),或者挑選一個圓區(qū)域進(jìn)行區(qū)域的選擇,先點(diǎn)擊一點(diǎn) 確認(rèn)圓心坐標(biāo),后點(diǎn)擊的點(diǎn)確定圓的半徑,存儲圓心坐標(biāo)及半徑的長度。
9.根據(jù)權(quán)利要求3所述的基于時(shí)間位置信息搜索目標(biāo)用戶的方法,其特征在于,所述 在地圖上點(diǎn)擊的用戶待過的位置點(diǎn)信息或走過的路線信息或待過的某一區(qū)域信息,是在二 維情況下進(jìn)行點(diǎn)擊的,當(dāng)?shù)貓D的維數(shù)為三維時(shí),區(qū)域及路線的選擇是將高度軸化為0來進(jìn) 行二維化的。
10.根據(jù)權(quán)利要求2所述的基于時(shí)間位置信息搜索目標(biāo)用戶的方法,其特征在于,所述 對用戶以點(diǎn)擊下拉框方式表示的用戶時(shí)間位置信息進(jìn)行分析包括若用戶只記錄待一個地方,將下拉框一直選到最后一個下拉框并點(diǎn)擊確認(rèn)即可;進(jìn)行 區(qū)域選擇時(shí)下拉框選擇的地理位置相當(dāng)于一個區(qū)域,該區(qū)域?qū)?yīng)的頂點(diǎn)信息將被自動存 儲;在點(diǎn)擊下拉框時(shí),一個與用戶輸入實(shí)時(shí)體現(xiàn)的地圖將被顯示;進(jìn)行路線選擇時(shí)下拉框 選擇的地理位置相當(dāng)于在地圖上該地理位置點(diǎn)擊,用戶在選擇下拉框定位后再在地圖中點(diǎn) 擊下一個點(diǎn),或者在點(diǎn)擊完地圖后在采用下拉框進(jìn)行選擇。
11.根據(jù)權(quán)利要求10所述的基于時(shí)間位置信息搜索目標(biāo)用戶的方法,其特征在于,選 擇了位置后進(jìn)一步確定視野范圍,以該位置坐標(biāo)中心點(diǎn)為中心,邊長為視野范圍的矩形區(qū) 域,或者是以該位置坐標(biāo)中心點(diǎn)為圓心,半徑為視野范圍的圓形區(qū)域。
12.根據(jù)權(quán)利要求2所述的基于時(shí)間位置信息搜索目標(biāo)用戶的方法,其特征在于,所述 對用戶以輸入的文字方式表示的用戶時(shí)間位置信息進(jìn)行分析時(shí),如果用戶輸入的文字在地 理位置信息中找不到對應(yīng)的信息,則顯示地圖供用戶進(jìn)行查詢。
13.根據(jù)權(quán)利要求2所述的基于時(shí)間位置信息搜索目標(biāo)用戶的方法,其特征在于,所述 對用戶以移動終端定位信息方式表示的用戶時(shí)間位置信息進(jìn)行分析包括對于位置點(diǎn)信息,利用移動終端進(jìn)行GPS定位到地圖上的點(diǎn)來作為用戶時(shí)間位置信 息,定位后還進(jìn)一步進(jìn)行視野范圍的設(shè)置;對于路線信息,先定位一點(diǎn),然后再定位另一點(diǎn),以這兩點(diǎn)確定一條路線,并存儲這兩 點(diǎn)中間點(diǎn)的信息;對于區(qū)域信息,先定位區(qū)域的多個端點(diǎn),然后以該些端點(diǎn)確定一個區(qū)域,并存儲該些端 點(diǎn)的信息。
14.根據(jù)權(quán)利要求13所述的基于時(shí)間位置信息搜索目標(biāo)用戶的方法,其特征在于,所 述對用戶以移動終端定位信息方式表示的用戶時(shí)間位置信息時(shí),進(jìn)一步將其與地圖下拉框 輸入文字相互結(jié)合,先利用定位然后再在地圖上點(diǎn)擊下一點(diǎn),然后再在下拉框中輸入另一 點(diǎn)的信息。
15.根據(jù)權(quán)利要求13所述的基于時(shí)間位置信息搜索目標(biāo)用戶的方法,其特征在于,所 述用戶以移動終端定位信息方式表示用戶時(shí)間位置信息時(shí),移動終端定位信息是通過以下 方式獲取的移動終端采用運(yùn)動模式的輸入,用戶無需操作,基于時(shí)間位置信息搜索目標(biāo)用戶的系 統(tǒng)自動每隔一段距離根據(jù)閾值采集一個坐標(biāo)點(diǎn),作為移動終端定位信息。
16.根據(jù)權(quán)利要求1所述的基于時(shí)間位置信息搜索目標(biāo)用戶的方法,其特征在于,所述 時(shí)間位置信息包括地理坐標(biāo)信息和時(shí)間段信息,所述獲取所有用戶的時(shí)間位置信息是獲取 所有用戶的地理坐標(biāo)信息和時(shí)間段信息。
17.根據(jù)權(quán)利要求1所述的基于時(shí)間位置信息搜索目標(biāo)用戶的方法,其特征在于,所述 時(shí)間位置信息進(jìn)一步與地圖中的地理坐標(biāo)數(shù)據(jù)相結(jié)合,或者與地點(diǎn)位置間的路徑數(shù)據(jù)相結(jié)合。
18.根據(jù)權(quán)利要求1所述的基于時(shí)間位置信息搜索目標(biāo)用戶的方法,其特征在于,所述 接收搜索發(fā)起用戶提供的待搜索的時(shí)間位置信息包括接收搜索發(fā)起用戶點(diǎn)擊地圖輸入的地理坐標(biāo)信息; 接收搜索發(fā)起用戶點(diǎn)擊下拉框輸入的下拉框信息; 接收搜索發(fā)起用戶文字輸入的文字信息;以及 接收搜索發(fā)起用戶移動終端GPS定位的地理坐標(biāo)信息。
19.根據(jù)權(quán)利要求18所述的基于時(shí)間位置信息搜索目標(biāo)用戶的方法,其特征在于,所 述接收搜索發(fā)起用戶文字輸入的文字信息包括接收搜索發(fā)起用戶提供的某一點(diǎn)的地理坐標(biāo); 接收搜索發(fā)起用戶提供的某條折線段的多個點(diǎn)的地理坐標(biāo); 接收搜索發(fā)起用戶提供的某個區(qū)域頂點(diǎn)的地理坐標(biāo);以及 接收搜索發(fā)起用戶提供的某個圓區(qū)域圓心的地理坐標(biāo)及其半徑。
20.根據(jù)權(quán)利要求1所述的基于時(shí)間位置信息搜索目標(biāo)用戶的方法,其特征在于,所述 接收搜索發(fā)起用戶提供的待搜索的時(shí)間位置信息后進(jìn)一步包括判斷接收的搜索發(fā)起用戶提供的待搜索的時(shí)間位置信息的數(shù)據(jù)格式與存儲的所有用 戶的時(shí)間位置信息的數(shù)據(jù)格式是否相同,如果不同,則將待搜索的時(shí)間位置信息轉(zhuǎn)換為與 所有用戶的時(shí)間位置信息數(shù)據(jù)格式相同的時(shí)間位置數(shù)據(jù)。
21.根據(jù)權(quán)利要求1所述的基于時(shí)間位置信息搜索目標(biāo)用戶的方法,其特征在于,所述 將該待搜索的時(shí)間位置信息與存儲的所有用戶的時(shí)間位置信息進(jìn)行匹配包括計(jì)算該待搜索的時(shí)間位置信息與存儲的所有用戶的時(shí)間位置信息中的時(shí)間位置信息 是否重合、包含或相交,如果是重合、包含或相交,則匹配成功;若搜索發(fā)起用戶輸入的搜索條件為點(diǎn)信息,則計(jì)算時(shí)間重合度;若輸入的為線信息,則 計(jì)算線重合度與時(shí)間重合度,且取其中較小的重合度為排序比例;若輸入的為區(qū)域信息,則 計(jì)算區(qū)域重合度與時(shí)間重合度,且取其中較小的一個作為排序比例;其中重合度就是重合 的部分占搜索發(fā)起輸入部分的比例以及重合的部分占被搜索的用戶部分的比例,取這兩比 例中較小的一個作為重合度。
22.根據(jù)權(quán)利要求1所述的基于時(shí)間位置信息搜索目標(biāo)用戶的方法,其特征在于,所述 顯示匹配成功的目標(biāo)用戶信息包括若搜索發(fā)起用戶輸入的時(shí)間位置信息為位置點(diǎn)信息,則首先顯示與該位置點(diǎn)重合的用 戶信息,然后再顯示與該位置點(diǎn)相交的線段的用戶信息,以及與該位置點(diǎn)相交的區(qū)域的用 戶信息,若與點(diǎn)或線段或區(qū)域相交的用戶信息有多個,則按時(shí)間的重合比例由大到小的順 序進(jìn)行排序并顯示;若搜索發(fā)起用戶輸入的時(shí)間位置信息為路線信息,則計(jì)算搜索發(fā)起用戶的路線長度與 數(shù)據(jù)庫中路線長度重合部分占兩個長度比例中最小的一個;兩條路線的長度由各線段坐標(biāo) 點(diǎn)之間的距離之和得出,當(dāng)計(jì)算線段相交時(shí),計(jì)算結(jié)果為重合的則計(jì)算兩條線段的長度并 取最短的一條線段長度作為重合長度,然后將所有重合長度相加即得重合部分路線長度; 然后計(jì)算時(shí)間長度重合比例,然后取兩個比例中路線長度的重合比例與時(shí)間長度重合比例 最小的一個作為最終排序的比例,然后按該比例的由大到小排序進(jìn)行顯示;若搜索發(fā)起用戶輸入的時(shí)間位置信息為區(qū)域信息,則計(jì)算區(qū)域面積重合比例;若兩個 區(qū)域中都為多邊形相交,則以其中任意窗口為裁剪窗口計(jì)算相交的區(qū)域,然后計(jì)算該區(qū)域 的面積,計(jì)算相交的區(qū)域占該搜索發(fā)起用戶區(qū)域與該區(qū)域比例最小的一個,若兩個區(qū)域相 互包含,則比例為被包含的區(qū)域占包含它的區(qū)域的比例。
23.一種基于時(shí)間位置信息搜索目標(biāo)用戶的系統(tǒng),其特征在于,該系統(tǒng)包括時(shí)間位置分 析器、時(shí)間位置索引器和時(shí)間位置搜索器,其中時(shí)間位置分析器,用于對表示用戶時(shí)間位置的信息進(jìn)行分析,獲取所有用戶的時(shí)間位 置信息,并輸出給所述時(shí)間位置索引器;時(shí)間位置索引器,用于接收并存儲所述時(shí)間位置分析器輸入的所有用戶的時(shí)間位置信息;時(shí)間位置搜索器,用于接收搜索發(fā)起用戶輸入的待搜索的時(shí)間位置信息,并將該待搜 索的時(shí)間位置信息與所述時(shí)間位置索引器中存儲的所有用戶的時(shí)間位置信息進(jìn)行匹配,顯 示匹配成功的目標(biāo)用戶信息。
24.根據(jù)權(quán)利要求23所述的基于時(shí)間位置信息搜索目標(biāo)用戶的系統(tǒng),其特征在于,所 述時(shí)間位置分析器包括獲取模塊、計(jì)算模塊和發(fā)送模塊,其中獲取模塊,用于對表示用戶時(shí)間位置的信息進(jìn)行分析,獲取所有用戶的時(shí)間位置信息 并輸出給所述計(jì)算模塊,其中該表示用戶時(shí)間位置的信息由各用戶在登錄網(wǎng)絡(luò)時(shí)輸入;計(jì)算模塊,用于分析計(jì)算該時(shí)間位置信息是否符合要求,將符合要求的時(shí)間位置信息 輸出給所述發(fā)送模塊;發(fā)送模塊,用于將該符合要求的時(shí)間位置信息發(fā)送給所述時(shí)間位置索引器。
25.根據(jù)權(quán)利要求M所述的基于時(shí)間位置信息搜索目標(biāo)用戶的系統(tǒng),其特征在于,所 述獲取模塊獲取的表示用戶時(shí)間位置的信息包括用戶輸入的地理坐標(biāo)信息和時(shí)間段信息, 其中用戶輸入的地理坐標(biāo)信息包括用戶點(diǎn)擊地圖輸入的地理坐標(biāo)信息; 用戶點(diǎn)擊下拉框輸入的下拉框信息; 用戶文字輸入的文字信息;以及 用戶移動終端GPS定位的地理坐標(biāo)信息。
26.根據(jù)權(quán)利要求25所述的基于時(shí)間位置信息搜索目標(biāo)用戶的系統(tǒng),其特征在于,所 述用戶文字輸入的文字信息包括用戶提供的某一點(diǎn)的地理坐標(biāo);用戶提供的某條折線段的多個點(diǎn)的地理坐標(biāo);用戶提供的某個區(qū)域頂點(diǎn)的地理坐標(biāo);以及用戶提供的某個圓區(qū)域圓心的地理坐標(biāo)及其半徑。
27.根據(jù)權(quán)利要求M所述的基于時(shí)間位置信息搜索目標(biāo)用戶的系統(tǒng),其特征在于,所 述計(jì)算模塊在分析計(jì)算該時(shí)間位置信息是否符合要求時(shí),對輸入的路線以及其時(shí)間段做運(yùn) 算,以計(jì)算其速度,然后設(shè)定一閾值,計(jì)算出的速度大于該閾值的則認(rèn)為不符合要求,所述 計(jì)算模塊包括判斷子單元、第一計(jì)算子單元和第二計(jì)算子單元,其中判斷子單元,用于判斷用戶輸入的時(shí)間位置信息是點(diǎn)的信息、線的信息或區(qū)域的信息;第一計(jì)算子單元,對于點(diǎn)的信息記錄該點(diǎn)地理坐標(biāo),對于線的信息計(jì)算每一折線段端 點(diǎn)地理坐標(biāo),對于區(qū)域的信息計(jì)算該區(qū)域頂點(diǎn)的地理坐標(biāo);第二計(jì)算子單元,用于將輸入的線的信息與時(shí)間段信息做速度計(jì)算,并將速度符合要 求的輸出給發(fā)送模塊。
28.根據(jù)權(quán)利要求27所述的基于時(shí)間位置信息搜索目標(biāo)用戶的系統(tǒng),其特征在于,所 述第二計(jì)算單元進(jìn)一步用于判斷用戶輸入信息的是否為隨意輸入信息,在判斷用戶輸入信 息的是否為隨意輸入信息時(shí),所述第二計(jì)算單元將用戶輸入的信息與數(shù)據(jù)庫中在時(shí)間及區(qū) 域均不重合的用戶之前輸入的信息進(jìn)行對比,對比方式為計(jì)算用戶輸入?yún)^(qū)域或路線或點(diǎn) 與數(shù)據(jù)庫中提取出來的區(qū)域或路線或點(diǎn)的最近距離,然后將該最近距離除以兩用戶輸入的 時(shí)間信息計(jì)算出來的時(shí)間間隔,然后設(shè)定一閾值,大于該閾值的則認(rèn)為是隨意輸入的信息, 返回不符合要求;小于或等于該閾值的則認(rèn)為不是隨意輸入的信息,存儲在數(shù)據(jù)庫中。
29.根據(jù)權(quán)利要求M所述的基于時(shí)間位置信息搜索目標(biāo)用戶的系統(tǒng),其特征在于,所 述時(shí)間位置搜索器包括接收模塊、匹配模塊和顯示模塊,其中接收模塊,用于接收搜索發(fā)起用戶輸入的時(shí)間位置信息,并將該時(shí)間位置信息轉(zhuǎn)換為 與所述時(shí)間位置索引器中存儲的數(shù)據(jù)格式相同的時(shí)間位置數(shù)據(jù);匹配模塊,用于查詢所述時(shí)間位置索引器中存儲的所有用戶的時(shí)間位置信息,將該待 搜索的時(shí)間位置信息與所述時(shí)間位置索引器中存儲的所有用戶的時(shí)間位置信息進(jìn)行匹配, 判斷搜索發(fā)起用戶輸入的時(shí)間位置信息與所有用戶時(shí)間位置信息中的時(shí)間位置信息是否 重合、包含或相交,如果是重合、包含或相交,則匹配成功;顯示模塊,用于顯示匹配成功的目標(biāo)用戶信息。
30.根據(jù)權(quán)利要求四所述的基于時(shí)間位置信息搜索目標(biāo)用戶的系統(tǒng),其特征在于,所 述匹配模塊在將該待搜索的時(shí)間位置信息與所述時(shí)間位置索引器中存儲的所有用戶的時(shí) 間位置信息進(jìn)行匹配時(shí),計(jì)算該待搜索的時(shí)間位置信息與存儲的所有用戶的時(shí)間位置信息 中的時(shí)間位置信息是否重合、包含或相交,若搜索發(fā)起用戶輸入的搜索條件為點(diǎn)信息,則計(jì) 算時(shí)間重合度;若輸入的為線信息,則計(jì)算線重合度與時(shí)間重合度,且取其中較小的重合度 為排序比例;若輸入的為區(qū)域信息,則計(jì)算區(qū)域重合度與時(shí)間重合度,且取其中較小的一個 作為排序比例;其中重合度就是重合的部分占搜索發(fā)起輸入部分的比例以及重合的部分占 被搜索的用戶部分的比例,取這兩比例中較小的一個作為重合度;所述顯示模塊取時(shí)間重合度與路線重合度或區(qū)域重合度中最小的一個作為排序比例,顯示結(jié)果按排序比例由大到小依次排列。
全文摘要
本發(fā)明公開了一種基于時(shí)間位置信息搜索目標(biāo)用戶的方法,包括對表示用戶時(shí)間位置的信息進(jìn)行分析,獲取所有用戶的時(shí)間位置信息,并進(jìn)行存儲;接收搜索發(fā)起用戶提供的待搜索的時(shí)間位置信息,將該待搜索的時(shí)間位置信息與存儲的所有用戶的時(shí)間位置信息進(jìn)行匹配;顯示匹配成功的目標(biāo)用戶信息。本發(fā)明同時(shí)公開了一種基于時(shí)間位置信息搜索目標(biāo)用戶的系統(tǒng)。利用本發(fā)明,搜索發(fā)起用戶可以在地圖上或者是其他方式映射到地圖上的的區(qū)域、路線或具體地點(diǎn)來進(jìn)行選擇輸入,避免了需要查詢包含的每一地點(diǎn)的手動操作,進(jìn)而使得搜索發(fā)起用戶只需一次性的輸入就能夠準(zhǔn)確迅速地搜索到所需的目標(biāo)用戶信息,大大節(jié)省了搜索時(shí)間。
文檔編號G06F17/30GK102033918SQ20101058340
公開日2011年4月27日 申請日期2010年12月7日 優(yōu)先權(quán)日2010年12月7日
發(fā)明者吳昌澍, 夏丹寧 申請人:武漢若魚網(wǎng)絡(luò)科技有限公司