[postgis-tickets] [PostGIS] #2636: Regress ST_Distance_Sphere between 2.1.2dev and 2.0.4

PostGIS trac at osgeo.org
Wed Feb 5 20:56:10 PST 2014


#2636: Regress ST_Distance_Sphere between 2.1.2dev and 2.0.4
----------------------+-----------------------------------------------------
 Reporter:  robe      |       Owner:  pramsey      
     Type:  defect    |      Status:  new          
 Priority:  critical  |   Milestone:  PostGIS 2.1.2
Component:  postgis   |     Version:  2.1.x        
 Keywords:            |  
----------------------+-----------------------------------------------------
 Even though this is probably related to #2634 the use_spheroid issue, I'm
 ticketing it separetely since it involves 2 2D geometries.


 {{{
 CREATE TABLE test_geoms(gid integer, geom geometry);
 INSERT INTO test_geoms(gid, geom )
  VALUES (1, ST_GeomFromText('POLYGON((-9.1111111 40,-9.14954053919354
 39.6098193559677,-9.26335203497743 39.2346331352698,-9.44817187539491
 38.8888595339608,-9.6968975376269 38.5857864376269,-9.99997063396079
 38.3370607753949,-10.3457442352698 38.1522409349774,-10.7209304559677
 38.0384294391935,-11.1111111 38,-11.5012917440323
 38.0384294391935,-11.8764779647302 38.1522409349774,-12.2222515660392
 38.3370607753949,-12.5253246623731 38.5857864376269,-12.7740503246051
 38.8888595339608,-12.9588701650226 39.2346331352698,-13.0726816608065
 39.6098193559677,-13.1111111 40,-13.0726816608065
 40.3901806440322,-12.9588701650226 40.7653668647302,-12.7740503246051
 41.1111404660392,-12.5253246623731 41.4142135623731,-12.2222515660392
 41.6629392246051,-11.8764779647302 41.8477590650226,-11.5012917440323
 41.9615705608065,-11.1111111 42,-10.7209304559678
 41.9615705608065,-10.3457442352698 41.8477590650226,-9.9999706339608
 41.6629392246051,-9.69689753762691 41.4142135623731,-9.44817187539491
 41.1111404660392,-9.26335203497743 40.7653668647302,-9.14954053919354
 40.3901806440323,-9.1111111 40))') )
 ,
 (2, ST_GeomFromText( 'LINESTRING(-11.1111111 70,70 -11.1111111)' )  );

 }}}

 Testing on 2.1.2 dev I used this test:
 POSTGIS="2.1.2dev r12220" GEOS="3.4.2-CAPI-1.8.2 r0" PROJ="Rel. 4.8.0, 6
 March 2012" GDAL="GDAL 1.10.0, released 2013/04/24" LIBXML="2.7.8"
 LIBJSON="UNKNOWN" RASTER PostgreSQL 9.2.4, compiled by Visual C++ build
 1600, 32-bit

 {{{
 SELECT g1.gid As g1_gid, g2.gid As g2_gid, ST_Distance_Sphere(g1.geom,
 g2.geom) As dist_sphere,
    _ST_DistanceUncached(g1.geom::geography, g2.geom::geography, false)
    , _ST_DistanceTree(g1.geom::geography, g2.geom::geography) As tree
 FROM test_geoms g1 , test_geoms g2;


 Which output:

  g1_gid | g2_gid |     dist_sp      |    dist_sp_un    |       tree
 --------+--------+------------------+------------------+------------------
       1 |      1 |                0 |                0 |                0
       1 |      2 | 3038483.94086444 | 3034456.86712422 | 3038459.08820272
       2 |      1 | 3034456.86712422 | 3034456.86712422 | 3038459.08820272
       2 |      2 |                0 |                0 |                0
 (4 rows)
 }}}

 Testing on 2.0
 POSTGIS="2.0.4" GEOS="3.4.2-CAPI-1.8.2 r0" PROJ="Rel. 4.8.0, 6 March 2012"
 GDAL="GDAL 1.10.0, released 2013/04/24" LIBXML="2.7.8" LIBJSON="UNKNOWN"
 (core procs from "2.0.4" need upgrade) RASTER (raster procs from "2.0.4"
 need upgrade) PostgreSQL 9.2.4, compiled by Visual C++ build 1600, 32-bit


 {{{
 SELECT g1.gid As g1_gid, g2.gid As g2_gid, ST_Distance_Sphere(g1.geom,
 g2.geom) As dist_sphere,
    ST_Distance(g1.geom::geography, g2.geom::geography) As dist_spheroid
 FROM test_geoms g1 , test_geoms g2;

  g1_gid | g2_gid |   dist_sphere    |  dist_spheroid
 --------+--------+------------------+------------------
       1 |      1 |                0 |                0
       1 |      2 | 3034456.86712422 | 3038459.08820272
       2 |      1 | 3034456.86712422 | 3038459.08820272
       2 |      2 |                0 |                0
 (4 rows)
 }}}

 Have no idea where that  3038483.94086444 is coming from in the 2.1.1

-- 
Ticket URL: <http://trac.osgeo.org/postgis/ticket/2636>
PostGIS <http://trac.osgeo.org/postgis/>
The PostGIS Trac is used for bug, enhancement & task tracking, a user and developer wiki, and a view into the subversion code repository of PostGIS project.


More information about the postgis-tickets mailing list