專利名稱:一種獲取車輛精確地理位置的服務(wù)系統(tǒng)及其獲取方法
技術(shù)領(lǐng)域:
本發(fā)明一種獲取車輛精確地理位置的服務(wù)系統(tǒng)及其獲取方法涉及地圖數(shù)據(jù)和反向地理位置編碼在企業(yè)中的應(yīng)用,尤其是一種利用Maphfo數(shù)據(jù)、Oracle Spatial數(shù)據(jù)庫在企業(yè)中建立精確車輛地理位置信息查詢的方法。
背景技術(shù):
隨著提供車輛管控服務(wù)的企業(yè)中各平臺(tái)入網(wǎng)用戶的增多,越來越多的用戶希望看到車輛行駛時(shí)精確的地理位置信息,而目前已有平臺(tái)管理系統(tǒng)只能提供具體到省、市區(qū)的位置,而不能精確到具體的道路或者酒店大廈附近,因而客戶的相關(guān)需求就不能得到滿足, 平臺(tái)管理系統(tǒng)也缺乏競(jìng)爭性。隨著企業(yè)業(yè)務(wù)的不斷拓展,獲取車輛精確行駛地理位置的需求被越來越多的用戶提及,但是我公司目前只能利用傳統(tǒng)的調(diào)用第三方地圖服務(wù)API的方案,提供具體省市區(qū)位置的地理信息,要想獲取更加詳細(xì)的地理位置信息,只能利用google提供的相關(guān)地理位置查詢服務(wù),但是目前google提供的服務(wù)對(duì)每天的請(qǐng)求次數(shù)有顯示,而不能滿足我公司大量請(qǐng)求位置信息的需求,并且擴(kuò)展性也比較差,只能請(qǐng)求省市區(qū)道路相關(guān)信息,而不能請(qǐng)求比如行政部編碼和道路級(jí)別等符合我公司客戶要求的信息,基于以上原因,開發(fā)出滿足企業(yè)要求的實(shí)時(shí)地理位置請(qǐng)求服務(wù)就顯得尤為重要。
發(fā)明內(nèi)容
本發(fā)明一種獲取車輛精確地理位置的服務(wù)系統(tǒng)及其獲取方法的目的是針對(duì)上述不足之處提供一種利用Maphfo數(shù)據(jù)、Oracle Spatial數(shù)據(jù)庫在企業(yè)中建立精確車輛地理位置信息查詢服務(wù)系統(tǒng)及其方法。具有效率更高,數(shù)據(jù)更加準(zhǔn)確的特點(diǎn)。一種獲取車輛精確地理位置的服務(wù)系統(tǒng)及其獲取方法是采取以下技術(shù)方案實(shí)現(xiàn)的一種獲取車輛精確地理位置的服務(wù)系統(tǒng)包括服務(wù)器和數(shù)據(jù)庫服務(wù)器,在服務(wù)器上安裝有操作系統(tǒng)、Maphfo地理信息系統(tǒng)模塊和Oracle IOg (包含Oracle Spatial模塊)數(shù)據(jù)庫,在數(shù)據(jù)庫服務(wù)器上安裝有Oracle Spatial模塊。所述的操作系統(tǒng)為windows server 2003操作系統(tǒng)。獲取車輛地理位置的服務(wù)也可稱為逆地理編碼逆地理編碼過程通常是根據(jù)指定的地理坐標(biāo),從空間數(shù)據(jù)庫中分別查詢出該坐標(biāo)所在的城市名稱、區(qū)域名稱、街道名稱以及附近的地標(biāo),然后把這些信息組合成一個(gè)完整的地址描述。一種獲取車輛精確地理位置的服務(wù)系統(tǒng)在運(yùn)行時(shí),根據(jù)指定的地理坐標(biāo),從 Oracle Spatial模塊空間數(shù)據(jù)庫中分別查詢出該坐標(biāo)所在的城市名稱、區(qū)域名稱、街道名稱以及附近的地標(biāo),然后把這些信息組合成一個(gè)完整的地址描述。加載文本格式的省市區(qū)區(qū)域信息,通過調(diào)用Window API函數(shù)創(chuàng)建省市區(qū)地圖,并加載地物、道路地圖數(shù)據(jù),然后在此基礎(chǔ)上分別查詢所在的城市名稱,行政編碼、最近的地物名稱、最近的道路名稱,再根據(jù)具體的查詢類型將這些結(jié)果組合一個(gè)完整的地址描述返回給用戶。
本發(fā)明一種獲取車輛精確地理位置的方法包括以下步驟
1)首先在數(shù)據(jù)庫服務(wù)器上安裝Oracle 10g,其中包含Oracle Spatial模塊;然后用 MapInfo地理信息系統(tǒng)模塊倒入地圖數(shù)據(jù),利用MapX (MapX是Maphfo公司向用戶提供的具有強(qiáng)大地圖分析功能的ActiveX控件產(chǎn)品)提供的Oracle Spatial工具,將地圖數(shù)據(jù)倒入Oracle Spatial中,同時(shí)用Maphfo導(dǎo)出地圖數(shù)據(jù)以及省市區(qū)區(qū)域信息,以文本txt文件形式保存。2) MapInfo地理信息系統(tǒng)模塊根據(jù)車載終端GPS所上傳的地理坐標(biāo),讀取全國各省區(qū)域數(shù)據(jù),調(diào)用Window API函數(shù)循環(huán)判斷GPS點(diǎn)所在的多邊形范圍,并保存所位于多邊形的省名稱信息;
3)Maphf0地理信息系統(tǒng)模塊根據(jù)步驟1所獲得的省名稱信息,在該省范圍內(nèi)調(diào)用 Windows API函數(shù)查找GPS點(diǎn)所在的多邊形范圍,并保存所位于多邊形的市名稱;
4)根據(jù)步驟2所獲得的市名稱信息,在該市范圍內(nèi)調(diào)用WindowsAPI函數(shù)查找GPS點(diǎn)所在的多邊形范圍,并保存所位于多邊形的區(qū)/縣名稱,以及區(qū)/縣的行政編碼;如果只需獲得GPS點(diǎn)所位于的城市名稱或區(qū)/縣行政編碼,則停止查詢直接返回結(jié)果給用戶,否則如果需要查詢最近的地物則轉(zhuǎn)到步驟4,如果需要查詢最近的道路則轉(zhuǎn)到步驟5 ;
5)根據(jù)步驟3所獲得的區(qū)/縣行政編碼,在該區(qū)范圍內(nèi)通過比較GPS點(diǎn)與該區(qū)范圍內(nèi)所有點(diǎn)的距離來查找到里該GPS點(diǎn)最近的地物,保存地物名稱信息,并結(jié)束查詢且返回結(jié)果給用戶;
6)根據(jù)步驟3所獲得的區(qū)/縣行政編碼,在該區(qū)范圍內(nèi)利用比較距離的方式或查詢 Oracle Spatial數(shù)據(jù)庫的方式查找離該GPS點(diǎn)最近的道路,保存道路名稱或道路等級(jí)信息,并結(jié)束查詢且返回結(jié)果給用戶??梢愿鶕?jù)用戶的需要將以上述步驟中的Maphfo地理信息系統(tǒng)模塊和功能封裝成DLL控件和Http服務(wù)器模塊。步驟1)中所述的地理坐標(biāo)是十進(jìn)制的經(jīng)緯度數(shù)據(jù)。MapInfo地理信息系統(tǒng)模塊提供2種數(shù)據(jù)讀取方式,從txt文件讀取方式和從 Oracle Spatial數(shù)據(jù)庫讀取方式。本發(fā)明通過調(diào)用Window API函數(shù)創(chuàng)建省市區(qū)地圖,并加載地物、道路地圖數(shù)據(jù), 然后在此基礎(chǔ)上分別查詢所在的城市名稱,行政編碼、最近的地物名稱、最近的道路名稱, 再根據(jù)具體的查詢類型將這些結(jié)果組合一個(gè)完整的地址描述返回給用戶。利用數(shù)據(jù)庫 OraclelOg中的核心模塊Oracle Spatial來存儲(chǔ)Maphfo格式的地圖數(shù)據(jù),并在Visual Studio 2005開發(fā)環(huán)境下利用C#實(shí)現(xiàn)了逆地理編碼算法,并封裝成DLL控件,以及Http服務(wù)器調(diào)用web API供其它程序調(diào)用
實(shí)現(xiàn)方案。本發(fā)明的調(diào)用方法實(shí)時(shí)性高,每秒鐘至少能相應(yīng)請(qǐng)求超過100次,其擴(kuò)展性也比傳統(tǒng)的方案好,除能請(qǐng)求車輛省市區(qū)道路相關(guān)位置信息外,還能請(qǐng)求到地區(qū)行政編碼、 道路等級(jí)等擴(kuò)展信息;該可以在較短時(shí)間內(nèi)可兼容其他家地圖公司提供的地圖數(shù)據(jù)。
以下將結(jié)合附圖對(duì)本發(fā)明作進(jìn)一步說明
圖1是本發(fā)明的獲取車輛精確地理位置的獲取方法流程圖。
具體實(shí)施例方式參照附圖1,一種獲取車輛精確地理位置的服務(wù)系統(tǒng)包括服務(wù)器和數(shù)據(jù)庫服務(wù)器,在服務(wù)器上安裝有操作系統(tǒng)、MapInfo地理信息系統(tǒng)模塊和Oracle IOg (包含Oracle Spatial模塊)數(shù)據(jù)庫,在數(shù)據(jù)庫服務(wù)器上安裝有Oracle Spatial模塊。所述的操作系統(tǒng)為windows server 2003操作系統(tǒng)。本發(fā)明一種獲取車輛精確地理位置的方法包括以下步驟
1)首先在數(shù)據(jù)庫服務(wù)器上安裝Oracle 10g,其中包含Oracle Spatial模塊;然后用 MapInfo地理信息系統(tǒng)模塊倒入地圖數(shù)據(jù),利用MapX (MapX是Maphfo公司向用戶提供的具有強(qiáng)大地圖分析功能的ActiveX控件產(chǎn)品)提供的Oracle Spatial工具,將地圖數(shù)據(jù)倒入Oracle Spatial中,同時(shí)用Maphfo導(dǎo)出地圖數(shù)據(jù)以及省市區(qū)區(qū)域信息,以文本txt文件形式保存。2) MapInfo地理信息系統(tǒng)模塊根據(jù)車載終端GPS所上傳的地理坐標(biāo),讀取全國各省區(qū)域數(shù)據(jù),調(diào)用Window API函數(shù)循環(huán)判斷GPS點(diǎn)所在的多邊形范圍,并保存所位于多邊形的省名稱信息;
3)Maphf0地理信息系統(tǒng)模塊根據(jù)步驟1所獲得的省名稱信息,在該省范圍內(nèi)調(diào)用 Windows API函數(shù)查找GPS點(diǎn)所在的多邊形范圍,并保存所位于多邊形的市名稱;
4)根據(jù)步驟2所獲得的市名稱信息,在該市范圍內(nèi)調(diào)用WindowsAPI函數(shù)查找GPS點(diǎn)所在的多邊形范圍,并保存所位于多邊形的區(qū)/縣名稱,以及區(qū)/縣的行政編碼;如果只需獲得GPS點(diǎn)所位于的城市名稱或區(qū)/縣行政編碼,則停止查詢直接返回結(jié)果給用戶,否則如果需要查詢最近的地物則轉(zhuǎn)到步驟4,如果需要查詢最近的道路則轉(zhuǎn)到步驟5 ;
5)根據(jù)步驟3所獲得的區(qū)/縣行政編碼,在該區(qū)范圍內(nèi)通過比較GPS點(diǎn)與該區(qū)范圍內(nèi)所有點(diǎn)的距離來查找到里該GPS點(diǎn)最近的地物,保存地物名稱信息,并結(jié)束查詢且返回結(jié)果給用戶;
6)根據(jù)步驟3所獲得的區(qū)/縣行政編碼,在該區(qū)范圍內(nèi)利用比較距離的方式或查詢 Oracle Spatial數(shù)據(jù)庫的方式查找離該GPS點(diǎn)最近的道路,保存道路名稱或道路等級(jí)信息,并結(jié)束查詢且返回結(jié)果給用戶??梢愿鶕?jù)用戶的需要將以上述步驟中的Maphfo地理信息系統(tǒng)模塊封裝成DLL控件和Http服務(wù)器模塊。步驟1)中所述的地理坐標(biāo)是十進(jìn)制的經(jīng)緯度數(shù)據(jù)。MapInfo地理信息系統(tǒng)模塊提供2種數(shù)據(jù)讀取方式,從txt文件讀取方式和從 Oracle Spatial數(shù)據(jù)庫讀取方式。
權(quán)利要求
1.一種獲取車輛精確地理位置的服務(wù)系統(tǒng),其特征在于包括服務(wù)器和數(shù)據(jù)庫服務(wù)器,在服務(wù)器上安裝有操作系統(tǒng)、Maphfo地理信息系統(tǒng)模塊和Oracle IOg數(shù)據(jù)庫,在數(shù)據(jù)庫服務(wù)器上安裝有Oracle Spatial模塊。
2.根據(jù)權(quán)利要求1所述的一種獲取車輛精確地理位置的服務(wù)系統(tǒng),其特征在于,所述的操作系統(tǒng)為windows server 2003操作系統(tǒng)。
3.權(quán)利要求1或2所述的一種獲取車輛精確地理位置的服務(wù)系統(tǒng)的獲取車輛精確地理位置的方法,其特征在于,包括以下步驟1)首先在數(shù)據(jù)庫服務(wù)器上安裝Oracle10g,其中包含Oracle Spatial模塊;然后用 MapInfo地理信息系統(tǒng)模塊倒入地圖數(shù)據(jù),利用MapX提供的Oracle Spatial工具,將地圖數(shù)據(jù)倒入Oracle Spatial中,同時(shí)用Maphfo導(dǎo)出地圖數(shù)據(jù)以及省市區(qū)區(qū)域信息,以文本 txt文件形式保存;2)MapInfo地理信息系統(tǒng)模塊根據(jù)車載終端GPS所上傳的地理坐標(biāo),讀取全國各省區(qū)域數(shù)據(jù),調(diào)用Window API函數(shù)循環(huán)判斷GPS點(diǎn)所在的多邊形范圍,并保存所位于多邊形的省名稱信息;3)Maphf0地理信息系統(tǒng)模塊根據(jù)步驟1所獲得的省名稱信息,在該省范圍內(nèi)調(diào)用 Windows API函數(shù)查找GPS點(diǎn)所在的多邊形范圍,并保存所位于多邊形的市名稱;4)根據(jù)步驟2所獲得的市名稱信息,在該市范圍內(nèi)調(diào)用WindowsAPI函數(shù)查找GPS點(diǎn)所在的多邊形范圍,并保存所位于多邊形的區(qū)/縣名稱,以及區(qū)/縣的行政編碼;如果只需獲得GPS點(diǎn)所位于的城市名稱或區(qū)/縣行政編碼,則停止查詢直接返回結(jié)果給用戶,否則如果需要查詢最近的地物則轉(zhuǎn)到步驟4,如果需要查詢最近的道路則轉(zhuǎn)到步驟5 ;5)根據(jù)步驟3所獲得的區(qū)/縣行政編碼,在該區(qū)范圍內(nèi)通過比較GPS點(diǎn)與該區(qū)范圍內(nèi)所有點(diǎn)的距離來查找到里該GPS點(diǎn)最近的地物,保存地物名稱信息,并結(jié)束查詢且返回結(jié)果給用戶;6)根據(jù)步驟3所獲得的區(qū)/縣行政編碼,在該區(qū)范圍內(nèi)利用比較距離的方式或查詢 Oracle Spatial數(shù)據(jù)庫的方式查找離該GPS點(diǎn)最近的道路,保存道路名稱或道路等級(jí)信息,并結(jié)束查詢且返回結(jié)果給用戶。
4.根據(jù)權(quán)利要求3所述的獲取車輛精確地理位置的方法,其特征在于,將以上述步驟中的Maphfo地理信息系統(tǒng)模塊封裝成DLL控件和Http服務(wù)器模塊。
5.根據(jù)權(quán)利要求3所述的獲取車輛精確地理位置的方法,其特征在于,步驟1)中所述的地理坐標(biāo)是十進(jìn)制的經(jīng)緯度數(shù)據(jù)。
6.根據(jù)權(quán)利要求3所述的獲取車輛精確地理位置的方法,其特征在于,Maphfo地理信息系統(tǒng)模塊提供2種數(shù)據(jù)讀取方式,從txt文件讀取方式和從Oracle Spatial數(shù)據(jù)庫讀取方式。
全文摘要
本發(fā)明一種獲取車輛精確地理位置的服務(wù)系統(tǒng)及其獲取方法涉及地圖數(shù)據(jù)和反向地理位置編碼在企業(yè)中的應(yīng)用,尤其是一種利用MapInfo數(shù)據(jù)、OracleSpatial數(shù)據(jù)庫在企業(yè)中建立精確車輛地理位置信息查詢的方法。在服務(wù)器上安裝有操作系統(tǒng)、MapInfo地理信息系統(tǒng)模塊和Oracle10g數(shù)據(jù)庫,在數(shù)據(jù)庫服務(wù)器上安裝OracleSpatial模塊。獲取方法步驟在服務(wù)器上安裝所需模塊、數(shù)據(jù)并保存;根據(jù)車載終端上傳坐標(biāo),讀取數(shù)據(jù),調(diào)用函數(shù)判斷并保存信息;根據(jù)步1信息,調(diào)用函數(shù)查找并保存;根據(jù)步2所獲信息,調(diào)用函數(shù)查找并保存;根據(jù)步3所獲信息結(jié)束查詢且返回結(jié)果;根據(jù)步3所獲信息查詢、返回結(jié)果。
文檔編號(hào)G06F17/30GK102426584SQ201110309368
公開日2012年4月25日 申請(qǐng)日期2011年10月13日 優(yōu)先權(quán)日2011年10月13日
發(fā)明者嚴(yán)玉華, 劉琨, 周翔, 張向華, 樊建, 薛揚(yáng), 陳智也, 陳進(jìn), 魏大利 申請(qǐng)人:天澤信息產(chǎn)業(yè)股份有限公司