簡析GeoServer服務的內部檔案組織以及GeoServer自動化服務釋出工具的開發思路
1.前言
通過GeoServer釋出的服務,在GeoServer內部有固定的檔案組織和構造。如果對該檔案組織和構造有足夠的瞭解,可以通過此規則來自己開發GeoServer服務的釋出工具,簡化工程人員的操作流程。此篇文章將跟大家一起探討其中規則。
2.瞭解GeoServer中與服務相關的基本檔案
在GeoServer的Data資料夾中有如下檔案:
其中,workspaces檔案是圖層服務相關的配置檔案存放處。
styles資料夾是style相關檔案的預設存放處。
2.1workspaces資料夾
此資料夾中包括了:namespace.xml,workspace.xml,datastore.xml,featuretype.xml,layer.xml。
此資料夾中的檔案組織如下圖:
2.2styles資料夾
3.以一個圖層的釋出為例,詳解與此服務相關的各配置檔案以及它們之間的關係
一個服務能夠被GeoServer成功的釋出,得益於GeoServer內部對與該服務相關的配置檔案的讀取。這裡,我詳細的與大家一起探討一個以postGIS為資料來源的圖層服務的各配置檔案的編寫。
3.1編寫workspace.xml和namespace.xml檔案
workspace.xml的檔案如下:
namespace.xml的檔案如下:
注意:以上兩個配置檔案中,workspaceID和namespaceID在會接下來的配置檔案中使用。
3.2編寫datastore.xml檔案
注意:其中namespaceUrl與之前的namespaceUrl要保持一致。DatasourceID在還在接下來的配置檔案中使用。
3.3編寫樣式檔案(test.sld和test.xml)
test.sld檔案如下所示(具體sld如何編寫可以參考我的部落格http://www.cnblogs.com/naaoveGIS/p/4176198.html):
test.xml的檔案編寫如下:
注意:text.xml中的filename配置為想要關聯的sld檔案。StyleName在接下來的配置檔案中使用。
3.4編寫featuretype.xml檔案
該檔案詳細描述了所要釋出的圖層的資訊,具體如下:
注意:此處datastoreID和namespaceID均使用以上配置中生成的ID。nativeName中使用postgis中資料來源的名稱(圖層表名)。FeaturetypeID會在接下來的配置中使用。
3.5編寫layer.xml檔案
layer.xml為釋出前的最後一個配置了,其具體配置如下:
注意:styleID和featuretypeID均為以上配置檔案中生成的ID。
4.GeoServer自動化釋出服務工具的探索
在瞭解了GeoServer釋出一個圖層所需的配置檔案,以及各配置檔案之間的聯絡後,我們可以基於這個規則製作一個GeoServer自動化釋出服務的工具。其流程圖如下:
注意:配置檔案可以由模板生成,針對不同圖層,在模板上修改即可。
5.結果展示
以下是通過自動化工具生成的檔案:
如果您覺得本文確實幫助了您,可以微信掃一掃,進行小額的打賞和鼓勵,謝謝 ^_^