在mapbox中添加geoserve发布的vector数据

本文介绍如何在Mapbox中添加GeoServer提供的矢量数据,涉及下载扩展、解决跨域、创建Gridsets和发布,同时提供坐标转换指南。
摘要由CSDN通过智能技术生成

        最近需要在mapbox中添加geoserve发布的vector数据,能搜到的结果不是很多并且有些坑,大家说的不是很全,自己都踩了以后总结了这篇文章,也算是写给其他和我一样的小白吧.

1.下载切片扩展

下载好的geoserve不自带适量切片,需要先到官网下载geoserver对应的插件,一定要下载自己geoserve对应的版本

网址:GeoServer

点击archive可以查看以往的版本

将下载的jar包放置到webapps\geoserver\WEB-INF\lib下 

这个是我的路径,实在找不到的话可以直接搜web-inf

D:\geoserver\GeoServer-geoserver-2.18.0-bin\webapps\geoserver\WEB-INF

重新启动geoserve,打开任意一图层,出现如图所示四行,说明已经安装成功.

2.解决geoserve跨域问题

找到webapps\geoserver\WEB-INF路径,打开web.xml文件

这个是我的路径

D:\geoserver\GeoServer-geoserver-2.18.0-bin\webapps\geoserver\WEB-INF

将以下两段代码的注释删掉,大概在170行和220行

修改完以后我的跨域问题成功解决了,如果解决不了可以参考这两篇文章

geoserver完美跨域解决方式(2024版) - 知乎

Geoserver跨域终极解决方案_origin does not correspond to request-CSDN博客

3.创建Gridsets

在mapbox中投影默认使用的是3857,因此我们需要将图层发布为3857,但geoserve只有4490和900913两种格式,因此我们需要自己创建gridset

进入geoserve后,点击gridsets,点击create a new gridset

name可以直接叫EPSG:3857,

点击查找,搜索3857选中即可,

点击下面的蓝字,可以获得最大值最小值

点击add zoom level可添加切片等级,根据自己的需要添加即可,检查完没有错误点击保存.

4.发布矢量切片 

因mapbox默认是3857坐标系,因此如果数据源坐标系不是3857,需要进行坐标转换,否则发布出来的图层与地图存在偏移.

以下为坐标转换步骤,一致的可以直接跳过

将数据加载进arcgis,点击属性,查看坐标系,与3857不符,需进行坐标转换

打开投影工具,输出坐标系选择web墨卡托,点击确定,即可得到3857

打开geoserve,点击数据存储,新建数据源

选择shapefile数据源

连接参数设置为刚刚导出的3857坐标系下的数据,点击保存后,点击发布

定义SRS选择EPSG:3857,点击从数据中计算与Compute form native bounds

确定一下范围对不对

不要带保存,页面滑到最上面点击tile caching 

将这四个都打上√

选择刚刚创建的3857坐标系,点击+,检查无误后点击保存

点击tile layers,可以看到刚刚发布的图层,选择select one,在下拉框中选择EPSG:3857/pbf,即可看到刚刚发布的图层

点击左上角geoserve图标,进入GeoServer首页,点击tms,

找到对应的pbf

5.在mapbox中添加图层

tiles为对应的pbf路径,复制后需要再后面加上/{z}/{x}/{y}.pbf

例如:http://localhost:8080/geoserver/gwc/service/tms/1.0.0/cite%3Aroad-web3857@EPSG%3A3857@pbf/{z}/{x}/{y}.pbf

source-layer:即为图层名字,可以在这边找到

其他参数可以去参考mapbox文档,这里就不在细说

  • 22
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值