|
From: starscream <ni...@ho...> - 2013-01-14 15:52:13
|
I edited the method "citiesLayer" in this way, but it doesn't work:
public static FeatureLayer getCitiesLayer() throws ParseException{
GeometryFactory geometryFactory = JTSFactoryFinder.getGeometryFactory();
ArrayList<SimpleFeature> features = new ArrayList<SimpleFeature>();
// Simple point coordinates
float lat = (float) 508469.7040;
float lng = (float) 4358409.7367;
SimpleFeatureTypeBuilder builder = new SimpleFeatureTypeBuilder();
builder.setName("Location");
builder.setCRS(DefaultGeographicCRS.WGS84); // <- Coordinate
reference system
// add attributes in order
builder.add("Location", Point.class);
builder.length(15).add("Name", String.class); // <- 15 chars width
for name field
// build the type
final SimpleFeatureType TYPE = builder.buildFeatureType();
SimpleFeatureBuilder featureBuilder = new
SimpleFeatureBuilder(TYPE);
Point point = geometryFactory.createPoint(new Coordinate(lng, lat));
featureBuilder.add(point);
featureBuilder.add("Cagliari");
featureBuilder.add("12");
SimpleFeature feature = featureBuilder.buildFeature(null);
features.add(feature);
Style style = SLD.createPointStyle("Star", Color.BLUE, Color.BLUE, 0.3f,
30);
FeatureLayer citiesLayer = new FeatureLayer((FeatureSource)
features,(org.geotools.styling.Style) style);
citiesLayer.setTitle("Cities layer");
return citiesLayer;
}
It gives me this error:
java.lang.ArrayIndexOutOfBoundsException: Can handle 2 attributes only,
index is 2
at
org.geotools.feature.simple.SimpleFeatureBuilder.set(SimpleFeatureBuilder.java:293)
at
org.geotools.feature.simple.SimpleFeatureBuilder.add(SimpleFeatureBuilder.java:220)
at GISDemo.getCitiesLayer(GISDemo.java:101)
The row 101 is this: featureBuilder.add(12);
I dont't understamd why...
--
View this message in context: http://osgeo-org.1560.n6.nabble.com/How-to-add-polygons-on-existing-map-tp5027259p5027366.html
Sent from the geotools-gt2-users mailing list archive at Nabble.com.
|