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