1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > GeoServer发布PostGIS数据

GeoServer发布PostGIS数据

时间:2019-04-23 14:14:24

相关推荐

GeoServer发布PostGIS数据

文章目录

前言一、数据准备二、使用GeoServer发布PostGIS图层1.创建数据源2.发布图层三、使用GeoServer发布SQL1.创建SQL图层2.图层配置3.服务发布4.参数传值总结

前言

PostGIS是对象关系型数据库系统PostgreSQL的一个扩展,PostGIS提供如下空间信息服务功能:空间对象、空间索引、空间操作函数和空间操作符。使用GeoServer可以方便的将PostGIS中的数据发布成服务。

一、数据准备

使用PostGIS Shapefile Import/Export Manager工具将Shapefile文件导入到Postgres数据库中。

二、使用GeoServer发布PostGIS图层

1.创建数据源

在新增数据源页面选择PostGIS类型数据源。

在新建数据源配置页面选择工作区,填写数据源名称及PostGIS数据库连接参数信息。

点击保存并关闭按钮后,GeoServer将跳转至图层发布界面,页面中会列出数据源中所有能够进行发布的图层。

2.发布图层

与发布Shapefile数据一样点击发布按钮,进行图层发布。发布的时候需要坚持坐标系信息,计算图层的原始边界范围和经纬度范围。

点击保存并关闭按钮完成发布后,可以在图层预览页面中对刚发布的图层进行预览。

三、使用GeoServer发布SQL

GeoServer除了可以直接将PostGIS中带空间字段的表发布成地图服务外,还可以在GeoServer中配置SQL,将SQL的查询结果进行服务发布。

1.创建SQL图层

点击图层进入图层列表页面,在图层列表页面点击新增图层,然后选择刚新增的PostGIS数据源,点击页面中的Configure new SQL view进入图层配置界面。

2.图层配置

在新增页面填写sql视图名称和sql语句,sql语句可以配置参数,参数是允许在服务调用时通过url参数传递进来作为sql查询条件使用,参数格式为"%参数名%",最后还需设置空间字段的SRID值,用来标识当前图层所使用的坐标系信息。

3.服务发布

保存进入图层编辑界面,检查图层坐标系及计算边界范围和经纬度范围,最后点击保存并关闭完成服务发布。

4.参数传值

预览图层是可以在URL中添加viewparams进行参数传递,多个参数使用 ; 进行分隔,如存在特殊字符需使用 \ 进行转义。

viewparams=NAME:集美

http://localhost:8080/geoserver/kongj18/wms?service=WMS&version=1.1.0&request=GetMap&layers=kongj18%3Axiamen_view&bbox=117.881308968799%2C24.4212524537416%2C118.407871968799%2C24.9057384737416&width=768&height=706&srs=EPSG%3A4326&styles=&format=application/openlayers&viewparams=NAME:集美

总结

使用GeoServer可以方便的发布PostGIS中的表和视图,但使用sql参数时需要注意,只有在无其他更好解决方法时才使用,如果可以使用cql filter或者其他方法可以实现的不建议使用sql参数。如果没有设置好参数字段的校验规则可能会sql注入的风险。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。