Package org.opengis.feature.simple

Examples of org.opengis.feature.simple.SimpleFeature


            private Geometry diff(SimpleFeature f) {
                Geometry geom = (Geometry) f.getDefaultGeometry();
                FeatureIterator<SimpleFeature> i = diffFeatures.features();
                try {
                    while (i.hasNext()) {
                        SimpleFeature diff = i.next();
                        Geometry g = geom.difference((Geometry) diff.getDefaultGeometry());
                        if (g.isEmpty()) {
                            return null;
                        }
                        geom = g;
                    }
                } finally {
                    i.close();
                }
                return geom;
            }
           
            public SimpleFeature next() throws IOException, IllegalAttributeException, NoSuchElementException {
                SimpleFeature source=iter.next();
                Geometry geom = diff(source);
                if (geom == null || !hasNextCalled) {
                    throw new NoSuchElementException("Use hasNext()."); //$NON-NLS-1$
                }
               
                if (geom instanceof LineString) {
                    geom = geom.getFactory().createMultiLineString(new LineString[] {(LineString) geom});
                }
                if (geom instanceof Polygon) {
                    geom = geom.getFactory().createMultiPolygon(new Polygon[]{(Polygon) geom});
                }
                source.setDefaultGeometry(geom);
               
                hasNextCalled = false;
                return source;
            }

            public boolean hasNext() throws IOException {
                if (hasNextCalled) {
                    return iter.hasNext();
                }

                // pointer chase forward to the next different geometry
                try {
                    Geometry g = null;
                    while (g == null) {
                        if (!peek.hasNext()) {
                            return false;
                        }
                        SimpleFeature f = peek.next();
                        g = diff(f);
                       
                        if (g == null) {
                            iter.next();
                        } else {
View Full Code Here


   
            List<SimpleFeature> featureList = new ArrayList<SimpleFeature>();
       
            while (featureIterator.hasNext()) {
       
              SimpleFeature feature = featureIterator.next();
       
              Geometry defaultGeometry = (Geometry) feature.getDefaultGeometry();
              ProjectPlugin.log(className
                + "- Original feature: " + defaultGeometry.toText()); //$NON-NLS-1$
       
              if (!defaultGeometry.isValid()) {
            ProjectPlugin
View Full Code Here

    private void goToFeature() throws IOException {
        if (featureList == null) {
            initLayer();
        }
        SimpleFeature currentFeature = featureList.get(index);

        SimpleFeatureType featureType = currentFeature.getFeatureType();
        List<AttributeDescriptor> attributeDescriptors = featureType.getAttributeDescriptors();
        List<String> attributeNames = new ArrayList<String>();
        for( AttributeDescriptor attributeDescriptor : attributeDescriptors ) {
            String name = attributeDescriptor.getLocalName();
            attributeNames.add(name);
        }
        final StringBuilder infoSb = new StringBuilder();
        for( String name : attributeNames ) {
            Object attribute = currentFeature.getAttribute(name);
            if (attribute != null) {
                infoSb.append(name).append(" = ").append(attribute.toString()).append("\n");
            }
        }
        final StringBuilder numSb = new StringBuilder();
        numSb.append("  (");
        numSb.append(index + 1);
        numSb.append("/");
        numSb.append(featureList.size());
        numSb.append(")");
        index++;
        if (index == featureList.size()) {
            index = 0;
        }

        Display.getDefault().asyncExec(new Runnable(){
            public void run() {
                currentFeatureInfo.setText(infoSb.toString());
                featureNumLabel.setText(numSb.toString());
            }
        });

        Geometry geometry = (Geometry) currentFeature.getDefaultGeometry();
        Envelope envelope = geometry.getEnvelopeInternal();
        envelope.expandBy(zoomBuffer);
        ReferencedEnvelope ref = new ReferencedEnvelope(envelope, crs);
        try {
            ref = ref.transform(activeMap.getViewportModel().getCRS(), true);
View Full Code Here

        if (collection == null) {
            return featuresList;
        }
        SimpleFeatureIterator featureIterator = collection.features();
        while( featureIterator.hasNext() ) {
            SimpleFeature feature = featureIterator.next();
            featuresList.add(feature);
        }
        featureIterator.close();
        return featuresList;
    }
View Full Code Here

    public void setInfo( LayerPointInfo info ) {
        if( info == null ){
            text.setText( "" );             //$NON-NLS-1$
        }
        else {
            SimpleFeature feature;
            try {
                feature = (SimpleFeature) info.acquireValue();
                setInfo( feature );               
            } catch (IOException noValue) {
                text.setText( noValue.getLocalizedMessage() );
View Full Code Here

        MutualExclusiveBehavior mutualExclusive = new MutualExclusiveBehavior();
        acceptBehaviours.add(mutualExclusive);
        mutualExclusive.getBehaviours().add(new AcceptChangesBehaviour(Polygon.class, false){
            @Override
            public boolean isValid( EditToolHandler handler ) {
                SimpleFeature feature = handler.getContext().getEditManager().getEditFeature();
                if (feature == null)
                    return false;
                Class< ? > class1 = feature.getDefaultGeometry().getClass();
                return super.isValid(handler) && feature != null
                        && (class1 == Polygon.class || class1 == MultiPolygon.class);
            }
        });
        mutualExclusive.getBehaviours().add(new AcceptChangesBehaviour(LineString.class, false){
            @Override
            public boolean isValid( EditToolHandler handler ) {
                SimpleFeature feature = handler.getContext().getEditManager().getEditFeature();
                if (feature == null)
                    return false;
                Class< ? > class1 = feature.getDefaultGeometry().getClass();
                return super.isValid(handler) && feature != null
                        && (class1 == LineString.class || class1 == MultiLineString.class);
            }
        });
        mutualExclusive.getBehaviours().add(new AcceptChangesBehaviour(Point.class, false){
            @Override
            public boolean isValid( EditToolHandler handler ) {
                SimpleFeature feature = handler.getContext().getEditManager().getEditFeature();
                if (feature == null)
                    return false;
                Class< ? > class1 = feature.getDefaultGeometry().getClass();
                return super.isValid(handler) && feature != null
                        && (class1 == Point.class || class1 == MultiPoint.class);
            }
        });
        return acceptBehaviours;
View Full Code Here

    /**
     * @see org.locationtech.udig.project.internal.command.MapCommand#open()
     */
    public void run( IProgressMonitor monitor ) {
        SimpleFeature feature = model.getMapInternal().getEditManager().getEditFeature();
        if (feature == null)
            return;

        @SuppressWarnings("unchecked") List<Adapter> list = model.getMapInternal().getEditManagerInternal().eAdapters(); //$NON-NLS-1$
        if (!list.contains(editListener))
            list.add(editListener);
        MathTransform mt = null;
        mt = getMathTransform();

        Symbolizer[] symbs = null;
        if (feature.getDefaultGeometry() instanceof Point
                || feature.getDefaultGeometry() instanceof MultiPoint)
            symbs = Drawing.getSymbolizers(Point.class, Color.RED);
        else
            symbs = Drawing.getSymbolizers(LineString.class, Color.RED);
        drawing.drawFeature(graphics, feature, model.worldToScreenTransform(), doKnots, symbs, mt);
    }
View Full Code Here

            adapters.remove(editListener);
        }
    }

    public Rectangle getValidArea() {
        SimpleFeature feature=getMap().getEditManager().getEditFeature();
        if( feature!=null ){
            try {
                Envelope bounds = new ReferencedEnvelope(feature.getBounds())
                        .transform(getMap().getViewportModel().getCRS(), true);
                double[] points = new double[] { bounds.getMinX(),
                        bounds.getMinY(), bounds.getMaxX(), bounds.getMaxY() };
                getMap().getViewportModel().worldToScreenTransform().transform(points, 0, points, 0, 2);
                return new Rectangle((int)points[0], (int)points[1], (int)Math.abs(points[2]-points[0]), (int)Math.abs(points[3]-points[1]));
View Full Code Here

        if( getData() instanceof IAdaptable ){
            ILayer layer=(ILayer) ((IAdaptable)getData()).getAdapter(ILayer.class);
            Filter filter=(Filter) ((IAdaptable)getData()).getAdapter(Filter.class);
           
            if (filter == null) {
              SimpleFeature feature = (SimpleFeature) ((IAdaptable) getData()).getAdapter(SimpleFeature.class);
              FilterFactory filterFactory = CommonFactoryFinder.getFilterFactory(GeoTools.getDefaultHints());
        if (feature != null) {
          filter = filterFactory.id(FeatureUtils.stringToId(
              filterFactory, feature.getID()));
        } else {
          return;
        }
            }
           
View Full Code Here

                Geometry reprojectPoint = JTS.transform(point, transform);

                SimpleFeatureBuilder builder = new SimpleFeatureBuilder(featureType);
                Object[] values = new Object[]{reprojectPoint, text, dateTimeString, String.valueOf(altim)};
                builder.addAll(values);
                SimpleFeature feature = builder.buildFeature(featureType.getTypeName() + "." + i++);
                newCollection.add(feature);
                pm.worked(1);
            }
        } finally {
            pm.done();
View Full Code Here

TOP

Related Classes of org.opengis.feature.simple.SimpleFeature

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.