This script will add 1.0 to the “z” attribute of every feature in layer “elevation”. It is assumed that “z” is of type DOUBLE.
A java.lang.IllegalArgumentException will be thrown if attribute “z” is not found in layer “elevation”.
{
import com.vividsolutions.jump.workbench.model.Layer;
Layer layer = wc.getLayerManager().getLayer("elevation");
if (layer == null) {
System.err.println ("layer not found");
return;
}
FeatureSchema schema =
layer.getFeatureCollectionWrapper().getFeatureSchema();
int zIndex = schema.getAttributeIndex("z");
if ( schema.getAttributeType(zIndex) != AttributeType.DOUBLE ) {
System.err.println ("attribute 'z' not of type DOUBLE");
return;
}
// Loop for each object in layer
Iterator iter =layer.getFeatureCollectionWrapper().iterator();
while (iter.hasNext()) {
BasicFeature f = (BasicFeature)iter.next();
Double d = f.getAttribute(zIndex);
f.setAttribute(zIndex, new Double(d.doubleValue() + 1.0));
}
}