|
From: César M. I. <ces...@gm...> - 2009-12-21 16:07:27
|
Some additional notes on this topic. The reported time (~63 minutes) happens when the FeatureStore is a ShapefileDataStore. When using a MemoryDataStore the process is much faster (~5 minutes). However, I still think it is a lot of time, as the same algorithm execution takes about 3 seconds when using the gvSIG-Sextante bindings. Moreover, the MemoryDataStore is not a suitable solution for big layers. What's wrong with the code bellow? Regards, César El día 21 de diciembre de 2009 16:19, César Martínez Izquierdo <ces...@gm...> escribió: > Hello list, > > I'm using Sextante through the GeoTools-Sextante bindings to create a > Graticule (using CreateGraticuleBuilder algorithm form Sextante). > This creates a shapefile containing a graticule of rectangles. > > However, performance is really poor: ~ 63 minutes to just write around > 14000 features. > The relevant part of code is: > FeatureStore<SimpleFeatureType, SimpleFeature> store = > ((FeatureStore<SimpleFeatureType, SimpleFeature>) getFeatureSource()); > List<Object> attributes = new ArrayList<Object>(); > attributes.add(geom); > attributes.addAll(Arrays.asList(values)); > SimpleFeatureType ft = store.getSchema(); > FeatureCollection<SimpleFeatureType, SimpleFeature> collection = > FeatureCollections > .newCollection(); > > SimpleFeature feature = SimpleFeatureBuilder.build(ft, attributes, > SimpleFeatureBuilder.createDefaultFeatureId()); > collection.add(feature); > store.addFeatures(collection); > Note that "geom" is a JTS geometry, and "values" is an Object[]. > > I've been measuring times, and 99% of the time is spent in the last line: > > store.addFeatures(collection); > > Is there a better way to achieve this with GeoTools or should I bypass > the FeatureStore layer in GeoTools and go directly to ShapefileWriter? > I would really appreciate any clue on this. > > Regards, > > César. > > > > -- > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - > César Martínez Izquierdo > GIS developer > - - - - - - - - - - - - - - - - - - - - > ETC-LUSI: http://etc-lusi.eionet.europa.eu/ > Universitat Autònoma de Barcelona (SPAIN) > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - > -- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - César Martínez Izquierdo GIS developer - - - - - - - - - - - - - - - - - - - - ETC-LUSI: http://etc-lusi.eionet.europa.eu/ Universitat Autònoma de Barcelona (SPAIN) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |