-
Notifications
You must be signed in to change notification settings - Fork 193
Layer Groups
Layer Group REST encoding has changed in GeoServer 2.3: if you want to read Layer Groups in GeoServer 2.3 or greater, you need at least geoserver-manager 1.5.1.
To get all Layer Groups:
RESTLayerGroupList allGroups = reader.getLayerGroups();
RESTLayerGroupList workspaceGroups = reader.getLayerGroups(workspace);
To get a specific Layer Group:
RESTLayerGroup groupReader = reader.getLayerGroup(groupName);
RESTLayerGroup groupReader = reader.getLayerGroup(workspace, groupName);
Available properties in GeoServer 2.2:
groupReader.getName();
groupReader.getWorkspace();
groupReader.getCRS();
groupReader.getMinX();
groupReader.getMaxX();
groupReader.getMinY();
groupReader.getMaxY();
Additional properties in GeoServer 2.3:
groupReader.getMode();
groupReader.getTitle();
groupReader.getAbstract();
groupReader.getRootLayer();
To get a list of layers contained in the group, in GeoServer 2.2:
RESTLayerList layers = groupReader.getLayerList();
Since GeoServer 2.3, a Layer Group can contain also other Layer Groups, its xml encoding doesn't contain a list of layers
, but a list of publishable
elements.
To get a list of layers and layer groups contained in the group, in GeoServer 2.3:
RESTPublishedList publishables = groupReader.getPublishedList();
To configure a Layer Group for GeoServer 2.2 you can use the encoder GSLayerGroupEncoder
.
For GeoServer 2.3 you must use GSLayerGroupEncoder23
.
To create a new Layer Group:
GSLayerGroupEncoder23 groupWriter = new GSLayerGroupEncoder23();
groupWriter.addLayer("topp:cities");
groupWriter.addLayerGroup("tasmania");
publisher.createLayerGroup(workspace, groupName, groupWriter)
To update an existing Layer Group:
publisher.configureLayerGroup(workspace, groupName, groupWriter)