本文關注的是什麼是csw,以及如何通過csw構造目錄下的wms等服務。
首先看看wiki:如wiki詞條所述,csw,就是catalogue service for the web,是ogc眾多網路服務標準中的一種,用於將地理記錄的目錄以xml的形式發布在網路中。這裡所說的目錄是由描述地理資料的記錄(如kml)、描述地理服務的記錄(如wms)等組成的。通過對其定義的理解,我們可以得出結論,使用csw服務,應該是可以獲取該目錄中所有的地理資料或地理服務的元資料等資訊。ok,確定了這一點,我們可以不用仔細研究csw提供的操作都有什麼功能,而是嘗試自己來發布、呼叫csw,這樣理解的更快速更具體。
我們從最通用的getcapabilities操作入手,如鏈結中教程給出的urlhttp://localhost:8080/geoserver/csw?service=csw&version=2.0.2&request=getcapabilities。研究返回xml,在根標籤下有四個子標籤:、
<
ows:serviceprovider>、
<
ows:operationsmetadata
>、<
ogc:filter_capabilities
>
。下面重點研究一下》標籤。該標籤下的一級子標籤主要是服務端提供的操作(operation)。如wiki所說,無論什麼服務端一定都必須提供的操作有getcapabilities、describerecord、getrecords和getrecordbyid,而getdomain、harvest和transaction操作是不一定的。也就是說,前面四個服務是csw服務的核心,也就是目錄訪問的核心。而其他的一級子標籤則是所有操作都可能會有的,描述了該操作的引數(parameter)和約束。
1、getcapabilities
無需多言。
2、describerecord
csw的定義中的catalogue所管理的,就是一項項record。顧名思義,該服務就是描述record支援的資訊模型,這其實就是getcapabilities該標籤下的typename引數。geoserver推薦使用的模型是
gmd:md_metadata,我目前看過的所有服務都支援該模型,後面record的訪問也會以該模型為基礎。具體例項見於geoserver的csw教程。
3、getrecords
該操作可能是csw最核心的操作,這才是真正的在訪問服務端目錄。url鏈結如http://localhost:8080/geoserver/csw?service=csw&version=2.0.2&request=getrecords&typenames=gmd:md_metadata&resulttype=results&elementsetname=full&outputschema=注意這裡的幾個引數,基本上是對應了getcapabilities返回值的引數型別的,如typenames、outputschema和
resulttype,分別制定了record資訊模型和返回結果形式。不一樣的是elementsetname這一引數,它是用於指定返回record元素的顯示集合,預設是summary。為了得到完整的返回結果,這些引數都不可缺少。
再來看看getrecords的返回xml。csw:searchresults標籤下的子標籤》就對應了各個record,這裡使用的是gmd:md_metadata資訊模型。該模型下每一項record又分別有》、>、>、>、>、>
這幾個子標籤。例如想通過目錄裡對應wms的record訪問wms服務,我們要關注的資訊有:
>
對應layers引數
>
>
>
對應伺服器url
對應srs、bbox引數
在此基礎上,再加上wms服務的request=getmap、service=wms、version=1.1.1、format=image%2fpng等,就可以構造出完整的wms請求了。
4、getrecordbyid
顧名思義,這是通過layer id獲取具體record的方法,也不需要贅述(當然前提是知道id)。
以上基本就是需要了解的csw服務使用方法,如有錯誤還請指正,謝謝!
附幾個公共csw服務:
微服務學習實戰筆記 目錄
近期在學習熱的一塌糊塗微服務,要涉及到的內容還是非常多的,記錄一下學習實戰的過程,歡迎大佬提出寶貴意見。一 系統架構篇 微服務學習實戰筆記 1.1 系統架構篇 技術選型 二 系統開發篇 三 系統部署篇 單機 微服務學習實戰筆記 3.1 系統部署篇 安裝配置consul 微服務學習實戰筆記 3.2 系...
AD學習筆記6 活動目錄下的目錄服務
active directory提供集中組織 管理和控制對網路資源訪問的方法。1.active directory命名規範 distinguished name dc com,dc contoso,cn users,cn james smith表示使用者物件james smith在contoso.c...
學習筆記目錄
備註 個人學習筆記 健忘選手,做好筆記,溫故而知新 一 airtest airtest學習 一 airtest學習 二 airtest學習 三 airtest學習 四 二 jenkins jenkins學習 一 jenkins學習 二 三 selenium3 selenium3學習 一 seleni...