@@ -2,6 +2,7 @@ package geoscript.style.io
22
33import geoscript.style.Style
44import org.geotools.factory.CommonFactoryFinder
5+ import org.geotools.styling.NamedLayer
56import org.geotools.xml.styling.SLDTransformer
67import org.geotools.styling.StyleFactory
78import org.geotools.styling.StyledLayerDescriptor
@@ -27,6 +28,7 @@ class SLDWriter implements Writer {
2728 * Write the Style to the OutputStream
2829 * @param options Optional named parameters
2930 * <ol >
31+ * <li >type = Whether to export UserLayer (default) or NamedLayer </li>
3032 * <li >exportDefaultValues = Whether to export default values or not (defaults to false) </li>
3133 * <li >indentation = The number of spaces to use when indenting (defaults to 2) </li>
3234 * </ol>
@@ -35,10 +37,16 @@ class SLDWriter implements Writer {
3537 */
3638 void write (Map options = [:], Style style , OutputStream out ) {
3739 StyleFactory sf = CommonFactoryFinder . getStyleFactory(null )
38- UserLayer userLayer = sf. createUserLayer()
39- userLayer. addUserStyle(style. gtStyle)
4040 StyledLayerDescriptor sld = sf. createStyledLayerDescriptor()
41- sld. addStyledLayer(userLayer)
41+ if (options. get(" type" , " UserLayer" ). equalsIgnoreCase(" UserLayer" )) {
42+ UserLayer userLayer = sf. createUserLayer()
43+ userLayer. addUserStyle(style. gtStyle)
44+ sld. addStyledLayer(userLayer)
45+ } else {
46+ NamedLayer namedLayer = sf. createNamedLayer()
47+ namedLayer. addStyle(style. gtStyle)
48+ sld. addStyledLayer(namedLayer)
49+ }
4250 def transformer = new SLDTransformer ()
4351 transformer. exportDefaultValues = options. get(" exportDefaultValues" , false )
4452 if (format) {
0 commit comments