postgis导入shp数据在geoserver里发布切片

今天就来说说这段时间自己整理出来的在使用mapbox sdk去调用geoserver发布的矢量切片服务。

1.安装好需要的软件环境,比如postgis、geoserver。打开postgis,点击view connection按钮,连接上对应的数据库服务,导入需要的shp数据。

注意:点击option按钮,编码格式改成GBK,勾选最下面的复选框选项,点击ok按钮即可。shp文件目录中不要出现中文,否则会报.dbf can not be  opened的错误提示。

2.打开geoserver,添加新的工作区——新建一个Gridsets,选好对应的参考系和范围extent信息——添加新的数据存储,选择postgis【postgis database】选项——新建图层,新建完成后点击发布按钮,在编辑图层页面点击Tile Caching按钮,填写切片信息【-vector-tile勾选需要的application/vnd.mapbox-vector-tile复选框】——点击左侧栏目Tile Layers,选择要切片的服务,点击seed/Truncate,进行切片处理。

【注意:在切片页面,Format格式如果选择image/png则代表是栅格瓦片,如果选择application/vnd.mapbox-vector-tile则是mapbox矢量切片服务】

3.最后点击geoserver图标按钮,查看发布好的切片服务,选择服务网址里带有900913的@pbf服务即可,在代码里调用则需要在该服务路径后面加上"/{z}/{x}/{y}.pbf"。需要注意的是要想发布切片服务,必须引入的jar包,去官网下载geoserver-2.18.2-vectortiles-plugin.zip,解压后放在geoserver\WEB-INF\lib里面即可。

提点题外话,如果需要自定义点线面的颜色,可以下载geoserver-2.19.0-css-plugin.zip,加压后放在geoserver\WEB-INF\lib里面即可。这压缩包里的jar引入后,可以自定义图层样式的css,具体操作在geoserver浏览器界面的工具栏的Styles里面操作即可。对于geoserver自定义图层样式,还可以在Qgis里安装插件BulkVectorExport,在官网下载BulkVectorExport-1.1.zip压缩包,然后打开Qgis——工具栏插件——上传插件压缩包即可。然后就可以在Qgis定义好样式,直接导出sld文件,在geoserver里的Styles里选择对应的sld格式,上传文件即可。

 

你可能感兴趣的:(postgis导入shp数据在geoserver里发布切片)