/** * Creates a line symbolizer with the specified stroke. * * @param strokeInfo the stroke * @return the symbolizer */ public static LineSymbolizerInfo createLineSymbolizer(StrokeInfo strokeInfo) { LineSymbolizerInfo symbolizerInfo = new LineSymbolizerInfo(); symbolizerInfo.setStroke(strokeInfo); return symbolizerInfo; }
/** * Creates a point symbolizer with the specified graphic. * * @param graphicInfo the graphic * @return the symbolizer */ public static PointSymbolizerInfo createPointSymbolizer(GraphicInfo graphicInfo) { PointSymbolizerInfo symbolizerInfo = new PointSymbolizerInfo(); symbolizerInfo.setGraphic(graphicInfo); return symbolizerInfo; }
/** * Creates a mark with the specified parameters. * * @param wellKnownName the well known name * @param fill the fill * @param stroke the stroke * @return the mark */ public static MarkInfo createMark(String wellKnownName, FillInfo fill, StrokeInfo stroke) { MarkInfo mark = new MarkInfo(); mark.setFill(fill); mark.setStroke(stroke); WellKnownNameInfo wellKnownNameInfo = new WellKnownNameInfo(); wellKnownNameInfo.setWellKnownName(wellKnownName); mark.setWellKnownName(wellKnownNameInfo); return mark; }
private static RuleInfo createPointRule(Map<String, Object> properties) { RuleInfo rule = new RuleInfo(); rule.setName(getPropValue(STYLENAME, properties, "default")); SymbolizerTypeInfo symbolizer = new PointSymbolizerInfo(); GraphicInfo gi = new GraphicInfo(); ((PointSymbolizerInfo) symbolizer).setGraphic(gi); gi.setSize(createSize(properties)); List<ChoiceInfo> list = new ArrayList<ChoiceInfo>(); ChoiceInfo choiceInfoGraphic = new ChoiceInfo(); list.add(choiceInfoGraphic); ((PointSymbolizerInfo) symbolizer).getGraphic().setChoiceList(list); choiceInfoGraphic.setMark(createMark(properties)); rule.getSymbolizerList().add(symbolizer); return rule; }
/** * Create a style with a single rule. * * @param rule rule * @return the style */ public static UserStyleInfo createStyle(RuleInfo rule) { UserStyleInfo userStyleInfo = new UserStyleInfo(); FeatureTypeStyleInfo fts = new FeatureTypeStyleInfo(); fts.getRuleList().add(rule); userStyleInfo.getFeatureTypeStyleList().add(fts); return userStyleInfo; }
private static TextSymbolizerInfo extractTextSymbolizer(UserStyleInfo usi) { if (usi.getFeatureTypeStyleList() != null && usi.getFeatureTypeStyleList().size() > 0) { FeatureTypeStyleInfo ftsi = usi.getFeatureTypeStyleList().get(0); if (ftsi.getRuleList() != null && ftsi.getRuleList().size() > 0) { RuleInfo ri = ftsi.getRuleList().get(0); if (ri.getSymbolizerList() != null && ri.getSymbolizerList().size() > 0) { for (SymbolizerTypeInfo sti : ri.getSymbolizerList()) { if (sti instanceof TextSymbolizerInfo) { return (TextSymbolizerInfo) sti; } } } } } return null; }
private StyledLayerDescriptorInfo getStyleDataAsSldI() { if (styleData == null) { return null; } StyledLayerDescriptorInfo sldi = new StyledLayerDescriptorInfo(); sldi.setVersion("1.0.0"); ChoiceInfo ci = new ChoiceInfo(); org.geomajas.sld.NamedLayerInfo.ChoiceInfo ci2 = new org.geomajas.sld.NamedLayerInfo.ChoiceInfo(); sldi.getChoiceList().add(ci); ci.setNamedLayer(new NamedLayerInfo()); ci.getNamedLayer().setName(styleName); ci.getNamedLayer().getChoiceList().add(ci2); ci2.setUserStyle(styleData); return sldi; }
/** * Creates a graphic with the specified mark and size. * * @param mark the mark * @param size the size * @return the graphic */ public static GraphicInfo createGraphic(MarkInfo mark, int size) { GraphicInfo graphicInfo = new GraphicInfo(); ChoiceInfo choice = new ChoiceInfo(); choice.setMark(mark); graphicInfo.getChoiceList().add(choice); SizeInfo sizeInfo = new SizeInfo(); sizeInfo.setValue(Integer.toString(size)); graphicInfo.setSize(sizeInfo); return graphicInfo; }
/** * Creates a graphic with the specified external graphic and size. * * @param graphic the graphic * @param size the size * @return the graphic */ public static GraphicInfo createGraphic(ExternalGraphicInfo graphic, int size) { GraphicInfo graphicInfo = new GraphicInfo(); ChoiceInfo choice = new ChoiceInfo(); choice.setExternalGraphic(graphic); graphicInfo.getChoiceList().add(choice); SizeInfo sizeInfo = new SizeInfo(); sizeInfo.setValue(Integer.toString(size)); graphicInfo.setSize(sizeInfo); return graphicInfo; }
private static RuleInfo createPolygonRule(Map<String, Object> properties) { RuleInfo rule = new RuleInfo(); rule.setName(getPropValue(STYLENAME, properties, "default")); PolygonSymbolizerInfo symbolizer = new PolygonSymbolizerInfo(); symbolizer.setFill(createFill(properties)); symbolizer.setStroke(createStroke(properties)); rule.getSymbolizerList().add(symbolizer); return rule; }
private static RuleInfo createLineStringRule(Map<String, Object> properties) { RuleInfo rule = new RuleInfo(); rule.setName(getPropValue(STYLENAME, properties, "default")); LineSymbolizerInfo symbolizer = new LineSymbolizerInfo(); symbolizer.setStroke(createStroke(properties)); rule.getSymbolizerList().add(symbolizer); return rule; }
private String getTitle(StyledLayerDescriptorInfo sld, String fallback) { if (sld.getChoiceList() != null && sld.getChoiceList().size() > 0) { NamedLayerInfo nli = sld.getChoiceList().get(0).getNamedLayer(); if (nli != null && nli.getName() != null) { return nli.getName(); } UserLayerInfo uli = sld.getChoiceList().get(0).getUserLayer(); if (uli != null && uli.getName() != null) { return uli.getName(); } } return fallback; }
/** * Creates a polygon symbolizer with the specified fill and stroke. * * @param fillInfo the fill * @param strokeInfo the stroke * @return the symbolizer */ public static PolygonSymbolizerInfo createPolygonSymbolizer(FillInfo fillInfo, StrokeInfo strokeInfo) { PolygonSymbolizerInfo symbolizerInfo = new PolygonSymbolizerInfo(); symbolizerInfo.setFill(fillInfo); symbolizerInfo.setStroke(strokeInfo); return symbolizerInfo; }
private static void extractProperties(PolygonSymbolizerInfo psi, Map<String, Object> properties) { if (psi.getStroke() != null && psi.getStroke().getCssParameterList() != null) { List<CssParameterInfo> plist = psi.getStroke().getCssParameterList(); properties.put(STROKECOLOR, extractCssPropertyValue(STROKECOLOR, plist, DEFAULT_STROKECOLOR)); properties.put(STROKEOPACITY, extractCssPropertyValue(STROKEOPACITY, plist, DEFAULT_STROKEOPACITY)); properties.put(STROKEWIDTH, extractCssPropertyValue(STROKEWIDTH, plist, DEFAULT_STROKEWIDTH)); } if (psi.getFill() != null && psi.getFill().getCssParameterList() != null) { List<CssParameterInfo> plist = psi.getFill().getCssParameterList(); properties.put(FILLCOLOR, extractCssPropertyValue(FILLCOLOR, plist, DEFAULT_FILLCOLOR)); properties.put(FILLOPACITY, extractCssPropertyValue(FILLOPACITY, plist, DEFAULT_FILLOPACITY)); } }
private static StrokeInfo createStroke(Map<String, Object> properties) { StrokeInfo s = new StrokeInfo(); s.setStrokeColor(getPropValue(STROKECOLOR, properties, DEFAULT_STROKECOLOR)); s.setStrokeWidth(getPropValue(STROKEWIDTH, properties, DEFAULT_STROKEWIDTH)); s.setStrokeOpacity(getPropValue(STROKEOPACITY, properties, DEFAULT_STROKEOPACITY)); return s; }
/** TODO This method might be interesting as a static method in some SLD utility class. */ private boolean isVisible(RuleInfo rule, ViewPort viewPort) { if (rule == null) { return true; } double minScale = Double.MAX_VALUE; double maxScale = Double.MIN_VALUE; if (rule.getMinScaleDenominator() != null && rule.getMinScaleDenominator().getMinScaleDenominator() != 0) { minScale = viewPort.toScale(rule.getMinScaleDenominator().getMinScaleDenominator()); } if (rule.getMaxScaleDenominator() != null && rule.getMaxScaleDenominator().getMaxScaleDenominator() != 0) { maxScale = viewPort.toScale(rule.getMaxScaleDenominator().getMaxScaleDenominator()); } return (maxScale <= viewPort.getScale() && viewPort.getScale() < minScale); } }
private static FillInfo createFill(Map<String, Object> properties) { FillInfo f = new FillInfo(); f.setFillColor(getPropValue(FILLCOLOR, properties, DEFAULT_FILLCOLOR)); f.setFillOpacity(getPropValue(FILLOPACITY, properties, DEFAULT_FILLOPACITY)); return f; }
private static void extractProperties(LineSymbolizerInfo lsi, Map<String, Object> properties) { if (lsi.getStroke() != null && lsi.getStroke().getCssParameterList() != null) { List<CssParameterInfo> plist = lsi.getStroke().getCssParameterList(); properties.put(STROKECOLOR, extractCssPropertyValue(STROKECOLOR, plist, DEFAULT_STROKECOLOR)); properties.put(STROKEOPACITY, extractCssPropertyValue(STROKEOPACITY, plist, DEFAULT_STROKEOPACITY)); properties.put(STROKEWIDTH, extractCssPropertyValue(STROKEWIDTH, plist, DEFAULT_STROKEWIDTH)); } }
private static SymbolizerTypeInfo extractSymbolizer(UserStyleInfo usi) { if (usi.getFeatureTypeStyleList() != null && usi.getFeatureTypeStyleList().size() > 0) { FeatureTypeStyleInfo ftsi = usi.getFeatureTypeStyleList().get(0); if (ftsi.getRuleList() != null && ftsi.getRuleList().size() > 0) { RuleInfo ri = ftsi.getRuleList().get(0); if (ri.getSymbolizerList() != null && ri.getSymbolizerList().size() > 0) { for (SymbolizerTypeInfo sti : ri.getSymbolizerList()) { if (!(sti instanceof TextSymbolizerInfo)) { return sti; } } } } } return null; }
private static MarkInfo createMark(Map<String, Object> properties) { MarkInfo mi = new MarkInfo(); mi.setWellKnownName(new WellKnownNameInfo()); mi.getWellKnownName().setWellKnownName(getPropValue(WELLKNOWNNAME, properties, DEFAULT_WELLKNOWNNAME)); mi.setFill(createFill(properties)); mi.setStroke(createStroke(properties)); return mi; }