專利名稱:導航系統防止畫面顯示文字相互壓蓋的方法
技術領域:
本發明涉及導航電子地圖數據的處理方法,特別是涉及文字顯示的處理方法。
背景技術:
導航系統在進行地圖顯示時,若畫面顯示的地理區域內文字信息過多,或在同一坐標位 置有若干文字需要顯示,這兩種情況往往造成文字間的相互壓蓋。 一方面,畫面顯示會給用 戶帶來一種繁雜的感覺,或使用戶關心的信息被壓蓋,致其不能得到所需求的信息;另一方 面,導航儀會隨畫面移動而不停地進行地圖數據的讀取,冗余的數據量將會導致地圖移動顯 示不流暢的情況發生。因此,解決該問題是優秀汽車導航設備所應具備的重要功能之一。
解決文字壓蓋問題,可以在地圖數據顯示中,由導航儀應用程序來處理,但會給導航儀 處理器帶來額外的性能消耗。尤其對于一些嵌入式導航設備,因處理器能力低,導致畫面顯 示不流暢,并嚴重影響導航系統的使用。
發明內容
本發明所要解決的技術問題是提供一種導航導航系統防止畫面顯示文字相互壓蓋的方 法,該方法能有效地解決導航系統在畫面顯示過程中由于文字過多而導致的壓蓋問題。
本發明所采用的技術方案是 一種導航系統防止畫面顯示文字相互壓蓋的方法,其步驟 包括
1) 設置文字顯示優先級,即對顯示文字數據,根據其種別對其在導航畫面中的顯示優先 級進行設置,并按照優先級從高到低的順序對數據進行排序;
2) 對已按照優先級排序的顯示文字數據逐一進行壓蓋判斷和處理,若所有顯示文字均已 處理,則轉至步驟8),否則轉入步驟3);
3) 建立空間索引,即對當前處理的顯示文字數據,根據其原始經緯度坐標,建立空間索
引;
4) 壓蓋情況判斷,即根據當前處理的顯示文字數據的空間索引,獲得其周圍空間索引區 域內的文字數據,并逐一與當前處理的顯示文字進行壓蓋情況判斷;
5) 坐標移動,即根據壓蓋的情況,對文字坐標進行規定范圍內的移動;移動后再次進行 壓蓋情況判斷,若仍壓蓋且移動量未到最大值,則遞歸操作直至與其空間索引周圍范圍的文 字都不壓蓋,并將處理完的文字加入到該空間索引區域中,然后轉至步驟7);若移動量達到 最大值仍壓蓋,表示處理失敗,轉至步驟6);
6) 文字刪除,即對于處理失敗的文字,根據其優先級判斷是否可以在顯示畫面中刪除, 對于優先級低的文字進行刪除操作,轉至步驟7);
7) 結束對當前顯示文字的處理,并返回到步驟2);
8) 結束所有顯示文字的防止相互壓蓋的處理。本發明的優點是對電子地圖數據進行加工,解決了導航系統顯示畫面中文字可能存在 的壓蓋問題,提高了畫面的顯示質量,降低了導航設備的性能開銷,改善了導航系統的性能。
圖1是空間索引區域劃分示意圖。
圖2是文字壓蓋情況示意圖。
圖3是通過本方案避免文字壓蓋示意圖。
圖4是實施流程圖。
圖5-1和圖5-2是實際效果對比圖。
具體實施例方式
如圖4所示,本發明的實現方式包括以下步驟-
1) 設置文字顯示優先級
對顯示文字數據,根據其種別對其在導航畫面中的顯示優先級進行設置,并按照優先級 從高到低的順序對數據進行排序。文字顯示優先級的高低,由其原始種別決定,例如種別為 加油站的文字其優先級要高于種別是休閑場所文字的優先級。設置文字顯示優先級的目的有 兩點, 一是優先處理顯示優先級較高的文字,將優先級較高的文字數據先加入到空間索引集 合中,二是作為壓蓋處理失敗后對文字進行刪除判斷的依據,只刪除顯示優先級較低的文字。
2) 對已按照優先級排序的顯示文字數據逐一進行壓蓋判斷和處理,若所有顯示文字均已 處理,則轉至步驟8),否則轉入步驟3);
3) 建立空間索引
根據當前處理的顯示文字數據的原始經緯度坐標,為其建立空間索引。
計算空間索引的方法可以是
31) 計算空間索引區域單位步長=對應比例尺下最長文字的文字數量*對應比例尺下 文字尺寸;
32) 計算空間索引區域左下角橫坐標=顯示文字原始橫坐標/空間索引區域單位步長* 空間索引區域單位步長;
33) 計算空間索引區域左下角縱坐標=顯示文字原始縱坐標/空間索引區域單位步長* 空間索引區域單位步長;
根據上述公式,可以得到文字的空間索引區域的左下角坐標,該空間索引區域覆蓋范圍 為空間索引區域單位步長*空間索引區域單位步長的正方形區域,原始坐標落在該區域的所 有文字,利用公式32)和公式33)計算得到的坐標值都是相同的。
4) 壓蓋情況判斷
根據當前處理的顯示文字數據的空間索引,獲得其周圍空間索引區域內的文字數據,并 逐一與當前處理的顯示文字進行壓蓋情況判斷。 對當前處理的文字壓蓋情況判斷步驟為
41)根據當前處理的顯示文字數據的空間索引,確定與該空間索引相鄰的八個空間索引, 并獲得當前空間索引和周圍八個空間索引共九個空間索引內的文字數據。如圖1所示,0號
5區域代表當前處理文字所在的空間索引區域,1 8代表其周圍的八個空間索引區域。
42) 對九個空間索引內的文字數據,根據在指定比例尺下一個文字的尺寸,和文字數據 的文字數量逐一計算其外接矩形大小。
43) 判斷文字數據的外接矩形是否存在相交情況,存在則表示壓蓋,否則表示不壓蓋。 具體應用中,可分別獲得待比較的兩顯示文字的外接矩形,根據在指定比例尺下一個文字的 尺寸,和文字數據的文字數量可以計算外接矩形大小,并判斷兩外接矩形是否相交,相交則 表示兩者存在壓蓋情況,否則表示不壓蓋。
如圖2所示,當前處理文字為"XX農貿市場",其周圍空間索引內存在其他文字"中國 建設銀行XX分行"、"XX家具大賣場"和"XX職業技術學校",通過判斷外接矩形是否相交, 可以判斷出"XX農貿市場"和"中國建設銀行XX分行"以及"XX家具大賣場"都造成了壓 蓋,但與"XX職業技術學校"未造成壓蓋。
5) 坐標移動
根據壓蓋的情況,對文字坐標進行規定范圍內的移動;移動后再次進行壓蓋情況判斷, 若仍壓蓋且移動量未到最大值,則遞歸操作直至與其空間索引周圍范圍的文字都不壓蓋,并 將處理完的文字加入到該空間索引區域中,然后轉至步驟7);若移動量達到最大值仍壓蓋, 表示處理失敗,轉入步驟6)。
對文字坐標進行規定范圍內的移動方法可以為若當前文字與周圍文字壓蓋,則根據壓 蓋量判斷移動方向是水平方向還是垂直方向,優先選擇移動量較小的方向,然后進行相應方 向的移動。
如圖3所示,經過坐標移動后的"XX農貿市場"和其周圍的文字"中國建設銀行XX分 行","XX家具大賣場","XX職業技術學校"都不再存在壓蓋情況。
具體為當前處理文字數據為"XX農貿市場",其與"中國建設銀行XX分行"、"XX家具 大賣場"造成了壓蓋,首先判斷水平方向,"XX農貿市場"與"中國建設銀行XX分行"造成 的壓蓋量小于"XX農貿市場"和"XX家具大賣場"造成的壓蓋量,因此優先選擇向右移動, 水平移動至和"中國建設銀行XX分行"不壓蓋的位置后,繼續判斷壓蓋情況,會得到仍和"XX
家具大賣場"存在壓蓋的情況,再進行垂直方向的移動,遞歸判斷處理直至和周圍其他文字 都不壓蓋,處理結束。
6) 文字刪除
對于處理失敗的文字,根據其優先級判斷是否可以在顯示畫面中刪除。對于優先級低的 文字進行刪除操作,轉至步驟7)。
7) 結束對當前顯示文字的處理,并返回到步驟2)。
8) 結束所有顯示文字的防止相互壓蓋的處理。
圖5-1為未經過處理的顯示文字數據,圖5-2為通過本專利方法處理了的目標數據。可 以看出,本發明在解決文字壓蓋,提高畫面顯示效果方面有明顯的效果。
權利要求
1.導航系統防止畫面顯示文字相互壓蓋的方法,其特征是其步驟包括1)設置文字顯示優先級,即對顯示文字數據,根據其種別對其在導航畫面中的顯示優先級進行設置,并按照優先級從高到低的順序對數據進行排序;2)對已按照優先級排序的顯示文字數據逐一進行壓蓋判斷和處理,若所有顯示文字均已處理,則轉至步驟8),否則轉入步驟3);3)建立空間索引,即對當前處理的顯示文字數據,根據其原始經緯度坐標,建立空間索引;4)壓蓋情況判斷,即根據當前處理的顯示文字數據的空間索引,獲得其周圍空間索引區域內的文字數據,并逐一與當前處理的顯示文字進行壓蓋情況判斷;5)坐標移動,即根據壓蓋的情況,對文字坐標進行規定范圍內的移動;移動后再次進行壓蓋情況判斷,若仍壓蓋且移動量未到最大值,則遞歸操作直至與其空間索引周圍范圍的文字都不壓蓋,并將處理完的文字加入到該空間索引區域中,然后轉至步驟7);若移動量達到最大值仍壓蓋,表示處理失敗,轉至步驟6);6)文字刪除,即對于處理失敗的文字,根據其優先級判斷是否可以在顯示畫面中刪除,對于優先級低的文字進行刪除操作,轉至步驟7);7)結束對當前顯示文字的處理,并返回到步驟2);8)結束所有顯示文字的防止相互壓蓋的處理。
2. 如權利要求1所述的防止畫面顯示文字相互壓蓋方法,其特征是其步驟3)建立空間索引的方法是-21) 計算空間索引區域單位步長=對應比例尺下最長文字的文字數量*對應比例尺下文字尺寸;22) 計算空間索引區域左下角橫坐標=顯示文字原始橫坐標/空間索引區域單位步長*空間索引區域單位步長;23) 計算空間索引區域左下角縱坐標=顯示文字原始縱坐標/空間索引區域單位步長*空間索引區域單位步長;根據上述公式,得到文字的空間索引區域的左下角坐標,該空間索引區域覆蓋范圍為空間索引區域單位步長*空間索引區域單位步長的正方形區域。
3. 如權利要求1所述的防止畫面顯示文字相互壓蓋方法,其特征是其步驟4)對當前處理的文字壓蓋情況判斷步驟為31) 根據當前處理的顯示文字數據的空間索引,確定與該空間索引相鄰的八個空間索引,并獲得當前空間索引和周圍八個空間索引共九個空間索引內的文字數據;32) 對九個空間索引內的文字數據,根據在指定比例尺下一個文字的尺寸,和文字數據的文字數量逐一計算其外接矩形大小;33) 判斷文字數據的外接矩形是否存在相交情況,存在則表示壓蓋,否則表示不壓蓋。
4.如權利要求1所述的防止畫面顯示文字相互壓蓋方法,其特征在于步驟5)對文字坐標進行規定范圍內的移動方法是若當前文字與周圍文字壓蓋,則根據壓蓋量判斷移動方向是水平方向還是垂直方向,優先選擇移動量較小的方向,然后進行相應方向的移動。
全文摘要
本發明提供一種導航系統防止畫面顯示文字相互壓蓋的方法,其步驟包括1)設置文字顯示優先級,根據顯示文字的種別對其在畫面顯示中的優先級進行設置,并進行排序;2)對已排序的數據,根據其經緯度坐標,建立空間索引;3)利用處理文字的空間索引,獲得其周圍區域內的其他文字,并與其進行壓蓋判斷;4)根據壓蓋的情況,對文字坐標進行規定范圍內的移動,并遞歸進行壓蓋判斷和坐標移動,直至與其周圍的文字都不壓蓋,或者達到最大移動量仍壓蓋,導致處理失敗;5)對處理失敗的文字,根據其優先級判斷是否可以刪除。本方法可有效解決導航儀顯示畫面中文字相互壓蓋的問題,能有效地提高畫面顯示的效果和質量。
文檔編號G01C21/00GK101634557SQ20091006378
公開日2010年1月27日 申請日期2009年9月1日 優先權日2009年9月1日
發明者記 劉, 朱敦堯, 楊繼平 申請人:武漢光庭汽車電子有限公司