String bindingName = extractString(extractDBObject(adDBO, KEY_type), KEY_binding); try { atBuilder.binding(Class.forName(bindingName)); } catch (ClassNotFoundException ex) { throw new RuntimeException(
AttributeDescriptor testType = ab.binding(Object.class).buildDescriptor("test");
public void testModifyMadeUpGeometry() throws IOException { // GEOT-2371 SimpleFeatureType t = featureStore.getSchema(); GeometryFactory gf = new GeometryFactory(); Point point = gf.createPoint(new Coordinate(-10, 0)); // make up a fake attribute with the same name, something that might happen // in chains of retyping where attributes are rebuilt AttributeTypeBuilder ab = new AttributeTypeBuilder(); ab.binding(Point.class); AttributeDescriptor madeUp = ab.buildDescriptor(aname("geometry")); featureStore.modifyFeatures( new AttributeDescriptor[] {madeUp}, new Object[] {point}, Filter.INCLUDE); SimpleFeatureCollection features = featureStore.getFeatures(); try (SimpleFeatureIterator i = features.features()) { assertTrue(i.hasNext()); while (i.hasNext()) { SimpleFeature feature = (SimpleFeature) i.next(); assertTrue(point.equalsExact((Geometry) feature.getAttribute(aname("geometry")))); } } }
private static SimpleFeatureType createGeonamesPointType() { final SimpleFeatureTypeBuilder sftBuilder = new SimpleFeatureTypeBuilder(); final AttributeTypeBuilder atBuilder = new AttributeTypeBuilder(); sftBuilder.setName(FEATURE_NAME); sftBuilder.add(atBuilder.binding(Geometry.class).nillable(false).buildDescriptor("geometry")); sftBuilder.add(atBuilder.binding(Double.class).nillable(false).buildDescriptor("Latitude")); sftBuilder.add(atBuilder.binding(Double.class).nillable(false).buildDescriptor("Longitude")); sftBuilder.add(atBuilder.binding(String.class).nillable(false).buildDescriptor("Location")); return sftBuilder.buildFeatureType(); } }
private static SimpleFeatureType getPointSimpleFeatureType() { final String NAME = "PointSimpleFeatureType"; final SimpleFeatureTypeBuilder sftBuilder = new SimpleFeatureTypeBuilder(); final AttributeTypeBuilder atBuilder = new AttributeTypeBuilder(); sftBuilder.setName(NAME); sftBuilder.add(atBuilder.binding(String.class).nillable(false).buildDescriptor("locationName")); sftBuilder.add(atBuilder.binding(Geometry.class).nillable(false).buildDescriptor("geometry")); sftBuilder.add(atBuilder.binding(Date.class).nillable(false).buildDescriptor("startTime")); sftBuilder.add(atBuilder.binding(Date.class).nillable(false).buildDescriptor("endTime")); return sftBuilder.buildFeatureType(); }
private static AttributeDescriptor attrDescFromStructField( AttributeTypeBuilder attrBuilder, StructField field) { if (field.name().equals("geom")) { return attrBuilder.binding(Geometry.class).nillable(false).buildDescriptor("geom"); } if (field.dataType() == DataTypes.StringType) { return attrBuilder.binding(String.class).buildDescriptor(field.name()); } else if (field.dataType() == DataTypes.DoubleType) { return attrBuilder.binding(Double.class).buildDescriptor(field.name()); } else if (field.dataType() == DataTypes.FloatType) { return attrBuilder.binding(Float.class).buildDescriptor(field.name()); } else if (field.dataType() == DataTypes.LongType) { return attrBuilder.binding(Long.class).buildDescriptor(field.name()); } else if (field.dataType() == DataTypes.IntegerType) { return attrBuilder.binding(Integer.class).buildDescriptor(field.name()); } else if (field.dataType() == DataTypes.BooleanType) { return attrBuilder.binding(Boolean.class).buildDescriptor(field.name()); } else if (field.dataType() == DataTypes.TimestampType) { return attrBuilder.binding(Date.class).buildDescriptor(field.name()); } return null; }
attributeTypeBuilder.binding(Point.class).buildDescriptor("geometry")); simpleFeatureTypeBuilder.add( attributeTypeBuilder.binding(String.class).buildDescriptor("Mission")); simpleFeatureTypeBuilder.add( attributeTypeBuilder.binding(String.class).buildDescriptor("TrackNumber")); simpleFeatureTypeBuilder.add( attributeTypeBuilder.binding(String.class).buildDescriptor("TrackUUID")); simpleFeatureTypeBuilder.add( attributeTypeBuilder.binding(String.class).buildDescriptor("TrackItemUUID")); simpleFeatureTypeBuilder.add( attributeTypeBuilder.binding(String.class).buildDescriptor("MotionEvent")); simpleFeatureTypeBuilder.add( attributeTypeBuilder.binding(Date.class).buildDescriptor("StartTime")); simpleFeatureTypeBuilder.add( attributeTypeBuilder.binding(Date.class).buildDescriptor("EndTime")); simpleFeatureTypeBuilder.add( attributeTypeBuilder.binding(String.class).buildDescriptor("Classification")); simpleFeatureTypeBuilder.add( attributeTypeBuilder.binding(Double.class).buildDescriptor("Latitude")); simpleFeatureTypeBuilder.add( attributeTypeBuilder.binding(Double.class).buildDescriptor("Longitude")); simpleFeatureTypeBuilder.add( attributeTypeBuilder.binding(Double.class).buildDescriptor("Elevation")); simpleFeatureTypeBuilder.add( attributeTypeBuilder.binding(Integer.class).buildDescriptor("FrameNumber")); simpleFeatureTypeBuilder.add( attributeTypeBuilder.binding(Integer.class).buildDescriptor("PixelRow")); simpleFeatureTypeBuilder.add( attributeTypeBuilder.binding(Integer.class).buildDescriptor("PixelColumn"));
public static SimpleFeatureType createTdrivePointDataType() { final SimpleFeatureTypeBuilder simpleFeatureTypeBuilder = new SimpleFeatureTypeBuilder(); simpleFeatureTypeBuilder.setName(TDRIVE_POINT_FEATURE); final AttributeTypeBuilder attributeTypeBuilder = new AttributeTypeBuilder(); simpleFeatureTypeBuilder.add( attributeTypeBuilder.binding(Geometry.class).nillable(false).buildDescriptor("geometry")); simpleFeatureTypeBuilder.add( attributeTypeBuilder.binding(Double.class).nillable(false).buildDescriptor("taxiid")); simpleFeatureTypeBuilder.add( attributeTypeBuilder.binding(Double.class).nillable(true).buildDescriptor("pointinstance")); simpleFeatureTypeBuilder.add( attributeTypeBuilder.binding(Date.class).nillable(true).buildDescriptor("Timestamp")); simpleFeatureTypeBuilder.add( attributeTypeBuilder.binding(Double.class).nillable(true).buildDescriptor("Latitude")); simpleFeatureTypeBuilder.add( attributeTypeBuilder.binding(Double.class).nillable(true).buildDescriptor("Longitude")); return simpleFeatureTypeBuilder.buildFeatureType(); }
public static SimpleFeatureType createGeoLifeTrackDataType() { final SimpleFeatureTypeBuilder simpleFeatureTypeBuilder = new SimpleFeatureTypeBuilder(); simpleFeatureTypeBuilder.setName(GEOLIFE_TRACK_FEATURE); final AttributeTypeBuilder attributeTypeBuilder = new AttributeTypeBuilder(); simpleFeatureTypeBuilder.add( attributeTypeBuilder.binding(Geometry.class).nillable(true).buildDescriptor("geometry")); simpleFeatureTypeBuilder.add( attributeTypeBuilder.binding(Date.class).nillable(true).buildDescriptor("StartTimeStamp")); simpleFeatureTypeBuilder.add( attributeTypeBuilder.binding(Date.class).nillable(true).buildDescriptor("EndTimeStamp")); simpleFeatureTypeBuilder.add( attributeTypeBuilder.binding(Long.class).nillable(true).buildDescriptor("Duration")); simpleFeatureTypeBuilder.add( attributeTypeBuilder.binding(Long.class).nillable(true).buildDescriptor("NumberPoints")); simpleFeatureTypeBuilder.add( attributeTypeBuilder.binding(String.class).nillable(true).buildDescriptor("TrackId")); return simpleFeatureTypeBuilder.buildFeatureType(); }
public static SimpleFeatureType createMissionSummaryDataType() { final SimpleFeatureTypeBuilder simpleFeatureTypeBuilder = new SimpleFeatureTypeBuilder(); simpleFeatureTypeBuilder.setName(MISSION_SUMMARY); simpleFeatureTypeBuilder.setNamespaceURI(NAMESPACE); final AttributeTypeBuilder attributeTypeBuilder = new AttributeTypeBuilder(); simpleFeatureTypeBuilder.add( attributeTypeBuilder.binding(Polygon.class).buildDescriptor("geometry")); simpleFeatureTypeBuilder.add( attributeTypeBuilder.binding(String.class).buildDescriptor("Mission")); simpleFeatureTypeBuilder.add( attributeTypeBuilder.binding(Date.class).buildDescriptor("StartTime")); simpleFeatureTypeBuilder.add( attributeTypeBuilder.binding(Date.class).buildDescriptor("EndTime")); simpleFeatureTypeBuilder.add( attributeTypeBuilder.binding(Integer.class).buildDescriptor("NumberOfFrames")); simpleFeatureTypeBuilder.add( attributeTypeBuilder.binding(String.class).buildDescriptor("Name")); simpleFeatureTypeBuilder.add( attributeTypeBuilder.binding(String.class).buildDescriptor("Security")); simpleFeatureTypeBuilder.add( attributeTypeBuilder.binding(String.class).buildDescriptor("ActiveObjectClass")); final TimeDescriptorConfiguration timeConfig = new TimeDescriptorConfiguration(); timeConfig.setStartRangeName("StartTime"); timeConfig.setEndRangeName("EndTime"); final SimpleFeatureType type = simpleFeatureTypeBuilder.buildFeatureType(); timeConfig.updateType(type); return type; }
public static SimpleFeatureType createGeoLifePointDataType() { final SimpleFeatureTypeBuilder simpleFeatureTypeBuilder = new SimpleFeatureTypeBuilder(); simpleFeatureTypeBuilder.setName(GEOLIFE_POINT_FEATURE); final AttributeTypeBuilder attributeTypeBuilder = new AttributeTypeBuilder(); simpleFeatureTypeBuilder.add( attributeTypeBuilder.binding(Geometry.class).nillable(false).buildDescriptor("geometry")); simpleFeatureTypeBuilder.add( attributeTypeBuilder.binding(String.class).nillable(false).buildDescriptor("trackid")); simpleFeatureTypeBuilder.add( attributeTypeBuilder.binding(Integer.class).nillable(true).buildDescriptor( "pointinstance")); simpleFeatureTypeBuilder.add( attributeTypeBuilder.binding(Date.class).nillable(true).buildDescriptor("Timestamp")); simpleFeatureTypeBuilder.add( attributeTypeBuilder.binding(Double.class).nillable(true).buildDescriptor("Latitude")); simpleFeatureTypeBuilder.add( attributeTypeBuilder.binding(Double.class).nillable(true).buildDescriptor("Longitude")); simpleFeatureTypeBuilder.add( attributeTypeBuilder.binding(Double.class).nillable(true).buildDescriptor("Elevation")); return simpleFeatureTypeBuilder.buildFeatureType(); }
public static SimpleFeatureType createGPXRouteDataType() { final SimpleFeatureTypeBuilder simpleFeatureTypeBuilder = new SimpleFeatureTypeBuilder(); simpleFeatureTypeBuilder.setName(GPX_ROUTE_FEATURE); final AttributeTypeBuilder attributeTypeBuilder = new AttributeTypeBuilder(); simpleFeatureTypeBuilder.add( attributeTypeBuilder.binding(Geometry.class).nillable(true).buildDescriptor("geometry")); simpleFeatureTypeBuilder.add( attributeTypeBuilder.binding(String.class).nillable(true).buildDescriptor("Name")); simpleFeatureTypeBuilder.add( attributeTypeBuilder.binding(Long.class).nillable(true).buildDescriptor("NumberPoints")); simpleFeatureTypeBuilder.add( attributeTypeBuilder.binding(String.class).nillable(true).buildDescriptor("TrackId")); simpleFeatureTypeBuilder.add( attributeTypeBuilder.binding(String.class).nillable(true).buildDescriptor("Symbol")); simpleFeatureTypeBuilder.add( attributeTypeBuilder.binding(String.class).nillable(true).buildDescriptor("User")); simpleFeatureTypeBuilder.add( attributeTypeBuilder.binding(String.class).nillable(true).buildDescriptor("Description")); simpleFeatureTypeBuilder.add( attributeTypeBuilder.binding(String.class).nillable(true).buildDescriptor("Source")); simpleFeatureTypeBuilder.add( attributeTypeBuilder.binding(String.class).nillable(true).buildDescriptor("Comment")); return simpleFeatureTypeBuilder.buildFeatureType(); }
private static SimpleFeatureType getPointSimpleFeatureType() { final String NAME = "PointSimpleFeatureType"; final SimpleFeatureTypeBuilder sftBuilder = new SimpleFeatureTypeBuilder(); final AttributeTypeBuilder atBuilder = new AttributeTypeBuilder(); sftBuilder.setName(NAME); sftBuilder.add(atBuilder.binding(String.class).nillable(false).buildDescriptor("locationName")); sftBuilder.add(atBuilder.binding(Geometry.class).nillable(false).buildDescriptor("geometry")); return sftBuilder.buildFeatureType(); }
public static SimpleFeatureType createMissionFrameDataType() { final SimpleFeatureTypeBuilder simpleFeatureTypeBuilder = new SimpleFeatureTypeBuilder(); simpleFeatureTypeBuilder.setName(MISSION_FRAME); simpleFeatureTypeBuilder.setNamespaceURI(NAMESPACE); final AttributeTypeBuilder attributeTypeBuilder = new AttributeTypeBuilder(); simpleFeatureTypeBuilder.add( attributeTypeBuilder.binding(Polygon.class).buildDescriptor("geometry")); simpleFeatureTypeBuilder.add( attributeTypeBuilder.binding(String.class).buildDescriptor("Mission")); simpleFeatureTypeBuilder.add( attributeTypeBuilder.binding(Date.class).buildDescriptor("TimeStamp")); simpleFeatureTypeBuilder.add( attributeTypeBuilder.binding(Integer.class).buildDescriptor("FrameNumber")); final TimeDescriptorConfiguration timeConfig = new TimeDescriptorConfiguration(); timeConfig.setTimeName("TimeStamp"); final SimpleFeatureType type = simpleFeatureTypeBuilder.buildFeatureType(); timeConfig.updateType(type); return type; } }
attributeTypeBuilder.binding(Geometry.class).nillable(true).buildDescriptor("geometry")); simpleFeatureTypeBuilder.add( attributeTypeBuilder.binding(String.class).nillable(true).buildDescriptor("Name")); simpleFeatureTypeBuilder.add( attributeTypeBuilder.binding(Date.class).nillable(true).buildDescriptor("StartTimeStamp")); simpleFeatureTypeBuilder.add( attributeTypeBuilder.binding(Date.class).nillable(true).buildDescriptor("EndTimeStamp")); simpleFeatureTypeBuilder.add( attributeTypeBuilder.binding(Long.class).nillable(true).buildDescriptor("Duration")); simpleFeatureTypeBuilder.add( attributeTypeBuilder.binding(Long.class).nillable(true).buildDescriptor("NumberPoints")); simpleFeatureTypeBuilder.add( attributeTypeBuilder.binding(String.class).nillable(true).buildDescriptor("TrackId")); simpleFeatureTypeBuilder.add( attributeTypeBuilder.binding(Long.class).nillable(true).buildDescriptor("UserId")); simpleFeatureTypeBuilder.add( attributeTypeBuilder.binding(String.class).nillable(true).buildDescriptor("User")); simpleFeatureTypeBuilder.add( attributeTypeBuilder.binding(String.class).nillable(true).buildDescriptor("Description")); simpleFeatureTypeBuilder.add( attributeTypeBuilder.binding(String.class).nillable(true).buildDescriptor("Tags")); simpleFeatureTypeBuilder.add( attributeTypeBuilder.binding(String.class).nillable(true).buildDescriptor("Source")); simpleFeatureTypeBuilder.add( attributeTypeBuilder.binding(String.class).nillable(true).buildDescriptor("Comment"));
attributeTypeBuilder.binding(String.class).nillable(true).buildDescriptor( TWITTER_USERID_ATTRIBUTE)); simpleFeatureTypeBuilder.add( attributeTypeBuilder.binding(String.class).nillable(true).buildDescriptor( TWITTER_USERNAME_ATTRIBUTE)); simpleFeatureTypeBuilder.add( attributeTypeBuilder.binding(String.class).nillable(true).buildDescriptor( TWITTER_TEXT_ATTRIBUTE)); simpleFeatureTypeBuilder.add( attributeTypeBuilder.binding(String.class).nillable(true).buildDescriptor( TWITTER_INREPLYTOUSER_ATTRIBUTE)); simpleFeatureTypeBuilder.add( attributeTypeBuilder.binding(String.class).nillable(true).buildDescriptor( TWITTER_INREPLYTOSTATUS_ATTRIBUTE)); simpleFeatureTypeBuilder.add( attributeTypeBuilder.binding(Integer.class).nillable(true).buildDescriptor( TWITTER_RETWEETCOUNT_ATTRIBUTE)); simpleFeatureTypeBuilder.add( attributeTypeBuilder.binding(String.class).nillable(true).buildDescriptor( TWITTER_LANG_ATTRIBUTE)); simpleFeatureTypeBuilder.add( attributeTypeBuilder.binding(Date.class).nillable(false).buildDescriptor( TWITTER_DTG_ATTRIBUTE)); simpleFeatureTypeBuilder.add( attributeTypeBuilder.binding(Point.class).nillable(false).buildDescriptor( TWITTER_GEOMETRY_ATTRIBUTE));
builder.add(ab.binding(Geometry.class).nillable(false).buildDescriptor("geometry")); builder.add(ab.binding(Date.class).nillable(true).buildDescriptor("TimeStamp")); builder.add(ab.binding(Double.class).nillable(false).buildDescriptor("Latitude")); builder.add(ab.binding(Double.class).nillable(false).buildDescriptor("Longitude")); builder.add(ab.binding(String.class).nillable(true).buildDescriptor("TrajectoryID")); builder.add(ab.binding(String.class).nillable(true).buildDescriptor("Comment"));
public void testAttributeBuilder() { FilterFactory ff = CommonFactoryFinder.getFilterFactory(); AttributeTypeBuilder builder = new AttributeTypeBuilder(); builder.binding(Integer.class); builder.minOccurs(1).maxOccurs(1); builder.defaultValue(0); builder.name("percent").description("Percent between 0 and 100"); builder.restriction(ff.greaterOrEqual(ff.property("."), ff.literal(0))) .restriction(ff.lessOrEqual(ff.property("."), ff.literal(100))); final AttributeType PERCENT = builder.buildType(); builder.minOccurs(1).maxOccurs(1); builder.defaultValue(0); builder.name("percent").description("Percent between 0 and 100"); AttributeDescriptor a = builder.buildDescriptor("a", PERCENT); assertSame(a.getType(), PERCENT); assertEquals(a.getDefaultValue(), 0); Filter restrictions = ff.and(PERCENT.getRestrictions()); assertTrue(restrictions.evaluate(50)); assertFalse(restrictions.evaluate(150)); }
atb.binding(at.getClassType()).nillable(true).buildDescriptor( normalizeOsmNames(ad.name)));
@Override protected SimpleFeatureType buildFeatureType() { SimpleFeatureTypeBuilder featureBuilder = createBuilder(csvFileState); // For WKT strategy, we need to make sure the wktField is recognized as a Geometry AttributeDescriptor descriptor = featureBuilder.get(wktField); if (descriptor != null) { AttributeTypeBuilder attributeBuilder = new AttributeTypeBuilder(); attributeBuilder.init(descriptor); attributeBuilder.setCRS(DefaultGeographicCRS.WGS84); attributeBuilder.binding(Geometry.class); AttributeDescriptor modified = attributeBuilder.buildDescriptor(wktField); featureBuilder.set(modified); } return featureBuilder.buildFeatureType(); } // docs end buildFeatureType