1. 程式人生 > 其它 >geoServer + tomcat + .shp + jdk 搭建離線地圖服務

geoServer + tomcat + .shp + jdk 搭建離線地圖服務

對應版本和化境變數
系統windows10家庭版
jdk 1.8.0_192官網安裝及環境變數新增,網上教程很多,不在贅述
tomcat 8.5.50官網
geoserver 2.16.1GeoServer 是 OpenGIS Web 伺服器規範的 J2EE 實現,利用 GeoServer 可以方便的釋出地圖資料,允許使用者對特徵資料進行更新、刪除、插入操作,通過 GeoServer 可以比較容易的在使用者之間迅速共享空間地理資訊 由於Geoserver依賴於jdk環境和tomcat環境,所以需要先安裝jdktomcat
.shp提供資料,說一下幾種相關的資料格式的含義

檔名含義必要性
shp 儲存向量資料的空間資訊 必須
shx 要素幾何特徵的索引檔案 必須
dbf 儲存適量資料的屬性資訊 必須
sbn/sbx 儲存要素空間索引的檔案
fbn/fbx 儲存只讀形狀檔案的功能的空間索引檔案
ain/aih 儲存表或主題屬性表中活動欄位的屬性索引的檔案
atx 為ArcCatalog中建立的每個shapefile或dBASE屬性索引建立.atx檔案
ixs 讀寫shapefile的地理編碼索引
mxs 讀寫shapefile的地理編碼索引(ODB)格式
prj 儲存座標系資訊的檔案,由ArcGIS使用
xml ArcGIS的元資料-儲存有關的shapefile的資訊

地圖由圖層建立,圖層大致分類點線面三類

檢視jdk是否安裝成功

win+R 輸入 cmd進入命令終端輸入java -version點選回車出現對應版本號說明jdk安裝和環境變數配置成功

檢視tomcat環境變數和簡單配置

簡單說一下tomcat資料夾的作用
/bin存放啟動和關閉tomcat的指令碼檔案
/conf存放Tomcat伺服器的各種配置檔案,其中包括server.xml(Tomcat的主要配置檔案)、tomcat-user.xml和web.xml等配置檔案
/lib存放tomcat與web應用的Jar包
/logs存放Tomcat的日誌檔案
/temp存放Tomcat執行時候產生的臨時檔案
/webapps當釋出Web應用程式的時候,通常把Web應用程式的目錄以及檔案放到這個目錄下
/workTomcat將JSP產生的Servlet原始檔和位元組碼存放在這個檔案目錄下

環境變數新增

這裡的變數值就是tomcat解壓的資料夾路徑

新建 CATALINA_BASE,變數值:D:myCodeapacheTomcat
新建 CATALINA_HOME,變數值:D:myCodeapacheTomcat
編輯 PATH,新增變數值:%CATALINA_HOME%lib;%CATALINA_HOME%bin;

檢視

找到tomcat配置目錄找到bin目錄下的startup.bat點選執行,路徑如下,
D:myCodeapacheTomcatbinstartup.bat
在瀏覽器中輸入http://localhost:8080/出現如下圖頁面則表示tomcat服務配置成功

埠配置

tomcat預設埠為8080如果出現衝突可在tomcat-->conf-->servar.html檔案中的port="8080"修改為port="8081"修改後再次重啟訪問即可

tomcat服務啟動出現亂碼

找到tomcat-->conf-->logging.properties如果開始時UTF-8 就把這一行刪除或者改為GBK,系統是預設是支援GBK的, 所以tomcat升級之後使用了UTF-8 和控制檯不一致導致亂碼,修改的後重啟tomcat服務即可

如果需要優化連線池配置和優化連線引數以及將tomcat註冊為服務,自行百度配置,此處只是簡單配置不做詳細講解

GeoServer 安裝部署

方案一、下載安裝包直接進行下一步,下一步,下一步選擇對應的依賴即可完成,不在詳細描述,著重看第二個方案

方案二、下載zip原始碼解壓包,直接部署到tomcat裡面執行geosever

geoServer部署訪問

眾所周知tomcat是支援war包部署的,將下載的zip檔案解壓,把geoserver.war包拿出來扔到comcat --> webapps下,啟動tomcat服務即可,由於我前面把tomcat埠修改為8081,訪問時在瀏覽器輸入`
http://127.0.0.1:8081/geoserver/web/看到如下圖介面則表示geoserver部署成功,然後使用geoserve服務預設的賬號密碼進行登陸,預設賬號admin密碼geoserver`

geoServer預設賬號密碼修改

在左側導航中找到圖中1的選單項點選,然後點選圖片中的2,最後點選賬號進入新的頁面

將舊密碼刪除,設定為自己的密碼,點選最下面的儲存,即可

geoServer新建工作區

點選工作區,點選新增新的工作區填寫工作區名稱,名稱空間url地址,這個地址在地圖釋出後可以呼叫不同的圖層,一定要填寫

geoServer 新建資料來源

這裡涉及到的資料下載會在文章最後宣告
資料下載後解壓將其放到tomcat --> webapps --> geoserver --> data下

選擇資料儲存點選新增新的資料儲存選擇s向量資料來源下的Shapefile(.shp)格式

選擇工作區,填入資料來源名稱,選擇好字元編碼,字元編碼應當根據資料來源來定,選擇對應的.shp格式檔案,然後儲存

geoServer圖層釋出和圖層編輯

新建資料儲存儲存後,出現如下圖頁面,點擊發布

釋出後進行圖層編輯,在下面找到定義SRS點選查詢在彈框中輸入4326回車選中,然後在邊框中選擇從資料中計算和Compute from native bounds最後點選儲存

geoServer圖層預覽

點選Layer Preview找到剛才儲存的圖層點選OpenLayers

在瀏覽器出現如圖表示一個簡單的離線地圖已經發布完成,如果需要釋出多個圖層,重複如上步驟即可

geoServer圖層樣式

想要像一個真正的地圖一樣我們需要新增一些樣式,當你上傳的樣式檔案比較多時,在關聯操作時將帶來很大的不便,尤其當你的一個geoserver伺服器中,有多達幾十個圖層的。因此,建議樣式和圖層一一對應。這樣方便維護。點選Style再點選Add a new style,然後填寫名稱選擇對應的工作區這裡我們選擇複製一個官方的樣式,稍微修改,修改後點選Validate按鈕進行校驗,最後提交樣式設定完成

圖層組的建立

眾所周知,一個完整的地圖服務是有很多單個圖層組成的,在geoserver中,我們通過使用圖層組這一功能,把單個圖層組合起來,一起釋出,作為一個完整的地圖服務。我們在圖層組中進行圖層疊加和樣式繫結。點選圖層組新增新圖層組新增名稱和標題填寫資料地圖中的邊界,新增圖層選擇對應的圖層樣式,點選儲存


圖層組的預覽也是在Layer Preview中,找到剛才我們新增圖層組點選OpenLayers預覽會發現地圖樣式改變了

至此就是geoServer離線地圖伺服器搭建的全部過程,服務搭建資料來源於網路,僅供交流學習,商用請自行進行商業授權,如有不足之處歡迎指正,謝謝。
資料下載:shp資料下載

轉自:https://segmentfault.com/a/1190000021732591