geoserver+mapbox-gl 离线部署矢量切片地图服务学习笔记

本文主要是介绍geoserver+mapbox-gl 离线部署矢量切片地图服务学习笔记,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

geoserver安装

geoserver的安装包可以在官网下载Download - GeoServer,想要选择版本点击Archived找到指定版本进行下载http://geoserver.org/download/

(如果网络不稳定,也可以直接使用下面的下载地址)

geoserver-2.15.0.rar资源-CSDN文库

 前期准备工作

安装java运行环境

安装geoserver前需要先确定自己有没有java运行环境,打开cmd,输入

java -version

也可以查看系统环境变量是否有JAVA_HOME,以及它的地址是否正确

如果没有可以去oracle的官网下载(这里不推荐下载最新的包,考虑到兼容问题,建议下载java8)Java Downloads | Oracle

双击jdk.exe进行安装

安装时,安装地址可以选择将其部署到你指定的位置

安装好之后,桌面-此电脑(右键)(打开找到右侧栏)高级系统设置,系统属性-高级-环境变量-系统变量,选中Path,点击编辑,点击新建,输入你的jre地址,然后重启系统

同样,在系统变量添加jdk的地址,然后重启系统 

下载矢量切片插件

在对应版本下找到extensionGeoServer

安装geoserver

点击geoserver.exe一直下一步就可以,安装位置可以自行选择,这里java运行环境选择我们刚刚安装jdk的地址

安装矢量切片插件

安装好后,先不急着启动,把我们下载的矢量切片插件放在\WEB-INF\lib目录下,即GeoServer 2.15.0\webapps\geoserver\WEB-INF\lib

设置允许跨域

打开lib找到jetty相关jar包

将其放置在\WEB-INF\lib目录下

回到WEB-INF文件夹,打开web.xml文件,将cross-origin相关的两块代码注释去掉

接着运行geoserver就可以了

发布服务

1.启动geoserver

2.添加新的工作区

建议name和命名空间URL保持一致

选择设为默认工作区

3.添加新的数据存储

多个图层选择第一个,单个图层选择第二个(这里我选择第二个)

数据源名称建议和工作区名称保持一致,DBF字符集选择GBK或者UTF-8(如果有中文的话),shapefile文件位置为你要发布的shp文件所在位置,点击浏览选择你的文件位置,然后点击保存

4.发布服务

新建图层,定义SRS选择4326,边框选择从数据中计算

其余填好后切换到Tile Caching,勾选mapbox-vector-tile

设置好后,点击保存

回到左边栏Tile Caching 选择 Tile Layers 找到刚才自己发布的图层,点击Seed/Truncate

进行切图到本地的设置,任务数量自选,Format 要选择红框内容,点击两次 submit,完成切图

之后回到 Tile Layers 的那个页面点击 Select One 以pbf格式对图层进行预览

使用mapbox-gl-js加载离线矢量切片地图

矢量切片地图服务地址

回到首页,找到右下角tms,点击进入,选择你要加载的服务地址

加载api

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>mapboxGL</title><link href="https://api.mapbox.com/mapbox-gl-js/v1.13.3/mapbox-gl.css" rel="stylesheet"><script src="https://api.mapbox.com/mapbox-gl-js/v1.13.3/mapbox-gl.js"></script>

地图调用

(这里我遇到的问题是不能选坐标系4326的,选900913就可以出来了)

