I suspect this is a data QA problem (i.e. the line string is not valid). Can
you edit the data?
You could ask on the JTS list for tips on how to fix, I tend to fix things with
buffer(0) which sounds like it may not work in your case.
--
Jody Garnett
On Thursday, 14 March 2013 at 5:35 AM, GATE User wrote:
> 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
> (mailto:GeoTools-GT2-Users@lists.sourceforge.net)
> https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users
>
>
------------------------------------------------------------------------------
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