服務地圖功能的開發心得,服務地圖怎麼做

一、前言

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

手把手教你做GIS地圖——第一節搭建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/

手把手教你做GIS地圖——第一節搭建GIS地圖服務

方式2:下載源碼進行編譯

java源碼地址:
https://github.com/geoserver/geoserver.git,編譯出geoserver.war的安裝包。

手把手教你做GIS地圖——第一節搭建GIS地圖服務

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

手把手教你做GIS地圖——第一節搭建GIS地圖服務

(2)、linux服務端部署

必備條件:linux安裝jdk1.8以上,安裝tomcat8.0以上,將tomcat包名修改成GisServer。

手把手教你做GIS地圖——第一節搭建GIS地圖服務

將打好的geoserver.war包放在tomcat/ webapps下

手把手教你做GIS地圖——第一節搭建GIS地圖服務

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

手把手教你做GIS地圖——第一節搭建GIS地圖服務

將8080端口加入防火牆,同時在安全組中進行8080端口入規則放行。

然後瀏覽器訪問:
http://ip:8080/geoserver/web/ ,進入geoserver歡迎頁

手把手教你做GIS地圖——第一節搭建GIS地圖服務

使用默認賬號、密碼登錄(admin,admin)

手把手教你做GIS地圖——第一節搭建GIS地圖服務

(3)官方圖層預覽

手把手教你做GIS地圖——第一節搭建GIS地圖服務
手把手教你做GIS地圖——第一節搭建GIS地圖服務
手把手教你做GIS地圖——第一節搭建GIS地圖服務

本章簡單介紹了,GIS服務相關概念、地圖服務器geoserver搭建的全過程。感興趣的朋友可以嘗試下,如有問題,可以私信溝通。

原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/229988.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
投稿專員的頭像投稿專員
上一篇 2024-12-10 13:17
下一篇 2024-12-10 13:17

相關推薦

發表回復

登錄後才能評論