Search in sources :

Example 1 with Style

use of org.opengis.style.Style in project sldeditor by robward-scisys.

the class MapRender method renderSymbol.

/**
 * Render symbol.
 *
 * @param mapContent the map content
 * @param styledLayer the styled layer
 * @param style the style
 */
private void renderSymbol(MapContent mapContent, StyledLayer styledLayer, Style style) {
    for (Layer layer : mapContent.layers()) {
        mapContent.removeLayer(layer);
    }
    switch(geometryType) {
        case RASTER:
            {
                GridReaderLayer gridLayer = new GridReaderLayer(gridCoverage, (org.geotools.styling.Style) style);
                mapContent.addLayer(gridLayer);
                mapContent.getViewport().setBounds(gridLayer.getBounds());
                if (gridCoverage != null) {
                    mapPane.setDisplayArea(gridCoverage.getOriginalEnvelope());
                }
            }
            break;
        case POINT:
        case LINE:
        case POLYGON:
            {
                FeatureSource<SimpleFeatureType, SimpleFeature> tmpFeatureList = null;
                if (styledLayer instanceof UserLayer) {
                    if (userLayerFeatureListMap != null) {
                        tmpFeatureList = userLayerFeatureListMap.get(styledLayer);
                    }
                } else {
                    tmpFeatureList = featureList;
                }
                if (tmpFeatureList != null) {
                    mapContent.addLayer(new FeatureLayer(tmpFeatureList, (org.geotools.styling.Style) style));
                    try {
                        mapPane.setDisplayArea(tmpFeatureList.getBounds());
                    } catch (IOException e) {
                        ConsoleManager.getInstance().exception(this, e);
                    }
                }
            }
            break;
        default:
            break;
    }
    wmsEnvVarValues.setMapBounds(mapBounds);
    EnvironmentVariableManager.getInstance().setWMSEnvVarValues(wmsEnvVarValues);
}
Also used : GridReaderLayer(org.geotools.map.GridReaderLayer) FeatureSource(org.geotools.data.FeatureSource) FeatureLayer(org.geotools.map.FeatureLayer) Style(org.opengis.style.Style) IOException(java.io.IOException) UserLayer(org.geotools.styling.UserLayer) GridReaderLayer(org.geotools.map.GridReaderLayer) FeatureLayer(org.geotools.map.FeatureLayer) Layer(org.geotools.map.Layer) UserLayer(org.geotools.styling.UserLayer) StyledLayer(org.geotools.styling.StyledLayer)

Example 2 with Style

use of org.opengis.style.Style in project sldeditor by robward-scisys.

the class MapRender method internalRenderStyle.

/**
 * Internal render style.
 */
private void internalRenderStyle() {
    if (!underTest) {
        if (hasError()) {
            mapPane.resetRenderer();
            mapPane.getRenderer().addRenderListener(this);
            resetError();
        }
        wmsEnvVarValues.setImageWidth(mapPane.getWidth());
        wmsEnvVarValues.setImageHeight(mapPane.getHeight());
        MapContent mapContent = mapPane.getMapContent();
        if (mapContent == null) {
            mapContent = new MapContent();
            mapPane.setMapContent(mapContent);
        }
        Map<Object, Object> hints = new HashMap<Object, Object>();
        clearLabelCache();
        hints.put(StreamingRenderer.LABEL_CACHE_KEY, labelCache);
        mapPane.getRenderer().setRendererHints(hints);
        // Add the layers back with the updated style
        StyledLayerDescriptor sld = SelectedSymbol.getInstance().getSld();
        if (sld != null) {
            List<StyledLayer> styledLayerList = sld.layers();
            for (StyledLayer styledLayer : styledLayerList) {
                List<org.geotools.styling.Style> styleList = null;
                if (styledLayer instanceof NamedLayerImpl) {
                    NamedLayerImpl namedLayerImpl = (NamedLayerImpl) styledLayer;
                    styleList = namedLayerImpl.styles();
                } else if (styledLayer instanceof UserLayerImpl) {
                    UserLayerImpl userLayerImpl = (UserLayerImpl) styledLayer;
                    styleList = userLayerImpl.userStyles();
                }
                if (styleList != null) {
                    for (Style style : styleList) {
                        renderSymbol(mapContent, styledLayer, style);
                    }
                }
            }
        }
    }
}
Also used : StyledLayerDescriptor(org.geotools.styling.StyledLayerDescriptor) UserLayerImpl(org.geotools.styling.UserLayerImpl) MapContent(org.geotools.map.MapContent) HashMap(java.util.HashMap) StyledLayer(org.geotools.styling.StyledLayer) NamedLayerImpl(org.geotools.styling.NamedLayerImpl) Style(org.opengis.style.Style)

Aggregations

StyledLayer (org.geotools.styling.StyledLayer)2 Style (org.opengis.style.Style)2 IOException (java.io.IOException)1 HashMap (java.util.HashMap)1 FeatureSource (org.geotools.data.FeatureSource)1 FeatureLayer (org.geotools.map.FeatureLayer)1 GridReaderLayer (org.geotools.map.GridReaderLayer)1 Layer (org.geotools.map.Layer)1 MapContent (org.geotools.map.MapContent)1 NamedLayerImpl (org.geotools.styling.NamedLayerImpl)1 StyledLayerDescriptor (org.geotools.styling.StyledLayerDescriptor)1 UserLayer (org.geotools.styling.UserLayer)1 UserLayerImpl (org.geotools.styling.UserLayerImpl)1