简析Geoserver中获取图层列表以及各图层描述信息的三种方法

文章版权由做者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/html

1.背景

实际项目中须要获取到Geoserver中的图层组织以及各图层的描述信息:好比字段列表等。在AGS中,咱们能够直接经过其提供的REST服务获取到图层组织状况以及图层详细信息列表,具体以下所示:微信

 

那么在Geoserver中是否也有相关用法?各类方法之间有何优劣?spa

2.REST请求方法

2.1方法描述

该方法与上面讲解的AGS的REST请求方法相似,也是先获取到组织状况而后再进行各个图层的描述信息获取:3d

获取workspace信息:rest

 

获取workspace下的datasource信息:获取workspace下datasource中的layer信息:server

 

 2.2 缺点

该方法在Geoserver中,必须先登录获取到权限,发送rest请求时才能成功。在代码中若是不作模拟登录直接发送请求,会报403错误。htm

 

3.使用GeoServerManager开发包进行获取

3.1方法描述

3.1.1环境准备

该环境不单单只是须要引用geoserver-manager-1.6.0.jar,想要真正可以使用,还须要引用其多个依赖jar:blog

 

 

3.1.2代码编写

 

3.2缺点

a.须要添加太多的jar。开发

b.对中文目前不能支持。当图层名为中文,以及当图层字段名有中文时均没法获取到。get

4.经过WFS请求获取

在WFS请求中有一个DescribeFeatureType,具体描述可参考:http://docs.geoserver.org/stable/en/user/services/wfs/reference.html

 

获取到图层组织(http://192.168.101.14/geoserver/ows?service=wfs&version=2.0.0&request=DescribeFeatureType):

 

 获取具体图层的详细信息(http://192.168.101.14/geoserver/urbanlayer/ows?service=wfs&version=1.0.0&request=DescribeFeatureType&typeName=cell):

 

5.总结

WFS方法即能支持中文字段、也能回避Jar的添加,并且权限上再也不须要先作登录,只需对返回的XML数据进行解析便可。综合来看,是目前首选的方法。

 

                                                                      -----欢迎转载,但保留版权,请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/

                                                                           若是您以为本文确实帮助了您,能够微信扫一扫,进行小额的打赏和鼓励,谢谢 ^_^

                                          

相关文章
相关标签/搜索