public SimpleFeatureType getFeatureType() { return builder.getFeatureType(); }
public SimpleFeatureType getFeatureType() { return builder.getFeatureType(); }
@Override public SimpleFeatureType getSchema() { return fb.getFeatureType(); }
static SimpleFeature retype(SimpleFeature source, SimpleFeatureBuilder builder) throws IllegalAttributeException { SimpleFeatureType target = builder.getFeatureType(); for (int i = 0; i < target.getAttributeCount(); i++) { AttributeDescriptor attributeType = target.getDescriptor(i); Object value = null; if (source.getFeatureType().getDescriptor(attributeType.getName()) != null) { value = source.getAttribute(attributeType.getName()); } builder.add(value); } FeatureId id = reTypeId(source.getIdentifier(), source.getFeatureType(), target); SimpleFeature retyped = builder.buildFeature(id.getID()); retyped.getUserData().putAll(source.getUserData()); return retyped; }
/** @see org.geotools.data.FeatureReader#getFeatureType() */ public SimpleFeatureType getFeatureType() { if (reader == null || builder == null) { throw new IllegalStateException("Reader has already been closed"); } return builder.getFeatureType(); }
/** @see org.geotools.data.FeatureReader#getFeatureType() */ public SimpleFeatureType getFeatureType() { if (reader == null) { throw new IllegalStateException("Reader has already been closed"); } if (builder == null) return reader.getFeatureType(); return builder.getFeatureType(); }
f.getUserData().put("foo", "bar"); DefaultFeatureCollection features = new DefaultFeatureCollection(null, b.getFeatureType()); features.add(f);
public boolean hasNext() { while (next == null && firstDelegate.hasNext()) { SimpleFeature f = firstDelegate.next(); for (PropertyDescriptor property : fb.getFeatureType().getDescriptors()) { fb.set(property.getName(), f.getAttribute(property.getName())); } next = fb.buildFeature(Integer.toString(iterationIndex)); fb.reset(); iterationIndex++; } while (next == null && secondDelegate.hasNext() && !firstDelegate.hasNext()) { SimpleFeature f = secondDelegate.next(); for (PropertyDescriptor property : fb.getFeatureType().getDescriptors()) { fb.set(property.getName(), f.getAttribute(property.getName())); } next = fb.buildFeature(Integer.toString(iterationIndex)); fb.reset(); iterationIndex++; } return next != null; }
/** * Remaps a SimpleFeature, using the given mappings (oldname -> mappedname). The builder uses * the mapped schema. * * @param source * @param attributeMappings * @param builder * @return */ static SimpleFeature remap( SimpleFeature source, Map<String, String> attributeMappings, SimpleFeatureBuilder builder) { SimpleFeatureType target = builder.getFeatureType(); for (int i = 0; i < target.getAttributeCount(); i++) { AttributeDescriptor attributeType = target.getDescriptor(i); Object value = null; String mappedName = attributeMappings.get(attributeType.getLocalName()); if (source.getFeatureType().getDescriptor(mappedName) != null) { value = source.getAttribute(mappedName); } builder.add(value); } return builder.buildFeature(source.getIdentifier().getID()); }
/** * Copies an existing feature, retyping it in the process. * * <p>If the feature type contains attributes in which the original feature does not have a * value for, the value in the resulting feature is set to <code>null</code>. * * @param feature The original feature. * @param SimpleFeatureBuilder A builder for the target feature type * @return The copied feature, with a new type. * @since 2.5.3 */ public static SimpleFeature retype(SimpleFeature feature, SimpleFeatureBuilder builder) { builder.reset(); for (AttributeDescriptor att : builder.getFeatureType().getAttributeDescriptors()) { Object value = feature.getAttribute(att.getName()); builder.set(att.getName(), value); } return builder.buildFeature(feature.getID()); }
@Override public SimpleFeatureType getSchema() { return fb.getFeatureType(); }
/** * @see org.geotools.data.FeatureReader#getFeatureType() */ public SimpleFeatureType getFeatureType() { if (reader == null || builder == null ) { throw new IllegalStateException("Reader has already been closed"); } return builder.getFeatureType(); }
CoordinateReferenceSystem dataCrs = dataCoverage.getCoordinateReferenceSystem(); CoordinateReferenceSystem zonesCrs = builder.getFeatureType() .getGeometryDescriptor() .getCoordinateReferenceSystem();
/** * @see org.geotools.data.FeatureReader#getFeatureType() */ public SimpleFeatureType getFeatureType() { if (reader == null) { throw new IllegalStateException("Reader has already been closed"); } if( builder == null ) return reader.getFeatureType(); return builder.getFeatureType(); }
SimpleFeature buildFeature() { SimpleFeatureBuilder builder = this.builder != null ? this.builder : createBuilder(); SimpleFeatureType featureType = builder.getFeatureType(); SimpleFeature f = builder.buildFeature(getFID()); if (geometry != null) { if (featureType.getGeometryDescriptor() == null) { // GEOT-4293, case of geometry coming after properties, we have to retype // the builder // JD: this is ugly, we should really come up with a better way to store internal // state of properties, and avoid creating the builder after the properties object // is completed SimpleFeatureTypeBuilder typeBuilder = new SimpleFeatureTypeBuilder(); typeBuilder.init(featureType); addGeometryType(typeBuilder, geometry); featureType = typeBuilder.buildFeatureType(); SimpleFeatureBuilder newBuilder = new SimpleFeatureBuilder(featureType); newBuilder.init(f); f = newBuilder.buildFeature(getFID()); } f.setAttribute(featureType.getGeometryDescriptor().getLocalName(), geometry); } incrementFID(); return f; } // "{" +
new DefaultFeatureCollection(null, featureStore.getSchema()); String typeName = b.getFeatureType().getTypeName(); for (int i = 3; i < 6; i++) { b.set(aname("intProperty"), Integer.valueOf(i));
private static void setAttribute( final SimpleFeatureBuilder builder, final String name, final Object obj) { if ((builder.getFeatureType().getDescriptor(name) != null) && (obj != null)) { builder.set(name, obj); } }
public void testSameCRS() throws Exception { CoordinateReferenceSystem crs = DefaultGeographicCRS.WGS84; GeometryFactory fac = new GeometryFactory(); Point p = fac.createPoint(new Coordinate(10, 10)); SimpleFeatureCollection features = createTestFeatureCollection(crs, p); FeatureReader<SimpleFeatureType, SimpleFeature> original = DataUtilities.reader(features); // FeatureReader<SimpleFeatureType, SimpleFeature> original = new CollectionFeatureReader( // features, features.getSchema() ); try (ForceCoordinateSystemFeatureReader modified = new ForceCoordinateSystemFeatureReader(DataUtilities.reader(features), crs); ) { SimpleFeature f1 = original.next(); SimpleFeature f2 = modified.next(); assertEquals(f1, f2); assertFalse(original.hasNext()); assertFalse(modified.hasNext()); assertSame(modified.builder.getFeatureType(), original.getFeatureType()); } }
CoordinateReferenceSystem dataCrs = data.getSchema().getCoordinateReferenceSystem(); CoordinateReferenceSystem zonesCrs = builder.getFeatureType() .getGeometryDescriptor() .getCoordinateReferenceSystem();
SimpleFeature createFeature(SimpleFeatureBuilder builder, Record record, DbaseFileReader dbfreader, String id ) throws Exception { SimpleFeatureType type = builder.getFeatureType(); if (type.getAttributeCount() == 1) { builder.add(getGeom(record.shape(), type.getGeometryDescriptor())); return builder.buildFeature(id); } else { dbfreader.read(); for( int i = 0; i < (type.getAttributeCount() - 1); i++ ) { builder.add(dbfreader.readField(attributeIndexing[i])); } builder.add(getGeom(record.shape(), type.getGeometryDescriptor())); return builder.buildFeature(id); } }