Revision 4111 trunk/libraries/libFMap/src/com/iver/cit/gvsig/fmap/rendering/SingleSymbolLegend.java
SingleSymbolLegend.java | ||
---|---|---|
40 | 40 |
*/ |
41 | 41 |
package com.iver.cit.gvsig.fmap.rendering; |
42 | 42 |
|
43 |
import java.awt.Color; |
|
44 | 43 |
import java.util.ArrayList; |
45 | 44 |
|
46 |
import javax.xml.transform.TransformerException; |
|
47 |
|
|
48 |
import org.geotools.filter.ExpressionBuilder; |
|
49 |
import org.geotools.filter.Filter; |
|
50 |
import org.geotools.filter.parser.ParseException; |
|
51 |
import org.geotools.styling.FeatureTypeStyle; |
|
52 |
import org.geotools.styling.Fill; |
|
53 |
import org.geotools.styling.PolygonSymbolizer; |
|
54 |
import org.geotools.styling.Rule; |
|
55 |
import org.geotools.styling.SLDTransformer; |
|
56 |
import org.geotools.styling.Style; |
|
57 |
import org.geotools.styling.StyleBuilder; |
|
58 |
import org.geotools.styling.StyleFactory; |
|
59 |
import org.geotools.styling.Symbolizer; |
|
60 |
|
|
61 | 45 |
import com.hardcode.gdbms.engine.data.DataSource; |
62 | 46 |
import com.iver.cit.gvsig.fmap.core.FShape; |
63 | 47 |
import com.iver.cit.gvsig.fmap.core.IFeature; |
48 |
import com.iver.cit.gvsig.fmap.core.SLDTags; |
|
64 | 49 |
import com.iver.cit.gvsig.fmap.core.v02.FConstant; |
65 | 50 |
import com.iver.cit.gvsig.fmap.core.v02.FSymbol; |
66 | 51 |
import com.iver.cit.gvsig.fmap.layers.XMLException; |
67 |
import com.iver.cit.gvsig.fmap.core.SDLUtils; |
|
68 | 52 |
import com.iver.utiles.XMLEntity; |
69 | 53 |
|
70 | 54 |
|
... | ... | |
137 | 121 |
*/ |
138 | 122 |
public String getSLDString() |
139 | 123 |
{ |
140 |
StyleFactory styleFactory = StyleFactory.createStyleFactory(); |
|
141 |
Style style = styleFactory.createStyle(); |
|
142 |
style.setTitle("Titulo"); |
|
143 |
style.setAbstract("Abstract"); |
|
144 |
style.setName("Nombre"); |
|
145 |
|
|
146 |
try{ |
|
147 |
|
|
148 |
FeatureTypeStyle featStyle = styleFactory.createFeatureTypeStyle(); |
|
149 |
featStyle.setTitle("Titulo FeatureTypeStyle"); |
|
150 |
featStyle.setName("Name FeatureTypeStyle"); |
|
151 |
featStyle.setFeatureTypeName("Provin"); |
|
152 |
|
|
153 |
Symbolizer[] theSymbolizers = new Symbolizer[1]; |
|
154 |
theSymbolizers[0] = SDLUtils.toGeotoolsSymbol(this.defaultSymbol); |
|
155 |
|
|
156 |
Rule myRule = styleFactory.createRule(); |
|
157 |
myRule.setSymbolizers(theSymbolizers); |
|
158 |
featStyle.addRule(myRule); |
|
159 |
style.addFeatureTypeStyle(featStyle); |
|
160 |
|
|
161 |
SLDTransformer st = new SLDTransformer(); |
|
162 |
return st.transform(style); |
|
163 |
|
|
164 |
}catch(Exception e) |
|
165 |
{ |
|
166 |
e.printStackTrace(); |
|
167 |
return null; |
|
168 |
} |
|
124 |
// StyledLayerDescriptor sld = new StyledLayerDescriptor(); |
|
169 | 125 |
// StyleFactory styleFactory = StyleFactory.createStyleFactory(); |
170 | 126 |
// Style style = styleFactory.createStyle(); |
171 |
// style.setTitle("Titulo"); |
|
172 |
// style.setAbstract("Abstract"); |
|
173 |
// style.setName("Nombre"); |
|
174 |
// try{ |
|
175 |
// Filter filter = (Filter)ExpressionBuilder.parse("5 < 10"); |
|
176 |
// Rule myFirstRule = styleFactory.createRule(); |
|
177 |
// myFirstRule.setFilter(filter); |
|
178 |
// FeatureTypeStyle featStyle = styleFactory.createFeatureTypeStyle(); |
|
179 |
// featStyle.setTitle("Titulo FeatureTypeStyle"); |
|
180 |
// featStyle.setName("Name FeatureTypeStyle"); |
|
181 |
// featStyle.setFeatureTypeName("Provin"); |
|
182 |
// featStyle.addRule(myFirstRule); |
|
183 |
// myFirstRule.setMinScaleDenominator(1000.0); |
|
184 |
// myFirstRule.setMaxScaleDenominator(50000.0); |
|
185 |
// Symbolizer[] theSymbolizers = new Symbolizer[1]; |
|
186 |
// PolygonSymbolizer sym = styleFactory.createPolygonSymbolizer(); |
|
187 |
// StyleBuilder styleBuilder = new StyleBuilder(); |
|
188 |
// Fill theFill = styleBuilder.createFill(Color.BLUE); |
|
189 |
// sym.setFill(theFill); |
|
190 |
// theSymbolizers[0] = sym; |
|
191 |
// myFirstRule.setSymbolizers(theSymbolizers); |
|
192 |
// style.addFeatureTypeStyle(featStyle); |
|
193 |
// SLDTransformer st = new SLDTransformer(); |
|
194 |
// return st.transform(style); |
|
195 |
// } |
|
196 |
// catch(ParseException e){ |
|
197 |
// e.printStackTrace(); |
|
198 |
// return ""; |
|
199 |
// } catch (TransformerException e) { |
|
200 |
// // TODO Auto-generated catch block |
|
201 |
// e.printStackTrace(); |
|
202 |
// return ""; |
|
203 |
// } |
|
127 |
// style.setName("default"); |
|
128 |
// try{ |
|
129 |
// FeatureTypeStyle featStyle = styleFactory.createFeatureTypeStyle(); |
|
130 |
// Symbolizer[] theSymbolizers = new Symbolizer[1]; |
|
131 |
// theSymbolizers[0] = SDLUtils.toGeotoolsSymbol(this.defaultSymbol); |
|
132 |
// Rule myRule = styleFactory.createRule(); |
|
133 |
// myRule.setSymbolizers(theSymbolizers); |
|
134 |
// featStyle.addRule(myRule); |
|
135 |
// style.addFeatureTypeStyle(featStyle); |
|
136 |
// NamedLayer namedLayer = new NamedLayer(); |
|
137 |
// namedLayer.setName("comunidades"); |
|
138 |
// namedLayer.addStyle(style); |
|
139 |
// sld.addStyledLayer(namedLayer); |
|
140 |
// SLDTransformer st = new SLDTransformer(); |
|
141 |
// String result = st.transform(style); |
|
142 |
// return result; |
|
143 |
// }catch(Exception e) { |
|
144 |
// e.printStackTrace(); |
|
145 |
// return null; |
|
146 |
// } |
|
147 |
try{ |
|
148 |
XmlBuilder xmlBuilder = new XmlBuilder(); |
|
149 |
xmlBuilder.writeHeader(); |
|
150 |
xmlBuilder.openTag(SLDTags.SLD_ROOT, SLDTags.VERSION_ATTR, SLDTags.VERSION_1_0_0); |
|
151 |
xmlBuilder.openTag(SLDTags.NAMEDLAYER); |
|
152 |
xmlBuilder.writeTag(SLDTags.NAME,"comunidades"); |
|
153 |
xmlBuilder.openTag(SLDTags.USERSTYLE); |
|
154 |
xmlBuilder.openTag(SLDTags.FEATURETYPESTYLE); |
|
155 |
xmlBuilder.writeTag(SLDTags.FEATURETYPENAME,"FeatureTypeName"); |
|
156 |
xmlBuilder.openTag(SLDTags.RULE); |
|
157 |
xmlBuilder.writeRaw(this.defaultSymbol.toSLD()); |
|
158 |
xmlBuilder.closeTag(); |
|
159 |
xmlBuilder.closeTag(); |
|
160 |
xmlBuilder.closeTag(); |
|
161 |
xmlBuilder.closeTag(); |
|
162 |
xmlBuilder.closeTag(); |
|
163 |
return xmlBuilder.getXML(); |
|
164 |
} |
|
165 |
catch(Exception e) |
|
166 |
{ |
|
167 |
e.printStackTrace(); |
|
168 |
return null; |
|
169 |
} |
|
204 | 170 |
} |
205 | 171 |
|
206 | 172 |
/** |
Also available in: Unified diff