簡析Geoserver中獲取圖層列表以及各圖層描述信息的三種方法


文章版權由作者李曉暉和博客園共有,若轉載請於明顯處標明出處:http://www.cnblogs.com/naaoveGIS/

1.背景

實際項目中需要獲取到Geoserver中的圖層組織以及各圖層的描述信息:比如字段列表等。在AGS中,我們可以直接通過其提供的REST服務獲取到圖層組織情況以及圖層詳細信息列表,具體如下所示:

 

那么在Geoserver中是否也有相關用法?各種方法之間有何優劣?

2.REST請求方法

2.1方法描述

該方法與上面講解的AGS的REST請求方法類似,也是先獲取到組織情況然后再進行各個圖層的描述信息獲取:

獲取workspace信息:

 

獲取workspace下的datasource信息:獲取workspace下datasource中的layer信息:

 

 2.2 缺點

該方法在Geoserver中,必須先登陸獲取到權限,發送rest請求時才能成功。在代碼中如果不做模擬登陸直接發送請求,會報403錯誤。

 

3.使用GeoServerManager開發包進行獲取

3.1方法描述

3.1.1環境准備

該環境不僅僅只是需要引用geoserver-manager-1.6.0.jar,想要真正能夠使用,還需要引用其多個依賴jar:

 

 

3.1.2代碼編寫

 

3.2缺點

a.需要添加太多的jar。

b.對中文目前不能支持。當圖層名為中文,以及當圖層字段名有中文時均無法獲取到。

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/

                                                                           如果您覺得本文確實幫助了您,可以微信掃一掃,進行小額的打賞和鼓勵,謝謝 ^_^

                                          

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM