Answers:
您可以使用GeoServer REST API进行许多操作,这些操作没有专门记录,也没有代码示例。这是解决这些问题的策略。
首先,从文档中的示例开始。确保您熟悉如何使用带有XML或JSON的HTTP POST创建简单的新层或工作区。
然后,通过GeoServer UI,手动创建没有文档(在这种情况下为要素类型)所需的对象。
最后,手动浏览到GeoServer REST索引(http://your-server/rest
或http://your-server/geoserver/rest
)。浏览索引,直到找到刚创建的要素类型。将“ .xml”或“ .json”添加到此资源的URL,您将看到其XML或JSON表示形式。
这种表示形式是您通过POST来通过API创建要素类型所需要的。表示形式的URL是POST所需的URL(例如,http://your-server/geoserver/rest/..../myFeatureTypeName.json
)。
您可以使用此策略找出如何以编程方式在GeoServer中创建或配置任何资源。
featuretypes
商店的端点,例如geoserver/rest/workspaces/<workspacename>/datastores/<storename>/featuretypes/
我知道这是一个古老的问题,但是以防万一其他人像我一样感到困惑。在重要的是,你不能从创建图层的http://的GeoServer / REST /层端点。
如果要添加矢量层,可以通过要素类型资源来完成:
http://docs.geoserver.org/stable/zh-CN/user/rest/api/featuretypes.html
POST到:
/workspaces/<ws>/datastores/<ds>/featuretypes
您要在其中放置要素类型的工作空间在哪里,要使用的数据源将创建一个新的矢量要素类型,即图层。
如果您想知道可以发布什么,@ Rohan是正确的,最简单的方法是查询现有功能类型,即通过IE浏览器获取http GET
/workspaces/<ws>/datastores/<ds>/featuretypes/<ft>.json
它将返回现有的要素类型为json。
如果您了解Java,则可能需要看一下使用REST在GeoServer上执行各种操作的简单代码。
要添加图层,应定义数据存储和要素类型。假设它们已经定义了样式(如http://boundlessgeo.com/2012/10/adding-layers-to-geoserver-using-the-rest-api/中的指南中所述,以添加PUT层请求必须通过以下地址发送到geoserver:
http://geoserver.host/geoserver/rest/layers/NEW_LAYER_NAME
具有如下数据内容:
<layer>
<name>NEW_LAYER_NAME</name>
<type>VECTOR</type>
<defaultStyle>
<name>myStyle</name>
</defaultStyle>
<resource class="featureType">
<name>myFeature</name>
</resource>
</layer>