[postgis-users] About IsValud() in postgis 0.9.x and 1.0.0RC4. Error?

Stephen Woodbridge woodbri at swoodbridge.com
Sat Mar 26 05:52:55 PST 2005


You use srid=300004 on 0.9.0 and srid=300001 on the other. So not quite 
the same tests. Did you mean to do this?

-Steve

ksa-nil5 wrote:
> Hi, all.
> 
> I have found some problem. I have two databases. One on PostgreSQL 8.0.0rc5 and postgis 1.0.0rc4. And another on PostgreSQL 7.4 and postgis 0.9.0.
> I try next queries on 7.4 and 0.9.0:
> 
> ogc2=# select version();
>                                version
> ----------------------------------------------------------------------
>  PostgreSQL 7.4 on i686-pc-linux-gnu, compiled by GCC gcc (GCC) 3.2.3
> (1 row)
> 
> ogc2=# select postgis_full_version();
>                                         postgis_full_version
> -----------------------------------------------------------------------------------------------------
>  POSTGIS="0.9.0" GEOS="2.0.1" PROJ="Rel. 4.4.8, 3 May 2004" USE_STATS DBPROC="0.0.1" RELPROC="0.0.1"
> (1 row)
> 
> ogc2=# select * from spatial_ref_sys where srid = 300004;
>   srid  |  auth_name   | auth_srid |                                                                                      srtext                                                                                      |                           proj4text
> --------+--------------+-----------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------------------------
>  300004 | MapInfo File |    300004 | GEOGCS["unnamed",DATUM["MIF 0",SPHEROID["WGS 84 (MAPINFO Datum 0)",6378137.01,298.257223563],TOWGS84[0,0,0,-0,-0,-0,0]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] | +proj=longlat +ellps=WGS84 +towgs84=0,0,0,-0,-0,-0,0 +no_defs
> (1 row)
> 
> ogc2=# select isvalid('SRID=300004;MULTILINESTRING(SRID=300004;(38.0272 56.6408,38.0275 56.6367,38.0274 56.6311,38.0267 56.6305,38.0115 56.6287,38.0109 56.6292,38.0019 56.6433,38.0021 56.6437,38.0036 56.6439,38.013 56.6447,38.014 56.646,38.014 56.6472,38.0137 56.6508,38.0129 56.6533,38.0109 56.6589,38.0087 56.664,38.0066 56.6662,38.0057 56.6676,38.0045 56.6684))');
>  isvalid
> ---------
>  t
> (1 row)
> 
> 
> 
> ================
> And the same queries on 8.0.0rc5 and 1.0.0rc4
> 
> test_export=# select version();
>                                   version
> ---------------------------------------------------------------------------
>  PostgreSQL 8.0.0rc5 on i686-pc-linux-gnu, compiled by GCC gcc (GCC) 3.2.3
> (1 row)
> 
> test_export=# select postgis_full_version();
>                                           postgis_full_version
> ---------------------------------------------------------------------------------------------------------
>  POSTGIS="1.0.0RC4" GEOS="2.1.1" PROJ="Rel. 4.4.9, 29 Oct 2004" USE_STATS DBPROC="0.2.1" RELPROC="0.2.1"
> (1 row)
> 
> test_export=# select * from spatial_ref_sys where srid = 300001;
>   srid  |  auth_name   | auth_srid |                                                                                      srtext                                                                                      |                           proj4text
> --------+--------------+-----------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------------------------
>  300001 | MapInfo File |    300001 | GEOGCS["unnamed",DATUM["MIF 0",SPHEROID["WGS 84 (MAPINFO Datum 0)",6378137.01,298.257223563],TOWGS84[0,0,0,-0,-0,-0,0]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]] | +proj=longlat +ellps=WGS84 +towgs84=0,0,0,-0,-0,-0,0 +no_defs
> (1 row)
> 
> test_export=# select isvalid('SRID=300001;MULTILINESTRING(SRID=300001;(38.0272 56.6408,38.0275 56.6367,38.0274 56.6311,38.0267 56.6305,38.0115 56.6287,38.0109 56.6292,38.0019 56.6433,38.0021 56.6437,38.0036 56.6439,38.013 56.6447,38.014 56.646,38.014 56.6472,38.0137 56.6508,38.0129 56.6533,38.0109 56.6589,38.0087 56.664,38.0066 56.6662,38.0057 56.6676,38.0045 56.6684))');
> ERROR:  parse error - invalid geometry
> 
> 
> So, I receive an error.
> As you can see, I have tested *SAME* geometries in *SAME* spatial reference systems.
> 
> Why 0.9.0 tells that the geometry is valid, but 1.0.0rc4 tells that the geometry is invalid?
> 
> Sergey Karin
> _______________________________________________
> postgis-users mailing list
> postgis-users at postgis.refractions.net
> http://postgis.refractions.net/mailman/listinfo/postgis-users
> 




More information about the postgis-users mailing list