I'm getting a "found non-noded intersection between LINESTRING ..." error 
whenever I call union() on a piece of geometry.  How do I fix this?  Here is 
the error:

Caused by: com.vividsolutions.jts.geom.TopologyException: found non-noded 
intersection between LINESTRING ( 362288.81188113254 3579973.0203621145, 
362278.74453274783 3579973.157844542 ) and LINESTRING ( 362282.6573267882 
3579963.126863458, 362278.7445327479 3579973.157844542 ) [ (362278.7445327479, 
3579973.157844542, NaN) ]
    at 
com.vividsolutions.jts.noding.FastNodingValidator.checkValid(FastNodingValidator.java:109)
    at 
com.vividsolutions.jts.geomgraph.EdgeNodingValidator.checkValid(EdgeNodingValidator.java:94)
    at 
com.vividsolutions.jts.geomgraph.EdgeNodingValidator.checkValid(EdgeNodingValidator.java:59)
    at 
com.vividsolutions.jts.operation.overlay.OverlayOp.computeOverlay(OverlayOp.java:170)
    at 
com.vividsolutions.jts.operation.overlay.OverlayOp.getResultGeometry(OverlayOp.java:127)
    at 
com.vividsolutions.jts.operation.overlay.OverlayOp.overlayOp(OverlayOp.java:66)
    at 
com.vividsolutions.jts.operation.union.UnaryUnionOp.unionNoOpt(UnaryUnionOp.java:221)
    at 
com.vividsolutions.jts.operation.union.UnaryUnionOp.union(UnaryUnionOp.java:159)
    at 
com.vividsolutions.jts.operation.union.UnaryUnionOp.union(UnaryUnionOp.java:88)
    at com.vividsolutions.jts.geom.Geometry.union(Geometry.java:1241)
    at 
mil.jtcoic.tb.epik.bender.server.bootstrap.BootstrapDataPopulator.insertShapes(BootstrapDataPopulator.java:355)
    at 
mil.jtcoic.tb.epik.bender.server.bootstrap.BootstrapDataPopulator.init(BootstrapDataPopulator.java:65)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:601)
    at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeCustomInitMethod(AbstractAutowireCapableBeanFactory.java:1544)
    at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1485)
    at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1417)
    ... 26 more

The piece of code where the error is being thrown is:

    Collection<Geometry> bliss = new ArrayList<Geometry>();

            for (FeatureReader<SimpleFeatureType, SimpleFeature> reader = store
                    .getFeatureReader(); reader.hasNext();) {
                SimpleFeature feature = reader.next();
                bliss.add((Geometry) feature.getDefaultGeometry());
            }

            System.out.println("done with bliss");
            com.vividsolutions.jts.geom.GeometryFactory factory = 
JTSFactoryFinder
                    .getGeometryFactory(null);
            ShapeTemplate blissroadshape = new ShapeTemplate();
            blissroadshape.setName("Bliss Roads");
            blissroadshape.setDescription("Bliss Roads");
            blissroadshape.setShapeType("CTC");
            GeometryCollection blissCollection = (GeometryCollection) factory
                    .buildGeometry(bliss);
            System.out.println("one");
            Geometry obj = blissCollection.union();

Thanks in advance for your help.
------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_mar
_______________________________________________
GeoTools-GT2-Users mailing list
GeoTools-GT2-Users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users

Reply via email to