const map = new mapboxgl.Map({container: 'map', // container IDstyle: mapStyle,center: [116.39104, 39.90502],zoom: 5,
});
map.on('load', function() {map.addLayer({"id": "nanhai","type": "line","source": {"type": "vector",// TMS 调用需要加上这行"scheme":"tms",// URL 是 GeoServer 中 TMS 的服务链接,选择墨卡托投影的那个我这里是900913["URL/{z}/{x}/{y}.pbf"]"tiles": ["http://localhost:8089/geoserver/gwc/service/tms/1.0.0/aha%3Ananhai@EPSG%3A900913@pbf/{z}/{x}/{y}.pbf"],},// source-layer 是你 Geoserver 图层的名称即 上面 URL 的 title"source-layer": "nanhai","paint": {"line-color":"#00ffff","line-width": 8}});
});

效果预览

(我的底图用的是卫星图)

这篇关于geoserver+mapbox-gl 离线部署矢量切片地图服务学习笔记的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/779823

相关文章

linux服务之NIS账户管理服务方式

《linux服务之NIS账户管理服务方式》:本文主要介绍linux服务之NIS账户管理服务方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、所需要的软件二、服务器配置1、安装 NIS 服务2、设定 NIS 的域名 (NIS domain name)3、修改主

Nginx使用Keepalived部署web集群(高可用高性能负载均衡)实战案例

《Nginx使用Keepalived部署web集群(高可用高性能负载均衡)实战案例》本文介绍Nginx+Keepalived实现Web集群高可用负载均衡的部署与测试,涵盖架构设计、环境配置、健康检查、... 目录前言一、架构设计二、环境准备三、案例部署配置 前端 Keepalived配置 前端 Nginx

重新对Java的类加载器的学习方式

《重新对Java的类加载器的学习方式》:本文主要介绍重新对Java的类加载器的学习方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、介绍1.1、简介1.2、符号引用和直接引用1、符号引用2、直接引用3、符号转直接的过程2、加载流程3、类加载的分类3.1、显示

ubuntu如何部署Dify以及安装Docker? Dify安装部署指南

《ubuntu如何部署Dify以及安装Docker?Dify安装部署指南》Dify是一个开源的大模型应用开发平台,允许用户快速构建和部署基于大语言模型的应用,ubuntu如何部署Dify呢?详细请... Dify是个不错的开源LLM应用开发平台,提供从 Agent 构建到 AI workflow 编排、RA

ubuntu16.04如何部署dify? 在Linux上安装部署Dify的技巧

《ubuntu16.04如何部署dify?在Linux上安装部署Dify的技巧》随着云计算和容器技术的快速发展,Docker已经成为现代软件开发和部署的重要工具之一,Dify作为一款优秀的云原生应用... Dify 是一个基于 docker 的工作流管理工具,旨在简化机器学习和数据科学领域的多步骤工作流。它

Nginx部署React项目时重定向循环问题的解决方案

《Nginx部署React项目时重定向循环问题的解决方案》Nginx在处理React项目请求时出现重定向循环,通常是由于`try_files`配置错误或`root`路径配置不当导致的,本文给大家详细介... 目录问题原因1. try_files 配置错误2. root 路径错误解决方法1. 检查 try_f

使用Python和Pyecharts创建交互式地图

《使用Python和Pyecharts创建交互式地图》在数据可视化领域,创建交互式地图是一种强大的方式,可以使受众能够以引人入胜且信息丰富的方式探索地理数据,下面我们看看如何使用Python和Pyec... 目录简介Pyecharts 简介创建上海地图代码说明运行结果总结简介在数据可视化领域,创建交互式地

使用Python实现矢量路径的压缩、解压与可视化

《使用Python实现矢量路径的压缩、解压与可视化》在图形设计和Web开发中,矢量路径数据的高效存储与传输至关重要,本文将通过一个Python示例,展示如何将复杂的矢量路径命令序列压缩为JSON格式,... 目录引言核心功能概述1. 路径命令解析2. 路径数据压缩3. 路径数据解压4. 可视化代码实现详解1

Java学习手册之Filter和Listener使用方法

《Java学习手册之Filter和Listener使用方法》:本文主要介绍Java学习手册之Filter和Listener使用方法的相关资料,Filter是一种拦截器,可以在请求到达Servl... 目录一、Filter(过滤器)1. Filter 的工作原理2. Filter 的配置与使用二、Listen

SpringBoot基于配置实现短信服务策略的动态切换

《SpringBoot基于配置实现短信服务策略的动态切换》这篇文章主要为大家详细介绍了SpringBoot在接入多个短信服务商(如阿里云、腾讯云、华为云)后,如何根据配置或环境切换使用不同的服务商,需... 目录目标功能示例配置(application.yml)配置类绑定短信发送策略接口示例:阿里云 & 腾