GeoServer离线地图
1.geoserver部分
需要安裝好 jdk 環境
1.1下載geoserver
選擇Stable穩定版下載,選擇Binary解壓版下載,下載成功之后將其上傳到Linux服務器。下載地址:http://geoserver.org/release/stable/
選擇Binary解壓版下載,下載成功之后將其上傳到Linux服務器上并解壓,然后編輯start.ini文件修改端口號。
1.2 安裝geoserver
解壓文件
unzip -n geoserver-2.20.1-bin.zip -d ./geoserver編輯start.ini文件修改端口號:
然后進入到bin目錄,授予執行.sh的權限
chmod u+x *.sh啟動運行
nohup ./startup.sh &然后在瀏覽器中訪問服務器的7070端口加geoserver就能訪問了
例如:http://ip:7070/geoserver
賬號密碼:admin/geoserver
1.4上傳文件
地圖下載
工具:全能地圖下載器,請自行安裝
地圖類型設置為 高德地圖 街道圖
下載瓦片,瓦片級別大于13級時,要分批下載,一次下載一個級別的瓦片
下載完成,選擇是,拼接成tif格式的地圖
將tif文件上傳到服務器
geoserver/data_dir目錄下創建tif文件存放位置,文件名稱按地圖級別命名
mkdir sxmap1.4配置geoserver
創建工作區
選擇菜單欄左側 數據 下的 工作區 這一項
給你的工作區起一個名字,命名空間填寫一個網址(這個網址不一定存在)用于標識你的工作區
配置數據存儲
選擇菜單欄左側 數據 下的 數據存儲 這一項
數據存儲是真正用于數據存儲的,你可以選擇用來存儲的數據類型
選擇 GeoTIFF 這一項
創建工作區時已將 sxmap 設置為默認工作區,這里不需要更換了,否則需要手動指定工作區
數據源名稱填寫為 3
連接參數選擇 3.tif 文件
之后點擊保存
系統生成的圖層名稱格式為 工作區:數據源名稱
發布圖層
上述操作點擊保存后跳轉到如下頁面,點擊發布按鈕
編輯圖層 數據 一欄下拉
坐標參考系統 一項 定義SRS 點擊查找,輸入 4326 后回車
地圖采用 EPSG:4326 格式,下圖中本機 SRS 是指我們下載的地圖資源是 EPSG:3857 格式的
設置圖片瓦片大小為512
編輯圖層頁面 上拉 從數據一欄更換為 Tile Caching 這一項
EPSG:4326 這一欄 Published zoom levels(限制縮放級別) 和 Cached zoom levels(設置緩存的縮放級別)設置為 3/3
EPSG:900913 這一欄刪除,不需要
完成上述操作,點擊保存,完成一層圖層發布
上述 配置數據存儲和發布圖層 操作是添加和發布了一個圖層,其它 tif 文件用同樣的方式添加進來,工作區不需要再次創建
注意以下幾處需要修改,其余操作按照文檔正常操作(以 4.tif 為例,其它同理)
按照上面的步驟所發布的是一個完整的TIF數據,但在實際瀏覽地圖的時候,是按照瓦片的方式只加載當前區域、當前層級的地圖數據。這個過程,就需要對完整的TIF進行切片,并緩存起來。為了增強用戶的瀏覽體驗,加快瀏覽的速度,可以通過切片功能預先生成這些切片數據,并將其緩存。
切片圖層
將 tif 文件切片為瓦片,切片生成的文件在 geoserver/data_dir/gwc 目錄下
根據地圖層級選擇切片范圍
如果在發布圖層 配置 Tile Caching 這一項操作正確的話,這里 Zoom start 和 Zoom stop是不需要重新配置的
- Number of tasks to use:該選項表示可以用多少個任務來切圖,類似于多線程的模式,如果電腦性能允許的情況下,可以適當增加這個數量,這樣切片的速度會更快些;如果電腦性能不高的話,數值太大的話,反而可能會影響性能。
- Type of operation:操作類型,包括:Reseed-regenerate all tiles(重新進行完整的切片操作)、Seed-generate missing tiles(只對缺失的部分進行切片)、Truncate-remove tiles(清空切片數據)。
- Grid Set:選擇切片的Gridset,這個和圖層配置時候設置的Gridset有關。
- Format:切片的數據格式。比如image/png
- Zoom start:切片的開始層級。
- Zoom stop:切片的結束層級,結合Zoom start的選項,就可以將這層級數據之間的所有層級數據進行切片。
- Modifiable Parameters:修飾參數,比如給切片選擇樣式等內容。
- Bounding box:切片的邊界范圍,是個可選項。
2.高德API使用
高德三方標準圖層示例
復制上方示例中的html到本地html中
高德API提供的示例代碼
上方替換的代碼來源于高德API中提供的代碼,如下
把script 標簽中 src="//webapi.amap.com/maps?v=1.4.15&key=您申請的key值"中的js下載到本地
訪問 webapi.amap.com/maps?v=1.4.15得到js
保存到本地 maps.js
新建目錄 js maps.js文件放到該目錄下
修改html以下部分,代碼在下方
打開html文件,效果如下,頁面被渲染了兩次,因為 maps.js 文件中訪問了高德的數據對頁面也進行了渲染
如下,高德服務的數據也對圖層進行了渲染
修改本地 maps.js 把文件中的 vdata.amap.com 這一段刪掉(js中共有兩處,本人不會js,通過這種方式不讓訪問高德的服務)
高德的渲染失敗了,只有我們搭建的地圖服務的渲染成功了
前端通過修改這兩處的值實現地圖縮放
總結
以上是生活随笔為你收集整理的GeoServer离线地图的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数字信号处理的fpga实现_FPGA数字
- 下一篇: 华为消息推送 有透传通道吗_求解在推送用