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 ID
    style: 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
        }
    });
});

效果预览

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/433616.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

从新手到专家:一探究竟,最佳的Excel学习网站推荐!

介绍&#xff1a;Excel是一款由微软公司开发的电子表格软件&#xff0c;是Microsoft Office套件的一部分。它通过网格形式的工作表提供数据存储、分析和可视化等功能&#xff0c;适用于个人计算机数据处理。具体介绍如下&#xff1a; 数据存储&#xff1a;Excel能够存储大量数据…

大语言模型(LLM):每个专业人士的完美助手

「大语言模型&#xff08;LLM&#xff09;革命」&#xff1a;ChatGPT如何引领工作效率新篇章 在不断发展的技术领域&#xff0c;像 ChatGPT 这样的大型语言模型 (LLM) 已成为各行业专业人士不可或缺的工具。 这篇博文探讨了大语言模型&#xff08;LLM&#xff09;在专业环境中的…

Linux第69步_依据“旧字符设备的一般模板”编写LED驱动

在编写LED驱动之前&#xff0c;先要了解和硬件有关的一些知识。 1、了解“MMU内存管理单元”以及相关函数 MMU是Memory Manage Unit的缩写&#xff0c;意思是“内存管理单元”。 老版本的Linux内核要求处理器必须有“MMU内存管理单元”&#xff0c;而现在的Linux内核已经支持…

车牌定位识别企业版

车牌定位识别企业版&#xff0c;只需要OPENCV&#xff0c;采用YOLOV8NANO检测车牌区域&#xff0c;然后使用PADDLE OCR检测车牌&#xff0c;能识别各国车牌&#xff0c;支持C,PYTHON开发 车牌定位识别企业版&#xff0c;只需要OPENCV&#xff0c;支持C,python

什么是云游戏?云游戏平台可以运行3A游戏吗?

对于不熟悉游戏行业的人来说&#xff0c;面对云游戏可能会有一个疑问——除了单机游戏&#xff0c;现在所有游戏不都是联网玩吗&#xff1f;云游戏和网络游戏有什么区别&#xff1f; 实际上&#xff0c;云游戏和传统网络游戏有着本质的不同。 传统网络游戏需要玩家先下载并在本…

【HTML】HTML基础7.1(无序列表)

目录 标签 属性 效果 注意 标签 <ul> <li>列表里要装的东西</li> <li>列表里要装的东西</li> <li>列表里要装的东西</li> </ul> 属性 type&#xff1a; circle空心圆disc实心圆square方框 效果 circle空心圆效果…

Positional Encoding 位置编码

Positional Encoding 位置编码 flyfish Transformer模型没有使用循环神经网络&#xff0c;无法从序列中学习到位置信息&#xff0c;并且它是并行结构&#xff0c;不是按位置来处理序列的&#xff0c;所以为输入序列加入了位置编码&#xff0c;将每个词的位置加入到了词向量中…

【hugggingface】批量加速下载HuggingFace上的模型

镜像网站及说明&#xff1a;https://hf-mirror.com/ 其他教程&#xff1a;如何快速下载huggingface模型——全方法总结 一、huggingface-cli方法下载 1.1安装依赖 pip install -U huggingface_hub1.2 设置环境变量 linux export HF_ENDPOINThttps://hf-mirror.comwindows …

如何挑选好的游泳耳机?游泳耳机的六大避坑指南!

游泳耳机是现代科技与运动健康完美结合的产物&#xff0c;对于热爱水上运动的朋友来说&#xff0c;一款好的游泳耳机不仅能让你在水中畅游时享受到音乐带来的乐趣&#xff0c;还能保护你的听力。然而&#xff0c;市场上琳琅满目的游泳耳机品牌和型号让人眼花缭乱&#xff0c;如…

08、MongoDB -- MongoDB 的 集合关联($lookup 和 DBRef 实现集合关联)

目录 MongoDB 的 集合关联演示前提&#xff1a;登录单机模式的 mongodb 服务器命令登录【test】数据库的 mongodb 客户端命令登录【admin】数据库的 mongodb 客户端命令 SQL 术语 与 Mongodb 的对应关系使用 $lookup 实现集合关联语法格式添加测试数据1、查询出订单数量大于6&a…

