Package org.opengis.feature.type

Examples of org.opengis.feature.type.GeometryDescriptor


        for (AttributeDescriptor ad : featureType.getAttributeDescriptors()) {
            if (!(ad instanceof GeometryDescriptor)) {
                continue;
            }
           
            GeometryDescriptor gd = (GeometryDescriptor) ad;
            String idxTableName = "idx_" + featureType.getTypeName() + "_" + gd.getLocalName();
           
            ResultSet rs = metadata.getTables(null, dataStore.escapeNamePattern(metadata, schemaName),
                    dataStore.escapeNamePattern(metadata, idxTableName), new String[]{"TABLE"});
            try {
                if (rs.next()) {
                    gd.getUserData().put(SPATIALITE_SPATIAL_INDEX, idxTableName);
                }
            }
            finally {
                dataStore.closeSafe(rs);
            }
View Full Code Here


        String typeName = schema.getTypeName();

        this.fidPrefix = new StringBuffer(typeName).append('.');
        this.fidPrefixLen = this.fidPrefix.length();

        final GeometryDescriptor geomType = schema.getGeometryDescriptor();

        if (geomType != null) {
            this.schemaGeometryClass = (Class<? extends Geometry>) geomType.getType().getBinding();
        } else {
            this.schemaGeometryClass = null;
        }

        query.execute();
View Full Code Here

                    for (Iterator<AttributeDescriptor> it = atts.iterator(); it.hasNext();) {
                        currAtt = it.next();

                        if (currAtt instanceof GeometryDescriptor) {
                            GeometryDescriptor geometryAtt = (GeometryDescriptor) currAtt;
                            createSeLayer(layer, qualifiedName, geometryAtt);
                        } else {
                            LOGGER.fine("Creating column definition for " + currAtt);

                            SeColumnDefinition newCol = ArcSDEAdapter
View Full Code Here

        // String[] typeNames = dataStore.getTypeNames();
        // System.err.println(typeNames);
        final SimpleFeatureStore store;
        store = (SimpleFeatureStore) dataStore.getFeatureSource(typeName);
        final SimpleFeatureType schema = store.getSchema();
        GeometryDescriptor defaultGeometry = schema.getGeometryDescriptor();
        String fid1;
        String fid2;
        // insert polygons p1, p2 and grab the fids for later retrieval
        {
            FeatureWriter<SimpleFeatureType, SimpleFeature> writer = dataStore
                    .getFeatureWriterAppend(typeName, Transaction.AUTO_COMMIT);
            SimpleFeature feature;
            try {
                feature = writer.next();
                // set this attribute as its the only non nillable one
                feature.setAttribute("INT32_COL", Integer.valueOf(0));
                // now set the geometry
                feature.setAttribute(defaultGeometry.getName(), p1);
                writer.write();
                fid1 = feature.getID();

                feature = writer.next();
                // set this attribute as its the only non nillable one
                feature.setAttribute("INT32_COL", Integer.valueOf(0));
                // now set the geometry
                feature.setAttribute(defaultGeometry.getName(), p2);
                writer.write();
                fid2 = feature.getID();
            } finally {
                writer.close();
            }
        }

        final Transaction transaction = new DefaultTransaction("testUpdateAdjacentPolygons");
        store.setTransaction(transaction);
        final FilterFactory ff = CommonFactoryFinder.getFilterFactory(null);
        Filter fid1Filter = ff.id(Collections.singleton(ff.featureId(fid1)));
        Filter fid2Filter = ff.id(Collections.singleton(ff.featureId(fid2)));
        try {
            store.modifyFeatures(defaultGeometry.getName(), modif2, fid2Filter);
            store.modifyFeatures(defaultGeometry.getName(), modif1, fid1Filter);
            transaction.commit();
        } catch (Exception e) {
            transaction.rollback();
            throw e;
        } finally {
            transaction.close();
        }
        store.setTransaction(Transaction.AUTO_COMMIT);

        try {
            SimpleFeatureCollection features;
            SimpleFeatureIterator iterator;

            features = store.getFeatures(fid1Filter);
            iterator = features.features();
            final SimpleFeature feature1 = iterator.next();
            iterator.close();

            features = store.getFeatures(fid2Filter);
            iterator = features.features();
            final SimpleFeature feature2 = iterator.next();
            iterator.close();

            // Note that for tables that are ambiguous about what types of geometries
            // they store (as this table is), ArcSDE will "compress" a stored geometry
            // to it's simplest representation. So in case the defaultGeometry.getBinding()
            // returns "Geometry", do instanceof checks to verify what kind of geometry
            // you're getting back
            Geometry actual1 = (Geometry) feature1.getAttribute(defaultGeometry.getLocalName());
            Geometry actual2 = (Geometry) feature2.getAttribute(defaultGeometry.getLocalName());
            System.out.println(actual1);
            System.out.println(modif1);

            // there's some rounding that goes on inside SDE. Need to do some simple buffering to
            // make sure
View Full Code Here

        }
        return bounds;
    }

    private CoordinateReferenceSystem getCRS() {
        GeometryDescriptor defaultGeometry = this.featureSource.getSchema().getGeometryDescriptor();
        return defaultGeometry == null ? null : defaultGeometry.getCoordinateReferenceSystem();
    }
View Full Code Here

            assertEquals(ad1.getType().getBinding(), ad2.getType().getBinding());
            assertEquals(ad1.isNillable(), ad2.isNillable());
            assertEquals(ad1.getMinOccurs(), ad2.getMinOccurs());
            assertEquals(ad1.getMaxOccurs(), ad2.getMaxOccurs());
            if(ad1 instanceof GeometryDescriptor) {
                GeometryDescriptor gd1 = (GeometryDescriptor) ad1;
                GeometryDescriptor gd2 = (GeometryDescriptor) ad2;
                assertTrue(CRS.equalsIgnoreMetadata(gd1.getCoordinateReferenceSystem(), gd2.getCoordinateReferenceSystem()));
            }
        }
    }
