Package org.geotools.data.simple

Examples of org.geotools.data.simple.SimpleFeatureIterator


    private long iterate(SimpleFeatureSource fs, Query query) throws IOException {
        Stopwatch sw = new Stopwatch();
        SimpleFeatureCollection features;
        features = fs.getFeatures(query);

        SimpleFeatureIterator iterator;
        iterator = features.features();

        log("- Iterating: " + Arrays.asList(query.getPropertyNames()));
        SimpleFeature feature;
        final int shapeIdx = fs.getSchema().getAttributeCount() - 1;
        try {
            Geometry defaultGeometry;
            featureCount = 0;
            totalPoints = 0;
            int npoints;
            sw.start();
            while (iterator.hasNext()) {
                feature = iterator.next();
                featureCount++;

                defaultGeometry = (Geometry) feature.getDefaultGeometry();
                npoints = defaultGeometry == null ? 0 : defaultGeometry.getNumPoints();
                totalPoints += npoints;
                largerPoints = Math.max(largerPoints, npoints);
            }
            sw.stop();
        } finally {
            iterator.close();
        }
        log("\t- " + featureCount + " features iterated in " + sw.getTimeString());
        log("\t\t- total poinst: " + totalPoints + ", larger geometry: " + largerPoints
                + " points, avg points:" + (totalPoints / featureCount));
        return sw.getTime();
View Full Code Here


        assertEquals(1, resultSchema.getAttributeCount());
        assertEquals("SHAPE", resultSchema.getDescriptor(0).getLocalName());

        Feature feature = null;
        SimpleFeatureIterator iterator = features.features();
        try {
            feature = iterator.next();
        } finally {
            iterator.close();
        }

        assertEquals(resultSchema, feature.getType());
    }
View Full Code Here

        } catch (Exception e) {
            e.printStackTrace();
            throw e;
        }
        // check that getBounds and size do function
        SimpleFeatureIterator reader = null;
        SimpleFeatureCollection results = fs.getFeatures(mixedFilter);
        Envelope bounds = results.getBounds();
        assertNotNull(bounds);
        LOGGER.fine("results bounds: " + bounds);

        reader = results.features();
        try {
            /*
             * verify that when features are already being fetched, getBounds and size still work
             */
            reader.next();
            bounds = results.getBounds();
            assertNotNull(bounds);
            LOGGER.fine("results bounds when reading: " + bounds);

            int count = results.size();
            assertEquals(EXPECTED_RESULT_COUNT, count);
            LOGGER.fine("wooohoooo...");

        } finally {
            reader.close();
        }
    }
View Full Code Here

            assertEquals(propNames.get(i), resultSchema.getDescriptor(i).getLocalName());
        }

        // the problem described in GEOT-408 arises in attribute reader, so
        // we must to try fetching features
        SimpleFeatureIterator iterator = results.features();
        SimpleFeature feature = iterator.next();
        iterator.close();
        assertNotNull(feature);

        // the id must be grabed correctly.
        // this exercises the fact that although the geometry is not included
        // in the request, it must be fecthed anyway to obtain the
View Full Code Here

        SimpleFeatureSource source = ds.getFeatureSource(typeName);
        Query query = new Query(typeName, filter);
        SimpleFeatureCollection results = source.getFeatures(query);

        assertEquals(fids.size(), results.size());
        SimpleFeatureIterator iterator = results.features();
        try {
            while (iterator.hasNext()) {
                String fid = iterator.next().getID();
                assertTrue("a fid not included in query was returned: " + fid,
                        fids.contains(ff.featureId(fid)));
            }
        } finally {
            iterator.close();
        }
    }
View Full Code Here

        SimpleFeatureSource source = ds.getFeatureSource(typeName);
        Query query = new Query(typeName, filter);
        SimpleFeatureCollection results = source.getFeatures(query);

        assertEquals(1, results.size());
        SimpleFeatureIterator iterator = results.features();
        try {
            while (iterator.hasNext()) {
                String fid = iterator.next().getID();
                assertTrue("a fid not included in query was returned: " + fid,
                        fids.contains(ff.featureId(fid)));
            }
        } finally {
            iterator.close();
        }
    }
View Full Code Here

        SimpleFeatureType schema = fs.getSchema();
        BBOX bboxFilter = ff.bbox(schema.getGeometryDescriptor().getLocalName(), -180, -90, 180,
                90, schema.getCoordinateReferenceSystem().getName().getCode());

        int expected = 0;
        SimpleFeatureIterator features = fs.getFeatures().features();
        try {
            while (features.hasNext()) {
                SimpleFeature next = features.next();
                if (bboxFilter.evaluate(next)) {
                    expected++;
                }
            }
        } finally {
            features.close();
        }
        assertTrue(expected > 0);
        testFilter(bboxFilter, fs, expected);
    }
View Full Code Here

        SimpleFeatureCollection features = fs.getFeatures(filter);
        assertNotNull(features);
        assertEquals(1, features.size());
        assertNull(fs.getBounds());

        SimpleFeatureIterator iterator = features.features();
        assertTrue(iterator.hasNext());
        SimpleFeature next = iterator.next();
        assertNotNull(next);
        assertFalse(iterator.hasNext());
        iterator.close();
    }
View Full Code Here

        SimpleFeatureType schema = fc.getSchema();
        assertEquals(1, schema.getDescriptors().size());
        assertEquals(MultiPolygon.class, schema.getGeometryDescriptor().getType().getBinding());
       
        // get one feature, check it
        SimpleFeatureIterator fi = fc.features();
        SimpleFeature feature = fi.next();
        fi.close();
        schema = feature.getFeatureType();
        assertEquals(1, schema.getDescriptors().size());
        assertEquals(MultiPolygon.class, schema.getGeometryDescriptor().getType().getBinding());
        assertNotNull(feature.getDefaultGeometry());
    }
View Full Code Here

        assertEquals(1, s.getTypeNames().length);
        SimpleFeatureCollection fc = s.getFeatureSource("OGRGeoJSON").getFeatures();
        assertEquals(features.size(), fc.size());
        // Read
        int c = 0;
        SimpleFeatureIterator it = fc.features();
        try {
            while (it.hasNext()) {
                SimpleFeature f = it.next();
                assertNotNull(f);
                assertNotNull(f.getDefaultGeometry());
                c++;
            }
        } finally {
            it.close();
        }
        assertEquals(fc.size(), c);
    }
View Full Code Here

TOP

Related Classes of org.geotools.data.simple.SimpleFeatureIterator

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.