混沌工程-经典案例分享

目录 前言 案例 1、强弱依赖不合理 2、预案不生效 3、异常数据不兼容 4、监控体系缺陷 5、系统缺整体架构设计 总结 前言 我们公司从启动混沌工程到现在已经几乎覆盖了线上的所有核心业务&#xff0c;先后进行过2000次演练共挖掘出120个漏洞。这些漏洞有些得了及时修复…

C if...else 语句

一个 if 语句 后可跟一个可选的 else 语句&#xff0c;else 语句在布尔表达式为 false 时执行。 语法 C 语言中 if…else 语句的语法&#xff1a; if(boolean_expression) {/* 如果布尔表达式为真将执行的语句 */ } else {/* 如果布尔表达式为假将执行的语句 */ }如果布尔表…

Java Day2 面向对象

这里写目录标题 1、static总结1.1 代码块1.1.1 静态代码块1.1.2 实例代码块1.1.3 小例子 2、继承2.1 权限修饰符2.2 方法重写2.3 子类访问成员特点2.4子类构造器的特点 3、多态4、final、常量4.1 final4.2 常量 5 抽象类5.1 概念5.2 模板设计方法 6、接口6.1 接口新方法6.2 接口…

openEuler学习——部署MGR集群

本文介绍如何利用GreatSQL 8.0.25构建一个三节点的MGR集群。 1.安装准备 IP端口角色192.168.20.1103306mgr1192.168.20.1113306mgr2192.168.20.1123306mgr3 配置hosts解析 [rootMGR1 ~]# cat >> /etc/hosts << EOF > 192.168.20.110 MGR1 > 192.168.20.1…

Qt QtCreator打开pro项目时出现假死现象

在Windows系统下&#xff0c;QtCreator打开pro项目时出现假死现象&#xff0c;左侧项目树形图无法展开&#xff0c;项目根节点一直在转圈。尝试关掉所有QtCreator进程&#xff0c;重新打开pro也是无济于事。 解决方案&#xff1a; 打开“运行”窗口&#xff08;快捷键&#x…

overleaf latex 笔记

overleaf: www.overleaf.com 导入.tex文件 1.代码空一行&#xff0c;代表文字另起一段 2. 1 2 3 排序 \begin{enumerate} \item \item \item \end{enumerate} 3.插入图片 上传图片并命名 \usepackage{float}导包\begin{figure}[H]&#xff1a;表示将图…

鸿蒙开发报错解决方案: cannot be smaller than version 10 declared in library [:library]

由于报错信息不详&#xff0c;即使给hvigor.js 提供--stacktrace 级别的日志也无法定位具体模块。 解决方案&#xff1a;修改编译源码js。 1、定位具体js&#xff1a;我的定位是&#xff1a;/Users/xdg/.hvigor/project_caches/489b334bc29a5a8428674c766cdae532/workspace…

智能边缘计算网关实现工业自动化与数据处理的融合-天拓四方

随着物联网&#xff08;IoT&#xff09;技术的迅速发展和普及&#xff0c;越来越多的设备被连接到互联网上&#xff0c;产生了海量的数据。如何有效地处理和分析这些数据&#xff0c;同时确保数据的安全性和实时性&#xff0c;成为了摆在企业面前的一大挑战。智能边缘计算网关作…

图像处理与视觉感知---期末复习重点(1)

文章目录 一、概述二、图像处理基础2.1 视觉感知要素2.2 像素间的一些基本关系2.2.1 相邻像素2.2.2 连通性2.2.3 距离度量 2.3 基本坐标变换2.4 空间变换与灰度值 一、概述 1. 图像的概念及分类。  图像是用各种观测系统以不同形式和手段观测客观世界而获得的、可以直接或间接…

百度AI已经实现盈利,普通人如何通过AI短视频直播拿到结果?

从百度最新的财报数据来看&#xff0c;百度AI为广告业务、智能云业务带来了增长动力。除了直接带来商业收入&#xff0c;AI还为百度带来了新增长。2023年&#xff0c;百度用户总数、用户时长及用户粘性、付费率等都有所增加。数据显示&#xff0c;2023年12月&#xff0c;百度Ap…