Re: [Jts-topo-suite-user] strange case for the GeometryNoder
Brought to you by:
dr_jts
From: Martin D. <mtn...@gm...> - 2012-05-16 22:37:27
|
Thanks, Francisco. It looks to me like the Algebra class uses regular double-precision FP for evaluation. This isn't going to be robust enough for use in JTS (that's why the RobustDeterminant algorithm was included originally, and why it's not such an easy thing to replace it). On Wed, May 16, 2012 at 3:21 PM, Francisco José Peñarrubia <fpe...@gm...> wrote: > Hi Martin. > > I don't know if this link may help (I haven't tested Colt or > RobustDeterminant algorithm), but at firts glance, it looks like the class > Algebra can do determinants with Doubles. > > http://acs.lbl.gov/software/colt/api/cern/colt/matrix/linalg/Algebra.html > > > Colt is a library used in CERN, and should be well tested and powerful. > > http://acs.lbl.gov/software/colt/ > > There is also a mutithreaded version of Colt: > > https://sites.google.com/site/piotrwendykier/software/parallelcolt > > Hope it helps, and sorry if not ;-) > > Best regards! > > Fran. > > El 16/05/2012 22:53, Martin Davis escribió: > > Yes, it looks like you've run into a robustness failure with the > (supposedly) RobustDeterminant algorithm. There's a few of those that have > cropped up - although none with as low precision as your case. Clearly > the RobustDeterminant code is not in fact 100% robust, contrary to the > advertising! > > http://jts-topo-suite.svn.sourceforge.net/viewvc/jts-topo-suite/trunk/jts/java/test/test/jts/junit/algorithm/OrientationIndexFailureTest.java?revision=597&view=markup > > I'm reluctant to go in and mess with the RobustDeterminant algorithm, since > it's pretty complex and obviously critical to get right. The idea of > rounding might work for your case, but the other failure cases occur with > full FP precision, so it's not going to fix them. > > Another possibility is to use another method for computing determinant sign. > The DoubleDouble arithmetic now in JTS seems to provide enough precision to > handle this, but it's slow. Combining it with a fast filter might be the > way to go. It might even be possible to compute the filter using a > combination of basic double-precision determinant evaluations, which would > be as faster or faster than the current algorithm. > > This is going to take some careful experimentation, however - there is a > large risk for getting this wrong. > > On Tue, May 15, 2012 at 5:40 AM, Tomas Fa <tof...@gm...> wrote: >> >> I think that the problem lies in the RobustDeterminant. I think that the >> RobustDeterminant would be more >> robust if it was using a fixed PrecisionModel (in a context where a fixed >> precision is used). Currently, it is >> impossible, as far as I know ,to specify a precisionModel for >> CGAlgorithms, but I think it would be desirable. >> You can provide a MCIndexSnapRounder with a PrecisionModel, but it doesn't >> use it when CGAlgorithms >> gets involved (which it gets because of the line intersection operations). >> In the following program >> CGAlgorithms fails to behave consistently: >> > > > ------------------------------------------------------------------------------ > Live Security Virtual Conference > Exclusive live event will cover all the ways today's security and > threat landscape has changed and how IT managers can respond. Discussions > will include endpoint security, mobile security and the latest in malware > threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ > > > > _______________________________________________ > Jts-topo-suite-user mailing list > Jts...@li... > https://lists.sourceforge.net/lists/listinfo/jts-topo-suite-user > > > -- > Fran Peñarrubia > Scolab > www.scolab.es > > Asociación gvSIG > www.gvsig.com > > > ------------------------------------------------------------------------------ > Live Security Virtual Conference > Exclusive live event will cover all the ways today's security and > threat landscape has changed and how IT managers can respond. Discussions > will include endpoint security, mobile security and the latest in malware > threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ > _______________________________________________ > Jts-topo-suite-user mailing list > Jts...@li... > https://lists.sourceforge.net/lists/listinfo/jts-topo-suite-user > |