管理层¶
geoWebcache rest api提供了一个RESTful接口,用户可以通过该接口添加、修改或删除缓存的层。
备注
建议不要使用JSON来管理层,因为JSON库存在许多多值属性问题,如“参数过滤器”。
层列表¶
网址: /gwc/rest/layers.xml
方法 |
行动 |
返回代码 |
格式 |
---|---|---|---|
GET |
返回可用层的列表 |
200 |
XML |
POST |
400 |
||
PUT |
400 |
||
DELETE |
400 |
以下示例将请求完整的层列表:
curl -u admin:geoserver "http://localhost:8080/geoserver/gwc/rest/layers"
<layers>
<layer>
<name>img states</name>
<atom:link xmlns:atom="http://www.w3.org/2005/Atom" rel="alternate" href="http://localhost:8080/geoserver/gwc/rest/layers/img+states.xml" type="text/xml"/>
</layer>
<layer>
<name>raster test layer</name>
<atom:link xmlns:atom="http://www.w3.org/2005/Atom" rel="alternate" href="http://localhost:8080/geoserver/gwc/rest/layers/raster+test+layer.xml" type="text/xml"/>
</layer>
<layer>
<name>topp:states</name>
<atom:link xmlns:atom="http://www.w3.org/2005/Atom" rel="alternate" href="http://localhost:8080/geoserver/gwc/rest/layers/topp%3Astates.xml" type="text/xml"/>
</layer>
</layers>
层操作¶
网址: /gwc/rest/layers/<layer>.xml
备注
建议不要使用JSON来管理层,因为JSON库存在许多多值属性问题,如“参数过滤器”。
方法 |
行动 |
返回代码 |
格式 |
---|---|---|---|
GET |
返回层的XML表示形式 |
200 |
XML |
POST |
修改层的定义/配置 |
200 |
XML |
PUT |
添加新层 |
200 |
XML |
DELETE |
删除层 |
200 |
备注
缓存层有两种不同的表示,这取决于瓦片层是从geoserver wms层还是层组创建的。 (GeoServerLayer
)或配置在 geowebcache.xml
作为常规GWC层 (wmsLayer
)。地理服务器层称为 GeoServerLayer
并且不包含图像数据源信息,例如原始WMS URL。
陈述 :
GeoWebCache (
wmsLayer
)XML minimal
GeoWebCache (
wmsLayer
)XML
GeoServer (
GeoServerLayer
)XML minimal
GeoServer (
GeoServerLayer
)XML
下面的示例使用 cURL 工具,尽管示例适用于任何支持HTTP的工具或库。
添加geoWebCache层¶
以下示例将向geoWebcache添加新层:
curl -v -u admin:geoserver -XPUT -H "Content-type: text/xml" -d @layer.xml "http://localhost:8080/geoserver/gwc/rest/layers/newlayer.xml"
这个 layer.xml
文件定义如下:
<wmsLayer>
<name>newlayer</name>
<mimeFormats>
<string>image/png</string>
</mimeFormats>
<gridSubsets>
<gridSubset>
<gridSetName>EPSG:900913</gridSetName>
</gridSubset>
</gridSubsets>
<wmsUrl>
<string>http://localhost:8080/geoserver/wms</string>
</wmsUrl>
<wmsLayers>topp:states</wmsLayers>
</wmsLayer>
备注
地址资源 (newlayer
在本例中)必须与XML表示中的层名称匹配。
添加地理服务器层¶
以下示例将向geoserver和geoWebcache添加一个新层:
curl -v -u admin:geoserver -XPUT -H "Content-type: text/xml" -d @poi.xml "http://localhost:8080/geoserver/gwc/rest/layers/tiger:poi.xml"
这个 poi.xml
文件定义如下:
<GeoServerLayer>
<id>LayerInfoImpl--570ae188:124761b8d78:-7fd0</id>
<enabled>true</enabled>
<name>tiger:poi</name>
<mimeFormats>
<string>image/png8</string>
</mimeFormats>
<gridSubsets>
<gridSubset>
<gridSetName>GoogleCRS84Quad</gridSetName>
<zoomStart>0</zoomStart>
<zoomStop>14</zoomStop>
<minCachedLevel>1</minCachedLevel>
<maxCachedLevel>9</maxCachedLevel>
</gridSubset>
</gridSubsets>
<metaWidthHeight>
<int>4</int>
<int>4</int>
</metaWidthHeight>
<gutter>50</gutter>
<autoCacheStyles>true</autoCacheStyles>
</GeoServerLayer>
备注
地址资源( tiger:poi
在本例中)必须与XML表示中的层名称以及 现有的 地理服务器层或层组。
修改图层¶
此示例通过 layer.xml
文件。请求将参数过滤器和网格子集添加到现有的 tiger:poi
瓦片层:
<GeoServerLayer>
<enabled>true</enabled>
<name>tiger:poi</name>
<mimeFormats>
<string>image/png8</string>
</mimeFormats>
<gridSubsets>
<gridSubset>
<gridSetName>GoogleCRS84Quad</gridSetName>
<zoomStart>0</zoomStart>
<zoomStop>14</zoomStop>
<minCachedLevel>1</minCachedLevel>
<maxCachedLevel>9</maxCachedLevel>
</gridSubset>
<gridSubset>
<gridSetName>EPSG:900913</gridSetName>
<extent>
<coords>
<double>-8238959.403861314</double>
<double>4969300.121476209</double>
<double>-8237812.689219721</double>
<double>4971112.167757057</double>
</coords>
</extent>
</gridSubset>
</gridSubsets>
<metaWidthHeight>
<int>4</int>
<int>4</int>
</metaWidthHeight>
<parameterFilters>
<floatParameterFilter>
<key>ELEVATION</key>
<defaultValue>0.0</defaultValue>
<values>
<float>0.0</float>
<float>1.0</float>
<float>2.0</float>
<float>3.0</float>
<float>4.0</float>
</values>
<threshold>1.0E-3</threshold>
</floatParameterFilter>
</parameterFilters>
<gutter>50</gutter>
<autoCacheStyles>true</autoCacheStyles>
</GeoServerLayer>
使用http post方法而不是put:
curl -v -u admin:geoserver -XPOST -H "Content-type: text/xml" -d @poi.xml "http://localhost:8080/geoserver/gwc/rest/layers/tiger:poi.xml"
删除层¶
删除geoWebcache瓦片层将删除层配置 以及层的磁盘缓存 .删除图块层后,缓存目录中不会保留图块图像。
要删除层,请对层资源使用http delete方法:
curl -v -u admin:geoserver -XDELETE "http://localhost:8080/geoserver/gwc/rest/layers/newlayer.xml"
备注
如果尝试删除集成的瓦片层 GeoServerLayer
,仅删除geoWebCache层定义;geoServer定义保持不变。要删除geoserver中的图层,请使用geoserver REST 操作地理服务器资源。
另一方面,通过geoserver rest api删除geoserver层 will 自动删除关联的瓦片层。