View Full Code Here

    public static Envelope calculateQueryExtent(final ISession session,
            final FeatureTypeInfo typeInfo, final Query query,
            final ArcSdeVersionHandler versioningHandler) throws IOException {

        final SimpleFeatureType fullSchema = typeInfo.getFeatureType();
        final GeometryDescriptor geometryDescriptor = fullSchema.getGeometryDescriptor();
        if (geometryDescriptor == null) {
            return null;
        }
        final String defaultGeomAttName = geometryDescriptor.getLocalName();

        // we're calculating the bounds, so we'd better be sure and add the
        // spatial column to the query's propertynames
        final Query realQuery = new Query(query);
        realQuery.setPropertyNames(new String[] { defaultGeomAttName });
View Full Code Here

        if (ev != null) {
            if (LOGGER.isLoggable(Level.FINER)) {
                LOGGER.finer("ArcSDE optimized getBounds call returned: " + ev);
            }
            final ReferencedEnvelope envelope;
            final GeometryDescriptor defaultGeometry = getSchema().getGeometryDescriptor();
            if (defaultGeometry == null) {
                envelope = ReferencedEnvelope.reference(ev);
            } else {
                envelope = new ReferencedEnvelope(ev,
                        defaultGeometry.getCoordinateReferenceSystem());
            }
            return envelope;
        }
        LOGGER.finer("ArcSDE couldn't process all filters in this query, "
                + "so optimized getBounds() returns null.");
View Full Code Here

        {
            SimpleFeatureCollection features;
            features = dstore.getFeatureSource(typeName).getFeatures();
            SimpleFeatureIterator reader = features.features();
            SimpleFeatureType featureType = features.getSchema();
            GeometryDescriptor defaultGeometry = featureType.getGeometryDescriptor();
            ReferencedEnvelope real = new ReferencedEnvelope(
                    defaultGeometry.getCoordinateReferenceSystem());
            try {
                while (reader.hasNext()) {
                    real.include(reader.next().getBounds());
                }
            } finally {
View Full Code Here

        System.out.println("attribute 'CITY'    name: " + cityDescriptor.getName());
        System.out.println("attribute 'CITT'    type: " + cityDescriptor.getType().toString());
        System.out.println("attribute 'CITY' binding: " + cityDescriptor.getType().getBinding());

        // default geometry
        GeometryDescriptor geometryDescriptor = type.getGeometryDescriptor();
        System.out.println("default geom    name: " + geometryDescriptor.getName());
        System.out.println("default geom    type: " + geometryDescriptor.getType().toString());
        System.out.println("default geom binding: " + geometryDescriptor.getType().getBinding());
        System.out.println("default geom     crs: "
                + CRS.toSRS(geometryDescriptor.getCoordinateReferenceSystem()));

        // example2 end
        System.out.println("\nexample2 end\n");
    }
View Full Code Here

TOP

Related Classes of org.opengis.feature.type.GeometryDescriptor

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.