一種構建專題地圖的方法及應用該方法的移動終端的制作方法
【專利摘要】本發明公開了一種構建專題地圖的方法,所述方法步驟包括:根據用戶選取的地圖數據源,判斷各地圖服務的類型;根據各地圖服務的類型采用對應的算法,對用戶請求地圖的位置進行相應操作,以獲取相應的瓦片坐標;利用瓦片坐標生成特定地圖服務的URL地址,依次向地圖服務器請求,獲取相應的地圖瓦片;對獲取所得的各地圖瓦片進行圖層疊加,并在屏幕的同一位置上依次顯示各地圖瓦片,即可得到所需的專題地圖。將本發明提供的方法應用于智能手機等移動平臺上,用戶在查看地圖時可以方便地對多個不同類型的瓦片地圖服務進行訪問,并且在操作時還可在地圖的多個圖層之間的進行切換和疊加等操作,以及對地圖進行平移、縮放等操作。
【專利說明】一種構建專題地圖的方法及應用該方法的移動終端
【技術領域】
[0001]本發明涉及一種構建專題地圖的方法以及利用該方法進行構建專題地圖的移動終端。
【背景技術】
[0002]隨著移動互聯網與GIS的迅速發展和廣泛應用,企業和個人用戶對專題地圖需求越來越大。
[0003]地理信息系統(GeographicInformation System或 Geo — Information system,GIS)有時又稱為“地學信息系統”。它是一種特定的十分重要的空間信息系統。它是在計算機硬、軟件系統支持下,對整個或部分地球表層(包括大氣層)空間中的有關地理分布數據進行采集、儲存、管理、運算、分析、顯示和描述的技術系統。
[0004]專題地圖往往范圍比較小,但是專題地圖具有針對性,其數據更專業,更具體,因此在某些方面具有大范圍地圖所不具備的優點,如地圖更新及時、精度高、POI (“Pointof Interest”的縮寫,可以翻譯成“信息點”),數據更加精細和豐富。開放地理空間信息聯盟(Open Geospatial Consortium-OGC)制定了通過HTTP協議(超文本傳輸協議(HTTP-Hypertext transfer protocol))訪問空間數據的一系列接口規范,常見的瓦片地圖服務有WMS (Web Map Service, 一種網絡地圖服務規范)、TMS (Tile Map Service, 一種瓦片地圖服務規范)、WMTS (Web Map Tile Service,—種網絡地圖瓦片服務規范)等;通過這些服務可以訪問地圖瓦片,然后將地圖瓦片組合成一張地圖。
[0005]目前大多數移動平臺的地圖SDK (SDK (Software Development Kit,即軟件開發工具包))都只支持其中的一種服務,而且不支持自定義地圖數據源,也無法進行圖層疊力口,因此無法構建出滿足特定需要的專題地圖。地圖自定義OGC數據源,就是用戶可以使用一個或者多個不同的OGC地圖服務來構建專題地圖,在現有地圖上疊加自有的專題地圖或者完全使用自有的地圖,是本發明的出發點。
【發明內容】
[0006]本發明提供一種構建專題地圖的方法,利用該方法可實現自定義訪問多個不同瓦片地圖服務類型的功能,具體為可訪問支持OGC的WMS、TMS以及WTMS等服務,并且可在多個圖層之間的進行切換和疊加等操作。
[0007]本發明是通過以下技術方案實現的:
一種構建專題地圖的方法,應用于OGC地圖數據系統中,所述OGC地圖數據系統包括地圖服務器、地圖SDK模塊以及應用程序模塊,所述地圖服務器包括有用于負責用戶的請求處理和數據轉換的Web服務器與負責存取和管理地圖數據源的數據庫;所述地圖SDK模塊用于提供獲取地圖數據源的接口以及供用戶操作的界面控件;所述應用程序模塊用于調用地圖數據源的數據,并用于實現地圖顯示、定位和/或搜索功能;
所述方法步驟包括: 51、根據用戶選取的地圖數據源,判斷各地圖服務的類型;
52、根據各地圖服務的類型采用對應的算法,對用戶請求地圖的位置進行相應操作,以獲取相應的瓦片坐標;
53、利用瓦片坐標生成特定地圖服務的URL地址,依次向地圖服務器請求,獲取相應的地圖瓦片;
54、對獲取所得的各地圖瓦片進行圖層疊加,并在屏幕的同一位置上依次顯示各地圖瓦片,即可得到所需的專題地圖。
[0008]進一步地,所述方法還包括:S5、響應用戶在所述界面控件上對所述專題地圖的相應操作,以實現對所述專題地圖的平移和/或縮放。
[0009]將各地圖瓦片進行圖層疊加前,為每一地圖瓦片所在的圖層設置一用于表示地圖瓦片有效范圍的多邊形區域,當所需地圖瓦片不在此多邊形區域內時便放棄向地圖服務器發送請求,或者當請求地圖瓦片的縮放級別超出了地圖數據源的縮放范圍時,也終止請求向地圖服務器發送請求。
[0010]較佳地,所述地圖SDK模塊設置有圖片的內存緩存與磁盤緩存的雙緩存機制,以提高地圖的顯示速度;所述地圖服務器為用戶自定義數據源創建的OGC地圖服務器或網上提供OGC地圖瓦片數據的地圖服務器;所述地圖服務的類型包括WMS、TMS以及WTMS中一種或多種。
[0011]本發明還提供了一種移動終端,所述移動終端設置有地圖SDK模塊以及應用程序模塊,所述地圖SDK模塊用于提供獲取地圖數據源的接口以及供用戶操作的界面控件,所述應用程序模塊用于調用地圖數據源的數據,并用于實現地圖顯示、定位和/或搜索功能;所述移動終端在利用所述地圖SDK模塊以及應用程序模塊構建專題地圖時采用基于上述方法來進行構建專題地圖;優選地,所述移動終端采用安卓操作系統。
[0012]將本發明應用于移動終端,如智能手機等移動平臺上,用戶在查看地圖時可以方便地對多個不同類型的瓦片地圖服務進行訪問,并且在操作時還可在地圖的多個圖層之間的進行切換和疊加等操作,以及對地圖進行平移、縮放等操作。
【專利附圖】
【附圖說明】
[0013]附圖1為本發明實施例中OGC地圖數據系統的結構模塊示意圖;
附圖2為本發明實施例中的方法流程示意圖。
【具體實施方式】
[0014]在本實施例中,將本發明應用于采用安卓系統的智能手機中,為了便于本領域技術人員的理解,下面結合附圖對本發明作進一步的描述。
[0015]如附圖1所示,為一種OGC地圖數據系統的結構模塊示意圖,該OGC地圖數據系統包括地圖服務器、地圖SDK模塊以及應用程序模塊。
[0016]地圖服務器可以為用戶自定義數據源創建的OGC地圖服務器,或網上提供OGC地圖瓦片數據的地圖服務器(如ArcGis Server和GeoServer)。不管是自定義數據源創建的OGC地圖服務器還是網上提供OGC地圖瓦片數據的地圖服務器,均需要知道其服務類型(麗S、TMS或WTMS)和訪問地址、瓦片范圍及原點、縮放范圍、顯示的層次等相關參數,才能對地圖服務器進行訪問。因此,在創建自定義數據源創建的OGC地圖服務器時,需要對上述相關參數進行相應的設置。地圖服務器內包括有Web服務器和數據庫,Web服務器主要用于負責用戶的請求處理和數據轉換,數據庫主要負責存取和管理地圖數據源(數據庫通常采用的系統有Mysql或Postgresql )。
[0017]地圖SDK模塊用于提供獲取地圖數據源的接口以及供用戶操作的界面控件;該地圖SDK模塊是本發明的核心模塊,其位于智能手機的應用程序組件中,用于為應用程序模塊提供獲取地圖數據源的接口 ;界面控件是用來顯示和操作地圖的;此外,地圖SDK模塊內還封裝有定位功能,以及可預先配置好地圖數據源,以方便用戶或開發者使用。
[0018]應用程序模塊安裝于智能手機中,其用于調用地圖數據源的數據,并用于實現地圖顯示、定位以及搜索等功能。此外,該應用程序模塊還可以對地圖SDK模塊的功能進行擴展,如地圖的顯示樣式、增加新的圖層,自定義用戶動作的響應事件等。用戶通過在智能手機上的該應用程序模塊進行相應的設置,即可同時加載多個自定義地圖圖層,并且可以在不同圖層之間任意切換,這樣可以使用戶能看到任意一個單獨地圖圖層,或者幾個圖層疊加在一起疊加地圖,充分發揮每一個地圖作用。
[0019]以下對在智能手機中進行構建專題地圖的方法作進一步的描述,如附圖2所示,該方法步驟包括:
51、根據用戶選取的地圖數據源,判斷各地圖服務的類型;
52、根據各地圖服務的類型采用對應的算法,對用戶請求地圖的位置進行相應操作,以獲取相應的瓦片坐標;
53、利用瓦片坐標生成特定地圖服務的URL地址,依次向地圖服務器請求,獲取相應的地圖瓦片;
54、對獲取所得的各地圖瓦片進行圖層疊加,并在屏幕的同一位置上依次顯示各地圖瓦片,即可得到所需的專題地圖;
55、響應用戶在所述界面控件上對所述專題地圖的相應操作,以實現對所述專題地圖的平移和/或縮放。
[0020]當地圖服務類型存在多種時,如同時存在WMS、TMS與WTMS這三種類型,由于不同的地圖服務其采用的坐標系很可能不同,而對不同坐標系的地圖進行疊加時存在偏移,有時產生的偏移會比較大。因此,為避免地圖產生偏移的情況出現,不管是自定義數據源創建的OGC地圖服務器還是網上提供OGC地圖瓦片數據的地圖服務器,其采取的坐標系均應統一。
[0021]圖層疊加的基本原理就是在屏幕的同一位置依次將不同地圖瓦片繪制并顯示到屏幕上。為了減少向地圖服務器發送的無效請求,提高OGC地圖數據系統的工作效率,在將各地圖瓦片進行圖層疊加前,為每一地圖瓦片所在的圖層設置一用于表示地圖瓦片有效范圍的多邊形區域,當所需地圖瓦片不在此多邊形區域內時便放棄向地圖服務器發送請求,或者當請求地圖瓦片的縮放級別超出了地圖數據源的縮放范圍時,也終止請求向地圖服務器發送請求。
[0022]由于地圖瓦片文件的容量大,占用的空間較大,因此,每次均通過網絡向網上提供OGC地圖瓦片數據的地圖服務器請求獲取地圖瓦片的數據的效率不高,因此需要使用緩存技術來提高地圖顯示速度。在本實施例中,地圖SDK模塊設置有圖片的內存緩存與磁盤緩存的雙緩存機制,即通過雙緩存技術來大大提高本地圖顯示的效率。
[0023]此外,由于地圖瓦片分為透明格式(PNG格式)和不透明格式(PNG或JPG)兩種格式,若把透明圖層疊加到其他圖層上,可以同時看到兩個圖層,若把一個不透明圖層疊加到其他圖層上,就會遮蓋原來的圖層。因此,在本發明中,各地圖服務器中的地圖瓦片的格式均優先選用透明格式。
[0024]上述實施例中提到的內容為本發明較佳的實施方式,并非是對本發明的限定,在不脫離本發明構思的前提下,任何顯而易見的替換均在本發明的保護范圍之內。
【權利要求】
1.一種構建專題地圖的方法,應用于OGC地圖數據系統中,所述OGC地圖數據系統包括地圖服務器、地圖SDK模塊以及應用程序模塊,所述地圖服務器包括有用于負責用戶的請求處理和數據轉換的Web服務器與負責存取和管理地圖數據源的數據庫;所述地圖SDK模塊用于提供獲取地圖數據源的接口以及供用戶操作的界面控件;所述應用程序模塊用于調用地圖數據源的數據,并用于實現地圖顯示、定位和/或搜索功能; 所述方法步驟包括: 51、根據用戶選取的地圖數據源,判斷各地圖服務的類型; 52、根據各地圖服務的類型采用對應的算法,對用戶請求地圖的位置進行相應操作,以獲取相應的瓦片坐標; 53、利用瓦片坐標生成特定地圖服務的URL地址,依次向地圖服務器請求,獲取相應的地圖瓦片; 54、對獲取所得的各地圖瓦片進行圖層疊加,并在屏幕的同一位置上依次顯示各地圖瓦片,即可得到所需的專題地圖。
2.根據權利要求1所述的方法,其特征在于,所述方法還包括:S5、響應用戶在所述界面控件上對所述專題地圖的相應操作,以實現對所述專題地圖的平移和/或縮放。
3.根據權利要求2所述的方法,其特征在于:在將各地圖瓦片進行圖層疊加前,為每一地圖瓦片所在的圖層設置一用于表示地圖瓦片有效范圍的多邊形區域,當所需地圖瓦片不在此多邊形區域內時便放棄向地圖服務器發送請求,或者當請求地圖瓦片的縮放級別超出了地圖數據源的縮放范圍時,也終止請求向地圖服務器發送請求。
4.根據權利要求3所述的方法,其特征在于:所述地圖SDK模塊設置有圖片的內存緩存與磁盤緩存的雙緩存機制,以提高地圖的顯示速度。
5.根據權利要求1?4中任一項所述的方法,其特征在于:所述地圖服務器為用戶自定義數據源創建的OGC地圖服務器或網上提供OGC地圖瓦片數據的地圖服務器。
6.根據權利要求1?4中任一項所述的方法,其特征在于:所述地圖服務的類型包括麗S、TMS以及WTMS中一種或多種。
7.一種移動終端,其特征在于:所述移動終端設置有地圖SDK模塊以及應用程序模塊,所述地圖SDK模塊用于提供獲取地圖數據源的接口以及供用戶操作的界面控件,所述應用程序模塊用于調用地圖數據源的數據,并用于實現地圖顯示、定位和/或搜索功能;所述移動終端在利用所述地圖SDK模塊以及應用程序模塊構建專題地圖時采用如權利要求1?4中任一項所述的所述的方法來進行構建專題地圖。
8.根據權利要求7所述的移動終端,其特征在于:所述移動終端采用安卓操作系統。
【文檔編號】G06F17/30GK103744995SQ201410031435
【公開日】2014年4月23日 申請日期:2014年1月23日 優先權日:2014年1月23日
【發明者】劉丹楓, 王永強, 范海生, 任伏虎, 王晉年, 楊龍, 蕭暢成 申請人:廣東中科遙感技術有限公司