mapbox矢量切片标准_矢量切片(mapbox pbf)自定义服务搭建

本文介绍了如何搭建动态的Mapbox矢量切片服务,以解决数据库表动态更新的问题。通过使用Postile服务端代码,结合Sanic框架和PostgreSQL+PostGIS,实现数据库连接和图层发布。前端调用时,需正确配置Mapbox样式文件以获取所需数据。
摘要由CSDN通过智能技术生成

本人之前使用的矢量瓦片服务是用geoserver发布而来,详细步骤可以查阅:http://www.kingpika.top:5599/post/58。

这种方式有一个问题就是当你的数据库新添了一个表后你必须用geoserver发布一下才能使用它的矢量瓦片,因为业务需要,数据库中可能会动态添加进表,要动态的产生矢量服务,在此找到如下解决方案:

一、服务端搭建:

1.首先从该地址下载服务端代码,https://github.com/LawAlias/postile,这里使用的是sanic框架,需要python3环境。

下载完毕之后cd进文件夹内,运行python3 setup.py build,成功之后运行python3 setup.py install,可能会出现sanic版本错误,按照指示安装指定版本的sanic即可。大问题可能是提示你需要c++的运行环境,点击这里下载安装即可:https://pan.baidu.com/s/1A4bHLYY66H3SCF75-NCbkA提示一下需要4g的硬盘空间噢。

安装postgresql 2.4及以上版本,安装postgis扩展,并导入需要发布的数据。

2.环境安装完毕后,修改代码,主要是数据库连接字符:

b9b3d54612db?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

也可以在启动时输入数据库连接参数进行修改,在这就先用改代码的方法,将上述字符改成对应的账户名、密码、ip、端口号、数据库名称。

3.启动:cd到postile文件夹下,输入:

b9b3d54612db?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

其中—cors的意思是允许跨域,否则就会出现跨域问题。

同理输入如下参数可进行相应配置:

b9b3d54612db?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

例如你要在服务端和生产环境启动,可再输入—listen 0.0.0.0 —listen-port 3351 —debug False

启动完成之后在前端调用。

二、前端调用

1.mapbox调用:

在这重点要把style文件写对:

b9b3d54612db?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

其中interline即为需要调用的图层名称,参数field为返回的数据中包含的字段,多个字段用,隔开,默认返回全部字段。

3.maptalks因为使用了mapbox-gl的原因,加载效果和mapbox差不多:http://www.kingpika.top:3392/maptalks/demo/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值