服務地圖功能的開發心得 服務地圖怎么做
一、前言在2020年之前,從未接觸過相關Gis的開發技術,和大家一樣,只是調用過百度地圖、谷歌地圖開放的API,實現地圖的展示功能 。對于GIS的理解,只在效果上,從來不知道,地圖是如何實現的 。2020年,本人有幸參與國家鐵路設計院,對于全國鐵路及地理空間矢量化、路徑搜索、鐵路大數據分析的項目需求,才對Gis進行深入的學習,通過學習指導實踐,最終完成系統的設計和開發 。基于此項目的理解,將所學到的知識做下總結,同時分享給大家 。

文章插圖
二、概念? GIS:全稱Geographic Information System,中文:地理信息系統
? OGC標準: 開放地理聯合會是一個參與一致進程以開發公開地理處理規格的384家公司、政府機構、大學和個人組成的國際行業聯合會 。由OpenGIS規格定義的開放接口和協議,支持可互操作的解決方案,網絡、無線和定位服務和主流IT 。讓復雜的空間信息和服務在各種應用可以被授權技術開發人員使用 。開放地理聯合會協議包括網絡地圖服務WMS和網絡功能服務WFS 。地理信息系統由OGC產品劃分為兩大類型,基于遵循OGC規格的完整準確的軟件 。地理信息系統技術標準促進GIS工具進行交流 。兼容的產品是符合OpenGIS規范的軟件產品 。當一個產品經過測試,并通過OGC測試項目證明是兼容的,這個產品就在這個地點上自動注冊為“兼容” 。現實軟件產品,即實現OpenGIS規格但還沒有通過兼容測試的軟件產品 。合規測試不可作用于所有的規格 。開發者可以注冊他們的產品為實施草案或經核準的規范,而OGC有權審查和確認每個條目 。
? WMS地圖服務(OpenGIS Web Map Service),將地圖數據發布為WEB服務,提供網絡地圖圖片,有三個基本操作:
l GetCapabitities 返回服務級元數據,它是對服務信息內容和要求參數的一種描述;
l GetMap 返回一個地圖影像,其地理空間參考和大小參數是明確定義了的;
l GetFeatureInfo(可選)返回顯示在地圖上的某些特殊要素的信息
? WMTS:訪問已經切成瓦片分層的數據
? WFS要素服務(Web Feature Service)目的是提供對矢量地圖的查詢、編譯等操作 。
l GetCapabilites 返回Web要素服務性能描述文檔(用XML描述);
l DescribeFeatureType 返回描述可以提供服務的任何要素結構的XML文檔;
l GetFeature 一個獲取要素實例的請求提供服務;
l Transaction 為事務請求提供服務;
l LockFeature 處理在一個事務期間對一個或多個要素類型實例上鎖的請求 。
? WCS地理覆蓋服務(Web Coverage Service),目標是發布原始柵格數據 。(柵格數據就是將空間分割成有規律的網格,每一個網格稱為一個單元,并在各單元上賦予相應的屬性值來表示實體的一種數據形式)
l GetCapabilities 操作返回描述服務和數據集的XML文檔 。
l n GetCoverage操作是在GetCapabilities確定什么樣的查詢可以執行、什么樣的數據能夠獲取之后執行的,它使用通用的覆蓋格式返回地理位置的值或屬性 。
l DescribeCoverageType 操作允許客戶端請求由具體的WCS服務器提供的任一覆蓋層的完全描述 。
? GML: Geography Markup Language. 一種用于描述地理數據的XML 。
三、搭建地圖服務器(geoserver)本人拙見:geoserver是一個開源的地圖服務引擎,能夠發布和管理地理空間數據(即圖層數據),同時提供豐富的API服務,供用戶進行地理空間數據的增刪改查 。
Geoserver內置Openlayers庫(用于開發WebGIS客戶端的JavaScript包,最初基于BSD許可發行,OpenLayers是一個開源的項目,其設計之意是為互聯網客戶端提供強大的地圖展示功能,包括地圖數據顯示與相關操作,并具有靈活的擴展機制) 。如果前端項目集成OpenLayers庫,即可通過API調用方式,獲取到Geoserver發布的地理空間數據 。
官方定義:GeoServer是用Java編寫的開放源代碼軟件服務器,允許用戶共享和編輯地理空間數據 。為實現互操作性而設計,它使用開放標準發布來自任何主要空間數據源的數據 。
GeoServer允許您向世界顯示您的空間信息 。實施Web地圖服務(WMS)標準,GeoServer可以創建各種輸出格式的地圖 。一個免費的地圖庫OpenLayers已集成到GeoServer中,從而使地圖生成快速簡便 。GeoServer基于GeoTools(一種開放源Java GIS工具包)構建 。
除了精美的地圖外,GeoServer還有更多功能 。GeoServer符合Web Feature Service(WFS)標準和Web Coverage Service(WCS)標準,該標準允許共享和編輯用于生成地圖的數據 。GeoServer還使用Web Map Tile Service標準將發布的地圖拆分為圖塊,以方便Web地圖和移動應用程序使用 。
GeoServer是一個模塊化應用程序,通過擴展添加了附加功能 。Web Processing Service擴展擴展了豐富的處理選項,您甚至可以編寫自己的處理選項,使其他人可以將您的數據整合到他們的網站和應用程序中,從而釋放您的數據并提高透明度 。
(1)、安裝包獲取
方式1:官網下載geoserver安裝包:http://geoserver.org/release/stable/

文章插圖
方式2:下載源碼進行編譯
java源碼地址:https://github.com/geoserver/geoserver.git,編譯出geoserver.war的安裝包 。

文章插圖
沒有學過編程的同學,也可在此處下載官方安裝包 。

文章插圖
(2)、linux服務端部署
必備條件:linux安裝jdk1.8以上,安裝tomcat8.0以上,將tomcat包名修改成GisServer 。

文章插圖
將打好的geoserver.war包放在tomcat/ webapps下

文章插圖
在geoserver/bin 目錄下,執行./startup.sh啟動地圖服務 。

文章插圖
將8080端口加入防火墻,同時在安全組中進行8080端口入規則放行 。
然后瀏覽器訪問:http://ip:8080/geoserver/web/ ,進入geoserver歡迎頁
文章插圖
使用默認賬號、密碼登錄(admin,admin)

文章插圖
(3)官方圖層預覽

文章插圖

文章插圖

文章插圖
【服務地圖功能的開發心得 服務地圖怎么做】本章簡單介紹了,GIS服務相關概念、地圖服務器geoserver搭建的全過程 。感興趣的朋友可以嘗試下,如有問題,可以私信溝通 。
推薦閱讀
- kali linux全部功能教程 kali滲透測試技術實戰
- nas網絡存儲服務器使用 nas存儲服務器搭建
- 服務器開啟端口命令 linux開端口命令
- 阿里云購買服務器流程 阿里云遠程服務器如何購買
- dns常用服務器地址 dns服務器ip地址在哪
- windows10快捷鍵大全功能鍵 新建文件快捷鍵按鈕
- 天津的社會保障卡怎么用
- 從微信取消愛奇藝vip續費方法 蘋果手機怎么關閉愛奇藝自動續費功能
- 胰腺的功能
- 詳解小米手機自檢功能 小米手機硬件檢測指令
