Revision 18878
trunk/libraries/libFMap/src/com/iver/cit/gvsig/fmap/rendering/ILegend.java | ||
---|---|---|
58 | 58 |
*/ |
59 | 59 |
ISymbol getDefaultSymbol(); |
60 | 60 |
|
61 |
|
|
62 | 61 |
/** |
63 |
* Gets the SLD string. |
|
64 |
* |
|
65 |
* @return String. |
|
66 |
* |
|
67 |
* @throws DriverException |
|
68 |
*/ |
|
69 |
String getSLDString(String layerName); |
|
70 |
|
|
71 |
|
|
72 |
/** |
|
73 | 62 |
* Clones the legend. |
74 | 63 |
* |
75 | 64 |
* @return Cloned legend. |
trunk/libraries/libFMap/src/com/iver/cit/gvsig/fmap/rendering/VectorialIntervalLegend.java | ||
---|---|---|
80 | 80 |
public VectorialIntervalLegend(int type) { |
81 | 81 |
setShapeType(type); |
82 | 82 |
} |
83 |
|
|
84 |
|
|
85 |
public String getSLDString(String layerName) { |
|
86 |
|
|
87 |
try{ |
|
88 |
|
|
89 |
XmlBuilder xmlBuilder = new XmlBuilder(); |
|
90 |
xmlBuilder.writeHeader(); |
|
91 |
xmlBuilder.openTag(SLDTags.SLD_ROOT, SLDTags.VERSION_ATTR, SLDTags.VERSION_1_0_0); |
|
92 |
xmlBuilder.openTag(SLDTags.NAMEDLAYER); |
|
93 |
xmlBuilder.writeTag(SLDTags.NAME,layerName); |
|
94 |
xmlBuilder.openTag(SLDTags.USERSTYLE); |
|
95 |
xmlBuilder.openTag(SLDTags.FEATURETYPESTYLE); |
|
96 |
xmlBuilder.writeTag(SLDTags.FEATURETYPENAME,getClassifyingFieldNames()[0]); |
|
97 |
|
|
98 |
ISymbol[] symbols = this.getSymbols(); |
|
99 |
Object[] values = this.getValues(); |
|
100 |
|
|
101 |
FInterval interval; |
|
102 |
for(int i = 0; i < symbols.length; i++ ) |
|
103 |
{ |
|
104 |
interval = (FInterval)values[i]; |
|
105 |
//interval = (FInterval)getInterval(ValueFactory.createValue(valueDbl.doubleValue())); |
|
106 |
xmlBuilder.openTag(SLDTags.RULE); |
|
107 |
xmlBuilder.writeTag(SLDTags.NAME, ""+interval.getMin() +" - " +interval.getMax()); |
|
108 |
xmlBuilder.openTag(SLDTags.FILTER); |
|
109 |
xmlBuilder.openTag(SLDTags.AND); |
|
110 |
xmlBuilder.openTag(SLDTags.PROPERTYISGREATEROREQUALTHAN); |
|
111 |
xmlBuilder.writeTag(SLDTags.PROPERTYNAME,fieldNames[0]); |
|
112 |
xmlBuilder.writeTag(SLDTags.LITERAL, ""+interval.getMin()); |
|
113 |
xmlBuilder.closeTag(); |
|
114 |
xmlBuilder.openTag(SLDTags.PROPERTYISLESSOREQUALTHAN); |
|
115 |
xmlBuilder.writeTag(SLDTags.PROPERTYNAME,fieldNames[0]); |
|
116 |
xmlBuilder.writeTag(SLDTags.LITERAL, ""+interval.getMax()); |
|
117 |
xmlBuilder.closeTag(); |
|
118 |
xmlBuilder.closeTag(); |
|
119 |
if (symbols[i] instanceof ISLDCompatible) |
|
120 |
{ |
|
121 |
ISLDCompatible symSLD = (ISLDCompatible) symbols[i]; |
|
122 |
xmlBuilder.writeRaw(symSLD.toSLD()); |
|
123 |
} |
|
124 |
else |
|
125 |
throw new RuntimeException("Cannot convert Symbol " + i + " " + symbols[i].getDescription() + " to SLD"); |
|
126 |
xmlBuilder.closeTag(); |
|
127 |
xmlBuilder.closeTag(); |
|
128 |
} |
|
129 |
|
|
130 |
xmlBuilder.closeTag(); |
|
131 |
xmlBuilder.closeTag(); |
|
132 |
xmlBuilder.closeTag(); |
|
133 |
xmlBuilder.closeTag(); |
|
134 |
return xmlBuilder.getXML(); |
|
135 |
|
|
136 |
}catch(Exception e) |
|
137 |
{ |
|
138 |
e.printStackTrace(); |
|
139 |
return null; |
|
140 |
} |
|
141 |
} |
|
142 |
|
|
143 | 83 |
|
144 | 84 |
public XMLEntity getXMLEntity() { |
145 | 85 |
XMLEntity xml = new XMLEntity(); |
trunk/libraries/libFMap/src/com/iver/cit/gvsig/fmap/rendering/SingleSymbolLegend.java | ||
---|---|---|
111 | 111 |
return defaultSymbol; |
112 | 112 |
} |
113 | 113 |
|
114 |
public String getSLDString(String layerName) { |
|
115 |
try { |
|
116 |
XmlBuilder xmlBuilder = new XmlBuilder(); |
|
117 |
xmlBuilder.writeHeader(); |
|
118 |
xmlBuilder.openTag(SLDTags.SLD_ROOT, SLDTags.VERSION_ATTR, SLDTags.VERSION_1_0_0); |
|
119 |
xmlBuilder.openTag(SLDTags.NAMEDLAYER); |
|
120 |
xmlBuilder.writeTag(SLDTags.NAME,layerName); |
|
121 |
xmlBuilder.openTag(SLDTags.USERSTYLE); |
|
122 |
xmlBuilder.openTag(SLDTags.FEATURETYPESTYLE); |
|
123 |
xmlBuilder.writeTag(SLDTags.FEATURETYPENAME,"FeatureTypeName"); |
|
124 |
xmlBuilder.openTag(SLDTags.RULE); |
|
125 |
if (this.defaultSymbol instanceof ISLDCompatible) { |
|
126 |
ISLDCompatible symSLD = (ISLDCompatible) this.defaultSymbol; |
|
127 |
xmlBuilder.writeRaw(symSLD.toSLD()); |
|
128 |
} else |
|
129 |
throw new RuntimeException("Cannot convert default Symbol " + this.defaultSymbol.getDescription() + " to SLD"); |
|
130 | 114 |
|
131 |
xmlBuilder.closeTag(); |
|
132 |
xmlBuilder.closeTag(); |
|
133 |
xmlBuilder.closeTag(); |
|
134 |
xmlBuilder.closeTag(); |
|
135 |
xmlBuilder.closeTag(); |
|
136 |
return xmlBuilder.getXML(); |
|
137 |
} catch (Exception e) { |
|
138 |
e.printStackTrace(); |
|
139 |
return null; |
|
140 |
} |
|
141 |
} |
|
142 |
|
|
143 | 115 |
public XMLEntity getXMLEntity() { |
144 | 116 |
XMLEntity xml = new XMLEntity(); |
145 | 117 |
xml.putProperty("className",this.getClass().getName()); |
trunk/libraries/libFMap/src/com/iver/cit/gvsig/fmap/rendering/VectorialUniqueValueLegend.java | ||
---|---|---|
294 | 294 |
return defaultSymbol; |
295 | 295 |
} |
296 | 296 |
|
297 |
|
|
298 |
public String getSLDString(String name) { |
|
299 |
try { |
|
300 | 297 |
|
301 |
XmlBuilder xmlBuilder = new XmlBuilder(); |
|
302 |
xmlBuilder.writeHeader(); |
|
303 |
xmlBuilder.openTag(SLDTags.SLD_ROOT, SLDTags.VERSION_ATTR, SLDTags.VERSION_1_0_0); |
|
304 |
xmlBuilder.openTag(SLDTags.NAMEDLAYER); |
|
305 |
xmlBuilder.writeTag(SLDTags.NAME,name); |
|
306 |
xmlBuilder.openTag(SLDTags.USERSTYLE); |
|
307 |
xmlBuilder.openTag(SLDTags.FEATURETYPESTYLE); |
|
308 |
//xmlBuilder.writeTag(SLDTags.FEATURETYPENAME,"fieldName"); |
|
309 |
|
|
310 |
ISymbol[] mySymbols = this.getSymbols(); |
|
311 |
Object[] values = this.getValues(); |
|
312 |
String valueStr = null; |
|
313 |
|
|
314 |
for(int i = 0; i < mySymbols.length; i++ ){ |
|
315 |
valueStr = values[i].toString(); |
|
316 |
xmlBuilder.openTag(SLDTags.RULE); |
|
317 |
xmlBuilder.writeTag(SLDTags.NAME, valueStr); |
|
318 |
xmlBuilder.openTag(SLDTags.FILTER); |
|
319 |
xmlBuilder.openTag(SLDTags.PROPERTYISEQUALTO); |
|
320 |
xmlBuilder.writeTag(SLDTags.PROPERTYNAME, getClassifyingFieldNames()[0]); |
|
321 |
xmlBuilder.writeTag(SLDTags.LITERAL, valueStr); |
|
322 |
xmlBuilder.closeTag(); |
|
323 |
xmlBuilder.closeTag(); |
|
324 |
if (mySymbols[i] instanceof ISLDCompatible) { |
|
325 |
ISLDCompatible symSLD = (ISLDCompatible) mySymbols[i]; |
|
326 |
xmlBuilder.writeRaw(symSLD.toSLD()); |
|
327 |
} else |
|
328 |
throw new RuntimeException("Cannot convert Symbol " + i + " " + mySymbols[i].getDescription() + " to SLD"); |
|
329 |
|
|
330 |
xmlBuilder.closeTag(); |
|
331 |
} |
|
332 |
|
|
333 |
xmlBuilder.closeTag(); |
|
334 |
xmlBuilder.closeTag(); |
|
335 |
xmlBuilder.closeTag(); |
|
336 |
xmlBuilder.closeTag(); |
|
337 |
return xmlBuilder.getXML(); |
|
338 |
|
|
339 |
} catch (Exception e) { |
|
340 |
e.printStackTrace(); |
|
341 |
return null; |
|
342 |
} |
|
343 |
} |
|
344 |
|
|
345 | 298 |
public XMLEntity getXMLEntity() { |
346 | 299 |
XMLEntity xml = new XMLEntity(); |
347 | 300 |
xml.putProperty("className", this.getClass().getName()); |
Also available in: Unified diff