[geos-devel] [GEOS] #591: Port robust determinant fixes from JTS

GEOS geos-trac at osgeo.org
Fri Nov 28 02:51:18 PST 2014


#591: Port robust determinant fixes from JTS
------------------------+---------------------------------------------------
 Reporter:  strk        |       Owner:  geos-devel@…              
     Type:  defect      |      Status:  new                       
 Priority:  major       |   Milestone:  3.5.0                     
Component:  Default     |     Version:  3.3.5                     
 Severity:  Unassigned  |    Keywords:                            
------------------------+---------------------------------------------------

Comment(by mloskot):

 For comparison, I've run test cases from the
 geos_3.4_GEOSPreparedGeometryTest.cpp.patch with PostGIS:

  * `object::test<7>` case return '''false & false'''

 {{{
 -- POINT located between 3rd and 4th vertex of LINESTRING
 SELECT
   ST_Intersects(
     ST_GeomFromWKB(decode('01010000009a266328061c37c0e21a172f80424940',
 'hex'), 0),
 ST_GeomFromWKB(decode('0102000000070000009909bf203f1f37c05c1d66d6954249404afe386d871d37c0a7eb1124b54149409c266328061c37c056d8bff5db42494098266328061c37c0034f7b5c2a42494060065c5aa01837c08ac001de3a4449408401b189bb1637c0b04e471a4f43494014ef84a6d11537c0b20dabfb62434940',
 'hex'), -1)) as point_line,
   ST_Intersects(
 ST_GeomFromWKB(decode('0102000000070000009909bf203f1f37c05c1d66d6954249404afe386d871d37c0a7eb1124b54149409c266328061c37c056d8bff5db42494098266328061c37c0034f7b5c2a42494060065c5aa01837c08ac001de3a4449408401b189bb1637c0b04e471a4f43494014ef84a6d11537c0b20dabfb62434940',
 'hex'), -1),
     ST_GeomFromWKB(decode('01010000009a266328061c37c0e21a172f80424940',
 'hex'), 0)) as line_point;
 }}}

  * `object::test<8>` case return '''true & true'''

 {{{
 -- POINT located on the 3rd vertex of LINESTRING
 SELECT
   ST_Intersects(
     ST_GeomFromWKB(decode('01010000009c266328061c37c056d8bff5db424940',
 'hex'), 0),
 ST_GeomFromWKB(decode('0102000000070000009909bf203f1f37c05c1d66d6954249404afe386d871d37c0a7eb1124b54149409c266328061c37c056d8bff5db42494098266328061c37c0034f7b5c2a42494060065c5aa01837c08ac001de3a4449408401b189bb1637c0b04e471a4f43494014ef84a6d11537c0b20dabfb62434940',
 'hex'), -1)) as point_line,
   ST_Intersects(
 ST_GeomFromWKB(decode('0102000000070000009909bf203f1f37c05c1d66d6954249404afe386d871d37c0a7eb1124b54149409c266328061c37c056d8bff5db42494098266328061c37c0034f7b5c2a42494060065c5aa01837c08ac001de3a4449408401b189bb1637c0b04e471a4f43494014ef84a6d11537c0b20dabfb62434940',
 'hex'), -1),
     ST_GeomFromWKB(decode('01010000009c266328061c37c056d8bff5db424940',
 'hex'), 0)) as line_point;
 }}}

 The results are consistent with the results currently returned by GEOS.

-- 
Ticket URL: <http://trac.osgeo.org/geos/ticket/591#comment:6>
GEOS <http://geos.refractions.net/>
GEOS (Geometry Engine - Open Source) is a C++ port of the Java Topology Suite (JTS).


More information about the geos-devel mailing list