一種離線的逆地理編碼的方法及其裝置和終端設備的制造方法
【技術領域】
[0001]本發明涉及電子地圖領域,尤其涉及一種離線的逆地理編碼的方法及其裝置和終端設備。
【背景技術】
[0002]目前,在終端設備(如手機、導航儀等)上,確定一經緯度坐標對應的地理位置描述信息(如該經緯度坐標所在的省、市、區等描述信息,具體的例子如“湖北省武漢市武昌區”)時,需要將該經緯度坐標上傳到服務器端進行逆地理編碼。服務器端按照設定的逆地理編碼算法對上傳的經緯度坐標進行逆地理編碼,并將逆地理編碼結果反饋給所述終端設備。再由終端設備對該逆地理編碼結果進行解析,并展現給用戶。
[0003]由于逆地理編碼需要通過服務器端完成,因此,逆地理編碼能否成功在很大程度上依賴于聯網的成功,若無法聯網或者網絡擁堵將導致逆地理編碼失敗,且在終端設備與服務器端之間通過網絡交互,即使能夠成功進行逆地理編碼,也會耗費一定的時延。
【發明內容】
[0004]針對現有技術中,對經緯度坐標進行逆地理編碼需要通過服務器端完成,對網絡依賴較大,從而導致終端設備無法聯網時無法完成逆地理編碼的技術問題。
[0005]一種離線的逆地理編碼的方法,包括:
[0006]接收攜帶有經緯度坐標的逆地理編碼請求;
[0007]從預置的組成電子地圖的地理區域塊中,確定出包含所述經緯度坐標的地理區域塊;
[0008]獲取確定出的地理區域塊對應的城市代碼;
[0009]判斷獲取到的城市代碼是否為一個,若是,則從預置的城市代碼與地理位置描述信息的對應關系中,查找與所述城市代碼對應的地理位置描述信息;若否,則獲取所述城市代碼對應的多邊形數據,計算出多邊形數據描述的多邊形中包含所述經緯度坐標的多邊形,并從預置的所述城市代碼與地理位置描述信息的對應關系中,查找描述該包含所述經緯度坐標的多邊形的多邊形數據的城市代碼對應的地理位置信息;
[0010]將查找到的地理位置信息作為所述經緯度坐標對應的逆地理編碼結果。
[0011]一種離線的逆地理編碼的裝置,包括:
[0012]逆地理編碼請求接收單元,用于接收攜帶有經緯度坐標的逆地理編碼請求;
[0013]地理區域塊確定單元,用于從預置的組成電子地圖的地理區域塊中,確定出包含所述經緯度坐標的地理區域塊;
[0014]城市代碼獲取單元,用于獲取確定出的地理區域塊對應的城市代碼;
[0015]判斷單元,判斷獲取到的城市代碼是否為一個,若是則觸發第一地理位置描述信息查找單元,若否則觸發第二地理位置描述信息查找單元;
[0016]第一地理位置描述信息查找單元,用于從預置的城市代碼與地理位置描述信息的對應關系中,查找與所述城市代碼對應的地理位置描述信息;
[0017]第二地理位置描述信息查找單元,用于獲取所述城市代碼對應的多邊形數據,計算出多邊形數據描述的多邊形中包含所述經緯度坐標的多邊形,從預置的所述城市代碼與地理位置描述信息的對應關系中,查找描述該包含所述經緯度坐標的多邊形的多邊形數據的城市代碼對應的地理位置信息;
[0018]逆地理編碼單元,用于將查找到的地理位置信息作為所述經緯度坐標對應的逆地理編碼結果。
[0019]一種終端設備,包括前述離線的逆地理編碼的裝置。
[0020]本發明技術方案,預先將電子地圖劃分成多個地理區域塊,且每個地理區域塊對應于至少一個城市代碼,每個城市代碼對應有其指示的城市的多邊形數據以及對應的地理位置描述信息;當接收到攜帶有經緯度坐標的逆地理編碼請求時,確定出包含該經緯度坐標的地理區域塊,并獲取該地理區域塊對應的城市代碼;當獲取的城市代碼為一個時,將該城市代碼對應的地理位置描述信息作為所述經緯度坐標對應的逆地理編碼結果;當獲取的城市代碼為多個時,需要從該多個城市代碼中確定出一個對應的多邊形數據描述的多邊形包含所述經緯度坐標的城市代碼,并將該城市代碼對應的地理位置描述信息作為所述經緯度坐標對應的逆地理編碼結果。采用本發明技術方案,只要在終端設備存儲了組成電子地圖的各地理區域塊對應的城市代碼,以及各城市代碼對應的多邊形數據以及地理位置描述信息,即可在接收到攜帶有經緯度坐標的逆地理編碼請求時,在終端設備本地進行逆地理編碼,得到該經緯度坐標的地理位置描述信息;在終端設備本地實現逆地理編碼,不需要聯網即可實現逆地理編碼,提高逆地理編碼的速度,并且避免了網絡掉線或網絡擁堵等情況導致逆地理編碼失敗的問題,因此,采用本發明技術方案能夠提高逆地理編碼的速度和成功率。
【附圖說明】
[0021]圖1為本發明實施例中一種離線的逆地理編碼的方法流程圖;
[0022]圖1A為本發明實施例中城市代碼與地理位置描述信息的對應關系示意圖;
[0023]圖1B為本發明實施例中地理區域塊對應的geohash值與該地理區域塊隸屬城市的城市代碼的對應關系示意圖;
[0024]圖1C為本發明實施例中對纟韋度進行編碼的不意圖;
[0025]圖1D為本發明實施例中對經度進行編碼的示意圖;
[0026]圖1E為本發明實施例中城市代碼與其所示城市的多邊形數據的對應關系的示意圖;
[0027]圖2為本發明實施例中一種離線的逆地理編碼的裝置結構示意圖。
【具體實施方式】
[0028]參見圖1,為本發明實施例中提供的一種離線的逆地理編碼的方法流程圖,該方法應用于終端設備,該方法包括:
[0029]步驟101、接收攜帶有經緯度坐標的逆地理編碼請求。
[0030]步驟102、從預置的組成電子地圖的地理區域塊中,確定出包含所述經緯度坐標的地理區域塊。
[0031]本發明實施例中,預先將電子地圖劃分成多個地理區域塊,該地理區域塊可以是相同尺寸的矩形、正方形,也可以是針對不同的省市劃分的地理區域塊的尺寸不一樣,如對于人口密集地區(如北京、上海、深圳、廣州、杭州等),其劃分的地理區域塊的尺寸要小于人口疏散的地區(如陜西、新疆、內蒙古等)的地理區域塊。具體的地理區域塊劃分方式可以根據實際需要靈活設置,本發明實施例不做嚴格限制。如果地理區域塊位于省、區的邊界,將有可能使得該地理區域塊跨多個區,因此,該地理區域塊對應多個城市代碼。
[0032]步驟103、獲取確定出的地理區域塊對應的城市代碼。
[0033]步驟104、判斷獲取到的城市代碼是否為一個,若是則執行步驟105,若否則執行步驟106。
[0034]步驟105、從預置的城市代碼與地理位置描述信息的對應關系中,查找與所述城市代碼對應的地理位置描述信息。
[0035]本發明實施例中,地理位置描述信息的格式可以設置為如省-市-區,如圖1A所
/Jn ο
[0036]步驟106、獲取所述城市代碼對應的多邊形數據,并計算出多邊形數據描述的多邊形中包含所述經緯度坐標的多邊形。
[0037]步驟107、從預置的所述城市代碼與地理位置描述信息的對應關系中,查找描述該包含所述經緯度坐標的多邊形的多邊形數據的城市代碼對應的地理位置信息。
[0038]步驟108、將查找到的地理位置信息作為所述經緯度坐標對應的逆地理編碼結果。
[0039]優選地,為提高確定出包含經緯度坐標的地理區域塊,預先采用geohash算法對各個地理區域塊進行geohash編碼,得到與該地理區域塊對應的geohash值,并建立地理區域塊的geohash值與該地理區域塊隸屬的城市的城市代碼的對應關系。前述步驟102中,確定出包含所述經緯度坐標的地理區域塊,可以通過以下方式I實現:
[0040]方式1、按照預置的geohash算法,計算所述經纟韋度坐標對應的geohash值;將所述經緯度坐標對應的geohash值與預置的地理區域塊對應的geohash值進行匹配,將匹配成功的geohash值對應的地理區域塊確定為包含所述經緯度坐標的地理區域塊。
[0041]基于前述方式1,前述步驟103中,獲取確定出的地理區域塊對應的城市代碼,可通過以下方式實現:從預置的地理區域塊對應的geohash值與該地理區域塊隸屬城市的城市代碼的對應關系中,獲取確定出的地理區域塊的geohash值對應的城市代碼。
[0042]本發明實施例中,geohash值是一個字符串,該字符串表示一個坐標區域,如geohash值為wx4g0ecl9,它表不的是一個矩形區域。預置的地理區域塊對應的geohash值與該地理區域塊隸屬城市的城市代碼的對應關系,如圖1B所示。
[0043]本發明實施例中,根據geohash編碼算法計算經纟韋度坐標的geohash值,可通過以下方式實現,具體以經緯度坐標(116.3906,39.92