簡析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/

                                                                           若是您以爲本文確實幫助了您,能夠微信掃一掃,進行小額的打賞和鼓勵,謝謝 ^_^

                                          

相關文章
相關標籤/搜索