文章版權由作者李曉暉和博客園共有,若轉載請於明顯處標明出處:http://www.cnblogs.com/naaoveGIS/。
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.結果展示
以下是通過自動化工具生成的文件:


-----歡迎轉載,但保留版權,請於明顯處標明出處:http://www.cnblogs.com/naaoveGIS/
如果您覺得本文確實幫助了您,可以微信掃一掃,進行小額的打賞和鼓勵,謝謝 ^_^

