Package org.geotools.feature.simple

Examples of org.geotools.feature.simple.SimpleFeatureTypeBuilder


        final ServiceConfig serviceConfig = new ServiceConfig(params);

        try {
            _applicationContext.getBean(initializedString);
        } catch (NoSuchBeanDefinitionException e) {
            SimpleFeatureTypeBuilder builder = new SimpleFeatureTypeBuilder();
            AttributeDescriptor geomDescriptor = new AttributeTypeBuilder().crs(DefaultGeographicCRS.WGS84).binding(MultiPolygon.class)
                    .buildDescriptor("the_geom");
            builder.setName("spatialIndex");
            builder.add(geomDescriptor);
            builder.add(SpatialIndexWriter._IDS_ATTRIBUTE_NAME, String.class);
            _datastore.createSchema(builder.buildFeatureType());

            _applicationContext.getBeanFactory().registerSingleton("serviceConfig", serviceConfig);
            _applicationContext.getBeanFactory().registerSingleton(initializedString, initializedString);
        }
View Full Code Here


        return new FeatureSourceSupplier() {
            @Nonnull
            @Override
            public FeatureSource load(@Nonnull final MfClientHttpRequestFactory requestFactory,
                                      @Nonnull final MapfishMapContext mapContext) {
                final SimpleFeatureTypeBuilder typeBuilder = new SimpleFeatureTypeBuilder();
                CoordinateReferenceSystem projection = mapContext.getBounds().getProjection();
                typeBuilder.add(Constants.Style.Grid.ATT_GEOM, LineString.class, projection);
                typeBuilder.add(Constants.Style.Grid.ATT_LABEL, String.class);
                typeBuilder.add(Constants.Style.Grid.ATT_ROTATION, Double.class);
                typeBuilder.add(Constants.Style.Grid.ATT_X_DISPLACEMENT, Double.class);
                typeBuilder.add(Constants.Style.Grid.ATT_Y_DISPLACEMENT, Double.class);
                typeBuilder.setName(Constants.Style.Grid.NAME);

                SimpleFeatureType featureType = typeBuilder.buildFeatureType();
                SimpleFeatureBuilder featureBuilder = new SimpleFeatureBuilder(featureType);
                final DefaultFeatureCollection features;
                if (layerData.numberOfLines != null) {
                    features = createFeaturesFromNumberOfLines(mapContext, featureBuilder, layerData);
                } else {
View Full Code Here

    private SimpleFeatureType createFeatureType(@Nonnull final String geojsonData) {
        try {
            JSONObject geojson = new JSONObject(geojsonData);
            if (geojson.has("type") && geojson.getString("type").equalsIgnoreCase("FeatureCollection")) {
                CoordinateReferenceSystem crs = parseCoordinateReferenceSystem(geojson);
                SimpleFeatureTypeBuilder builder = new SimpleFeatureTypeBuilder();
                builder.setName("GeosjonFeatureType");
                final JSONArray features = geojson.getJSONArray("features");

                Set<String> allAttributes = Sets.newHashSet();
                Class<Geometry> geomType = null;
                for (int i = 0; i < features.length(); i++) {
                    final JSONObject feature = features.getJSONObject(i);
                    final JSONObject properties = feature.getJSONObject("properties");
                    final Iterator keys = properties.keys();
                    while (keys.hasNext()) {
                        String nextKey = (String) keys.next();
                        if (!allAttributes.contains(nextKey)) {
                            allAttributes.add(nextKey);
                            builder.add(nextKey, Object.class);
                        }
                        if (geomType != Geometry.class) {
                            Class<Geometry> thisGeomType = parseGeometryType(feature);
                            if (thisGeomType != null) {
                                if (geomType == null) {
                                    geomType = thisGeomType;
                                } else if (geomType != thisGeomType) {
                                    geomType = Geometry.class;
                                }
                            }
                        }
                    }
                }

                builder.add("geometry", geomType, crs);
                builder.setDefaultGeometry("geometry");
                return builder.buildFeatureType();
            } else {
                return null;
            }
        } catch (JSONException e) {
            throw new PrintException("Invalid geoJSON: \n" + geojsonData + ": " + e.getMessage(), e);
View Full Code Here

        }

    }

    private SimpleFeature createFeature(final Class<? extends Geometry> geomClass, String geomAttName) {
        final SimpleFeatureTypeBuilder builder = new SimpleFeatureTypeBuilder();
        builder.add(geomAttName, geomClass);
        builder.setName(geomClass.getName() + "Feature");
        GeometryFactory factory = new GeometryFactory();
        Geometry geom = createGeometry(geomClass, factory);
        return SimpleFeatureBuilder.build(builder.buildFeatureType(), new Object[]{geom}, "testFeature");
    }
View Full Code Here

        return this.featureLayerParser.parse(mapParams.getTemplate(), layerParams);
    }

    private DefaultFeatureCollection wrapIntoFeatureCollection(
            final Geometry mapExtent, final CoordinateReferenceSystem crs) {
        SimpleFeatureTypeBuilder typeBuilder = new SimpleFeatureTypeBuilder();
        typeBuilder.setName("overview-map");
        typeBuilder.setCRS(crs);
        typeBuilder.add("geom", Polygon.class);
        final SimpleFeatureType type = typeBuilder.buildFeatureType();

        DefaultFeatureCollection features = new DefaultFeatureCollection();
        features.add(SimpleFeatureBuilder.build(type, new Object[]{mapExtent}, null));

        return features;
View Full Code Here

     * @param mapAttributes the attributes that this aoi is part of.
     */
    public SimpleFeatureCollection areaToFeatureCollection(@Nonnull final MapAttribute.MapAttributeValues mapAttributes) {
        Assert.isTrue(mapAttributes.areaOfInterest == this, "map attributes passed in does not contain this area of interest object");

        final SimpleFeatureTypeBuilder typeBuilder = new SimpleFeatureTypeBuilder();
        typeBuilder.setName("aoi");
        CoordinateReferenceSystem crs = mapAttributes.getMapBounds().getProjection();
        typeBuilder.add("geom", this.polygon.getClass(), crs);
        final SimpleFeature feature = SimpleFeatureBuilder.build(typeBuilder.buildFeatureType(), new Object[]{this.polygon}, "aoi");
        final DefaultFeatureCollection features = new DefaultFeatureCollection();
        features.add(feature);
        return features;
    }
View Full Code Here

    private static SimpleFeatureSource createEnrichedSchema(DataStore dstDs, SimpleFeatureType sourceFC, String layer) throws PostGisException {
      // generate the target schema
        try {
            LOGGER.warn("Creating new table for layer " + layer);

            SimpleFeatureTypeBuilder dstSchemaBuilder = new SimpleFeatureTypeBuilder();
            dstSchemaBuilder.setName(layer);
            dstSchemaBuilder.addAll(sourceFC.getAttributeDescriptors());
            dstSchemaBuilder.add(YEARATTRIBUTENAME, Integer.class);
            dstSchemaBuilder.add(MONTHATTRIBUTENAME, Integer.class);
            dstSchemaBuilder.add(DAYATTRIBUTENAME, Integer.class);
            dstSchemaBuilder.add(DATEATTRIBUTENAME, Date.class);
            SimpleFeatureType sft = dstSchemaBuilder.buildFeatureType();

            if(LOGGER.isDebugEnabled()) {
                LOGGER.debug("Adding source attribs:");
                for (AttributeDescriptor attr : sourceFC.getAttributeDescriptors()) {
                    LOGGER.debug( " Attr: "+attr);
View Full Code Here

    try {
   
      LOGGER.warn("Creating new table for layer " + featureName);
     
      if (!existFeatureTable(ds, featureName)) {
        SimpleFeatureTypeBuilder dstSchemaBuilder = new SimpleFeatureTypeBuilder();
        dstSchemaBuilder.setName(featureName);
        dstSchemaBuilder.addAll(attrDescriptorList);
        SimpleFeatureType sft = dstSchemaBuilder.buildFeatureType();
 
        ds.createSchema(sft);
        return true;
      }
    } catch (IOException e) {
View Full Code Here

        Object fieldsObj = config.get("fields", config);
        if (!(fieldsObj instanceof NativeArray)) {
            throw ScriptRuntime.constructError("Error", "Schema config must have a fields array.");
        }
        NativeArray fields = (NativeArray) fieldsObj;
        SimpleFeatureTypeBuilder builder = new SimpleFeatureTypeBuilder();
        String name = "feature";
        if (config.has("name", config)) {
            name = Context.toString(config.get("name", config));
        }
        builder.setName(new NameImpl(name));
        String namespaceUri = (String) getOptionalMember(config, "uri", String.class);
        if (namespaceUri == null) {
            namespaceUri = "http://geoscript.org/#schema";
        }
        builder.setNamespaceURI(namespaceUri);
        for (int i=0; i<fields.size(); ++i) {
            Object fieldObj = fields.get(i);
            AttributeDescriptor descriptor = null;
            if (fieldObj instanceof NativeObject) {
                Field field = new Field(getParentScope(), (NativeObject) fieldObj);
                descriptor = (AttributeDescriptor) field.unwrap();
            } else if (fieldObj instanceof AttributeDescriptor) {
                descriptor = (AttributeDescriptor) fieldObj;
            } else {
                throw ScriptRuntime.constructError("Error", "Provided fields must be Field instances or config objects.");
            }
            if (descriptor instanceof GeometryDescriptor) {
                CoordinateReferenceSystem crs = ((GeometryDescriptor) descriptor).getCoordinateReferenceSystem();
                builder.setCRS(crs);
            }
            builder.add(descriptor);
        }
        featureType = builder.buildFeatureType();
    }
View Full Code Here

        }

        Random ran = new Random();
        GeometryFactory gfac = new GeometryFactory();
       
        SimpleFeatureTypeBuilder tb = new SimpleFeatureTypeBuilder();
        tb.setName("shp");
        tb.setCRS(CRS.decode("epsg:4326"));
        tb.add("geometry", Point.class);
        tb.add("index", Integer.class);
       
        SimpleFeatureType proto = tb.buildFeatureType();
       
        int ngroups = 5;
        int n = 100; int m = 1000;
       
        for (int k = 0; k < ngroups; k++) {
           File dir = new File(dest, k+"");
           dir.mkdir();
          
           for (int i = 0; i < n; i++) {
                String name = "shp_"+k+"_"+i;
              
                File file = new File(dir, name+".shp");
               
                System.out.println("Creating shapefile " + file.getAbsolutePath());
               
                ShapefileDataStore ds = new ShapefileDataStore(file.toURL());
                tb.init(proto);
                tb.setName(name);
                ds.createSchema(tb.buildFeatureType());
               
                FeatureWriter fw = ds.getFeatureWriterAppend(name, Transaction.AUTO_COMMIT);
                for (int j = 0; j < m; j++) {
                    fw.hasNext();
                    SimpleFeature f = (SimpleFeature)fw.next();
View Full Code Here

TOP

Related Classes of org.geotools.feature.simple.SimpleFeatureTypeBuilder

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.