一種地理信息系統地圖渲染方法和裝置的制造方法
【專利摘要】本發明涉及圖像渲染技術領域,公開了一種地理信息系統地圖渲染方法,包括:獲取目標點在地圖上的坐標信息;根據所述目標點在所述地圖上的坐標信息,確定所述目標點是否位于所述地圖上的至少兩個瓦片的分界處;若是,則確定參考瓦片,使所述目標點位于所述參考瓦片的內部;根據所述參考瓦片對所述地圖重新進行切片;以所述參考瓦片為中心根據重新切片得到的切片渲染所述地圖。本發明解決了因目標數據位于瓦片的分界處而無法準確定位渲染,從而出現渲染瓦片不完整的現象,進而影響整個GIS地圖渲染的問題。
【專利說明】
一種地理信息系統地圖渲染方法和裝置
技術領域
[0001]本發明涉及圖像渲染技術領域,尤其涉及一種地理信息系統地圖渲染方法和裝置。
【背景技術】
[0002]地理信息系統(Geographic Informat1n System,GIS),是在計算機硬、軟件系統支持下,對整個或部分地球表層(包括大氣層)空間中的有關地理分布數據進行采集、儲存、管理、運算、分析、顯示和描述的技術系統。GIS地圖利用瓦片技術(MapTile)存儲,地圖瓦片技術將配置好的一定坐標范圍的地圖,按照固定的比例尺和指定圖片尺寸,切成若干行列的正方形圖片,以指定的格式保存成圖像文件,切圖所獲得的地圖切片也叫瓦片(Tile) ο
[0003]GIS地圖初始渲染完畢后,用戶需要查看或分析處理某一空間數據,可以在地圖上點擊該空間數據所在的區域,或者目標點不在可視范圍之內,需要輸入其坐標,此時地圖會重新渲染,以目標點所在的瓦片為起始,圍繞該瓦片對所有瓦片進行螺旋式渲染。然而,當目標點恰好位于至少兩個瓦片的分界處時(如圖1),將無法確定該目標點是在A瓦片上還是在B瓦片上,從而無法判斷究竟以哪個瓦片為起始瓦片進行渲染。進一步的,該現象將會影響A、B兩個瓦片的渲染,由于整個地圖都是以一個瓦片為起始瓦片進行螺旋式渲染,有可能就會出現未能成功螺旋式渲染瓦片的問題,以至在地圖上呈現出很多模糊不清的區域,影響整個地圖的渲染。
【發明內容】
[0004]本發明實施例提供了一種地理信息系統地圖渲染方法和裝置,用以解決現有技術中因目標數據位于瓦片的分界處而無法準確定位渲染,從而出現渲染瓦片不完整的現象,進而影響整個GIS地圖渲染的問題。
[0005]本發明方法包括:
[0006]—種地理信息系統地圖渲染方法,包括:
[0007]獲取目標點在地圖上的坐標信息;
[0008]根據所述目標點在所述地圖上的坐標信息,確定所述目標點是否位于所述地圖上的至少兩個瓦片的分界處,若是,則執行:
[0009]確定參考瓦片,使所述目標點位于所述參考瓦片的內部;
[0010]根據所述參考瓦片對所述地圖重新進行切片;
[0011]以所述參考瓦片為中心根據重新切片得到的切片渲染所述地圖。
[0012]所述確定參考瓦片,使所述目標點位于所述參考瓦片的內部,包括:
[0013]從所述分界處的至少兩個瓦片中選擇一個瓦片;
[0014]改變所選擇的瓦片的渲染范圍,得到參考瓦片,使所述目標點落入所述參考瓦片的內部。
[0015]所述改變所選擇的瓦片的渲染范圍,得到參考瓦片,包括:
[0016]增加所選擇的瓦片的對角線的長度,得到參考瓦片,所述參考瓦片的中心點與所選擇的瓦片的中心點重合。
[0017]所述改變所選擇的瓦片的渲染范圍,得到參考瓦片,包括:
[0018]根據所述目標點與所選擇的瓦片的位置關系,確定坐標增量;
[0019]根據所述坐標增量移動所選擇的瓦片,得到參考瓦片,所述參考瓦片的面積與所選擇的瓦片的面積相同。
[0020]從所述分界處的至少兩個瓦片中選擇一個瓦片,包括從所述分界處的至少兩個瓦片中,隨機選擇一個瓦片。
[0021]一種地理信息系統地圖渲染裝置,包括:
[0022]獲取模塊,用于獲取目標點在地圖上的坐標信息;
[0023]判斷模塊,用于根據獲取模塊獲取到的目標點在所述地圖上的坐標信息,確定所述目標點是否位于所述地圖上的至少兩個瓦片的分界處;
[0024]確定模塊,用于當所述判斷模塊判斷所述目標點位于所述地圖上的至少兩個瓦片的分界處時,確定參考瓦片,使所述目標點位于所述參考瓦片的內部;
[0025]切片模塊,用于根據所述確定模塊確定的參考瓦片對所述地圖重新進行切片;
[0026]渲染模塊,用于以確定模塊確定的參考瓦片為中心根據所述切片模塊重新切片得到的切片渲染所述地圖。
[0027]所述確定模塊包括:選擇單元和更改單元;
[0028]所述選擇單元用于從所述分界處的至少兩個瓦片中選擇一個瓦片;
[0029]所述更改單元用于改變所選擇的瓦片的渲染范圍,得到參考瓦片,使所述目標點落入所述參考瓦片的內部。
[0030]所述更改單元,用于增加所選擇的瓦片的對角線的長度,得到參考瓦片,所述參考瓦片的中心點與所選擇的瓦片的中心點重合。
[0031]所述更改單元用于:
[0032]根據所述目標點與所選擇的瓦片的位置關系,確定坐標增量;
[0033]根據所述坐標增量移動所選擇的瓦片,得到參考瓦片,所述參考瓦片的面積與所選擇的瓦片的面積相同。
[0034]所述選擇單元,用于從所述分界處的至少兩個瓦片中,隨機選擇一個瓦片。
[0035]本發明實施例針對GIS地圖渲染時目標點位于至少兩個瓦片分界處的情況,改變瓦片的渲染范圍,使目標點位于一個瓦片的內部,解決了渲染瓦片不完整的現象,進而影響整個GIS地圖渲染的問題,提高了 GIS系統的反應速度,改善了用戶體驗。
【附圖說明】
[0036]為了更清楚地說明本發明實施例中的技術方案,下面將對實施例描述中所需要使用的附圖作簡要介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對于本領域的普通技術人員來講,在不付出創造性勞動性的前提下,還可以根據這些附圖獲得其他的附圖。
[0037]圖1為現有技術中目標點恰好位于至少兩個瓦片的分界處時的情況;
[0038]圖2為本發明實施例一中地理信息系統地圖渲染方法的流程圖;
[0039]圖3為本發明實施例一中地理信息系統地圖渲染裝置的結構圖;
[0040]圖4為本發明實施例二中地理信息系統地圖渲染方法的流程圖。
【具體實施方式】
[0041]為了使本發明的目的、技術方案和優點更加清楚,下面將結合附圖對本發明作進一步地詳細描述,顯然,所描述的實施例僅僅是本發明一部份實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其它實施例,都屬于本發明保護的范圍。
[0042]實施例一
[0043]本發明實施例一提供了一種地理信息系統地圖渲染方法,該方法的流程如圖2所示,包括:
[0044]S1I獲取目標點在地圖上的坐標信息;
[0045]S102根據所述目標點在所述地圖上的坐標信息,確定所述目標點是否位于所述地圖上的至少兩個瓦片的分界處,若是,則執行步驟S103 ;
[0046]S103確定參考瓦片,使所述目標點位于所述參考瓦片的內部;
[0047]S104根據所述參考瓦片對所述地圖重新進行切片;
[0048]S105以所述參考瓦片為中心根據重新切片得到的切片渲染所述地圖。
[0049]較佳地,步驟S103進一步包括,從所述分界處的至少兩個瓦片中選擇一個瓦片;改變所選擇的瓦片的渲染范圍,得到參考瓦片,使所述目標點落入所述參考瓦片的內部。
[0050]GIS地圖的瓦片是根據地圖上的坐標進行劃分的,用戶點擊目標點或輸入目標點的坐標,可能會出現以下情況:目標點位于某個瓦片的內部,目標點位于兩個瓦片的公共邊上或目標點為四個瓦片的公共頂點。當出現后兩種情況時,由于系統無法判斷從哪個瓦片開始渲染,會出現渲染不完整的情況,影響整個GIS地圖的渲染,影響了用戶體驗。
[0051]該方法針對目標點在至少兩個瓦片的分界處的情況,對地圖進行重新切片,使得目標點位于一個瓦片的內部,解決了因目標點位于至少兩個瓦片的分界處時,系統無法判斷究竟以哪個瓦片為起始瓦片進行渲染的問題,使得所有切片都能完整地展現,提高了 GIS系統的反應速度,改善了用戶的體驗。
[0052]較佳地,從所述分界處的至少兩個瓦片中選擇一個瓦片,包括:從所述分界處的至少兩個瓦片中,隨機選擇一個瓦片。
[0053]基于相同的技術構思,本發明實施例一還提供一種地理信息系統地圖渲染裝置,該裝置可執行上述方法實施例,所述裝置如圖3所示,包括獲取模塊、判斷模塊、確定模塊、切片模塊和渲染模塊。
[0054]獲取模塊,用于獲取目標點在地圖上的坐標信息;
[0055]判斷模塊,用于根據獲取模塊獲取到的目標點在地圖上的坐標信息,確定目標點是否位于地圖上的至少兩個瓦片的分界處;
[0056]確定模塊,用于當判斷模塊判斷目標點位于所述地圖上的至少兩個瓦片的分界處時,確定參考瓦片,使所述目標點位于所述參考瓦片的內部;
[0057]切片模塊,用于根據確定模塊確定的參考瓦片對所述地圖重新進行切片;
[0058]渲染模塊,用于以確定模塊確定的參考瓦片為中心根據切片模塊重新切片得到的切片渲染所述地圖。
[0059]確定模塊包括選擇單元和更改單元;
[0060]選擇單元用于從所述分界處的至少兩個瓦片中選擇一個瓦片;更改單元用于改變所選擇的瓦片的渲染范圍,得到參考瓦片,使所述目標點落入所述參考瓦片的內部。
[0061]較佳地,更改單元用于增加所選擇的瓦片的對角線的長度,得到參考瓦片,參考瓦片的中心點與所選擇的瓦片的中心點重合。
[0062]或者,更改單元用于根據目標點與所選擇的瓦片的位置關系,確定坐標增量;根據所述坐標增量移動所選擇的瓦片,得到參考瓦片,參考瓦片的面積與所選擇的瓦片的面積相同。
[0063]較佳地,選擇單元用于從所述分界處的至少兩個瓦片中,隨機選擇一個瓦片。
[0064]實施例二
[0065]本發明實施例二提供了一種地理信息系統地圖渲染方法,該方法的流程如圖4所示
[0066]S201獲取目標點在地圖上的坐標信息。
[0067]S202根據所述目標點在所述地圖上的坐標信息,確定所述目標點是否位于所述地圖上的至少兩個瓦片的分界處,若是,則執行步驟S204 ;若否,則執行步驟S203。
[0068]S203以所述目標點所在的瓦片為起始瓦片,以螺旋式渲染周圍的瓦片直至渲染整個地圖;
[0069]S204從所述分界處的至少兩個瓦片中隨機選擇一個瓦片。
[0070]若目標點位于兩個瓦片的公共邊上,則從兩個瓦片中隨機選擇一個瓦片;若目標點為四個瓦片的公共頂點,則從四個瓦片中隨機選擇一個瓦片。
[0071]S205改變所選擇的瓦片的渲染范圍,得到參考瓦片,使所述目標點落入所述參考瓦片的內部。
[0072]較佳地,改變瓦片的渲染范圍可以有兩種方案:
[0073]a、使瓦片中心點的坐標不變,增加該瓦片的對角線長度,具體可以為瓦片左下角頂點的坐標減去一個變量,右上角頂點的坐標加上一個變量;
[0074]b、根據目標點與瓦片的位置關系,將瓦片四個頂點的經度不變,瑋度增加一個變量,或瑋度不變,經度增加一個變量,即向著目標點的方向移動瓦片,移動前后瓦片的面積不變。
[0075]S206根據所述參考瓦片對所述地圖重新進行切片。
[0076]以改變了渲染范圍后的瓦片的大小和位置為參照,將地圖重新劃分。
[0077]S207以所述參考瓦片為中心根據重新切片得到的切片螺旋式渲染所述地圖。
[0078]從參考瓦片開始,以螺旋式的渲染方式,對整個地圖的瓦片進行渲染。
[0079]下面以一個實際應用中的例子對本發明實施例二中的改變瓦片的渲染范圍的方法進行說明:
[0080]若瓦片A和瓦片B為相鄰的兩個瓦片,瓦片A左下角頂點的坐標為(0,O),右上角頂點的坐標為(10,10),瓦片B左下角頂點的坐標為(10,O),右上角頂點的坐標為(20,10),目標點的坐標為(10,5),目標點處于瓦片A和瓦片B的公共邊上。用戶點擊目標點或輸入目標點的坐標時,需對地圖重新渲染,但此時目標點位于兩個瓦片的公共邊上,需對瓦片進行重新劃分。隨機選擇A瓦片,改變A瓦片的渲染范圍:
[0081]a、A瓦片的左下角頂點的坐標減2,變為(_2,_2);右上角頂點的坐標加2,變為(12,12)。由此,目標點處于A瓦片的范圍內。相應的,B瓦片左下角頂點的坐標變為(12,-2),右上角頂點的坐標變為(26,12)。
[0082]b、A瓦片的所有頂點瑋度坐標加2,經度坐標不變,即A瓦片的頂點坐標變為(2,O)、(2,10) (12,O)和(12,10)。由此,目標點處于A瓦片的范圍內。相應的,B瓦片的頂點坐標分別變為(12,O) (12,10) (22,O)和(22,10)。
[0083]本發明是參照根據本發明實施例的方法、設備(系統)、和計算機程序產品的流程圖和/或方框圖來描述的。應理解可由計算機程序指令實現流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結合。可提供這些計算機程序指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數據處理設備的處理器以產生一個機器,使得通過計算機或其他可編程數據處理設備的處理器執行的指令產生用于實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
[0084]這些計算機程序指令也可存儲在能引導計算機或其他可編程數據處理設備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產生包括指令裝置的制造品,該指令裝置實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。
[0085]這些計算機程序指令也可裝載到計算機或其他可編程數據處理設備上,使得在計算機或其他可編程設備上執行一系列操作步驟以產生計算機實現的處理,從而在計算機或其他可編程設備上執行的指令提供用于實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。
[0086]盡管已描述了本發明的優選實施例,但本領域內的技術人員一旦得知了基本創造性概念,則可對這些實施例作出另外的變更和修改。所以,所附權利要求意欲解釋為包括優選實施例以及落入本發明范圍的所有變更和修改。
[0087]顯然,本領域的技術人員可以對本發明進行各種改動和變型而不脫離本發明的精神和范圍。這樣,倘若本發明的這些修改和變型屬于本發明權利要求及其等同技術的范圍之內,則本發明也意圖包含這些改動和變型在內。
【主權項】
1.一種地理信息系統地圖渲染方法,其特征在于,所述方法包括: 獲取目標點在地圖上的坐標信息; 根據所述目標點在所述地圖上的坐標信息,確定所述目標點是否位于所述地圖上的至少兩個瓦片的分界處,若是,則執行: 確定參考瓦片,使所述目標點位于所述參考瓦片的內部; 根據所述參考瓦片對所述地圖重新進行切片; 以所述參考瓦片為中心根據重新切片得到的切片渲染所述地圖。2.如權利要求1所述的地理信息系統地圖渲染方法,其特征在于,所述確定參考瓦片,使所述目標點位于所述參考瓦片的內部,包括: 從所述分界處的至少兩個瓦片中選擇一個瓦片; 改變所選擇的瓦片的渲染范圍,得到參考瓦片,使所述目標點落入所述參考瓦片的內部。3.如權利要求2所述的地理信息系統地圖渲染方法,其特征在于,所述改變所選擇的瓦片的渲染范圍,得到參考瓦片,包括: 增加所選擇的瓦片的對角線的長度,得到參考瓦片,所述參考瓦片的中心點與所選擇的瓦片的中心點重合。4.如權利要求2所述的地理信息系統地圖渲染方法,其特征在于,所述改變所選擇的瓦片的渲染范圍,得到參考瓦片,包括: 根據所述目標點與所選擇的瓦片的位置關系,確定坐標增量; 根據所述坐標增量移動所選擇的瓦片,得到參考瓦片,所述參考瓦片的面積與所選擇的瓦片的面積相同。5.如權利要求2至4中任一項所述的地理信息系統地圖渲染方法,其特征在于,所述從所述分界處的至少兩個瓦片中選擇一個瓦片,包括: 從所述分界處的至少兩個瓦片中,隨機選擇一個瓦片。6.一種地理信息系統地圖渲染裝置,其特征在于,包括: 獲取模塊,用于獲取目標點在地圖上的坐標信息; 判斷模塊,用于根據所述獲取模塊獲取到的目標點在所述地圖上的坐標信息,確定所述目標點是否位于所述地圖上的至少兩個瓦片的分界處; 確定模塊,用于當所述判斷模塊判斷所述目標點位于所述地圖上的至少兩個瓦片的分界處時,確定參考瓦片,使所述目標點位于所述參考瓦片的內部; 切片模塊,用于根據所述確定模塊確定的參考瓦片對所述地圖重新進行切片; 渲染模塊,用于以所述確定模塊確定的參考瓦片為中心根據所述切片模塊重新切片得到的切片渲染所述地圖。7.如權利要求6所述的地理信息系統地圖渲染裝置,其特征在于,所述確定模塊包括: 選擇單元,用于從所述分界處的至少兩個瓦片中選擇一個瓦片; 更改單元,用于改變所述選擇單元所選擇的瓦片的渲染范圍,得到參考瓦片,使所述目標點落入所述參考瓦片的內部。8.如權利要求7所述的地理信息系統地圖渲染裝置,其特征在于,所述更改單元用于: 增加所選擇的瓦片的對角線的長度,得到參考瓦片,所述參考瓦片的中心點與所選擇的瓦片的中心點重合。9.如權利要求7所述的地理信息系統地圖渲染裝置,其特征在于,所述更改單元用于: 根據所述目標點與所選擇的瓦片的位置關系,確定坐標增量; 根據所述坐標增量移動所選擇的瓦片,得到參考瓦片,所述參考瓦片的面積與所選擇的瓦片的面積相同。10.如權利要求7至9中任一項所述的地理信息系統地圖渲染裝置,其特征在于,所述選擇單元用于: 從所述分界處的至少兩個瓦片中,隨機選擇一個瓦片。
【文檔編號】G09B29/00GK105824843SQ201510008904
【公開日】2016年8月3日
【申請日】2015年1月8日
【發明人】李紅杰, 裴照華, 張保華, 盛強, 苗浩龍, 范晨聲, 王亞軍, 曹文慧
【申請人】中國移動通信集團河南有限公司