[PROJ] Some (probably dumb) questions about cs2cs and projinfo

Andrea Giudiceandrea andreaerdna at libero.it
Tue Feb 24 01:35:32 PST 2026


Hi list,
I've noticed a behaviour of cs2cs and projinfo (PRJ 9.7.1 / OSGeo4W) 
that I'm having trouble understanding (probably because I don't usually 
use them).

Trying to reproject a point in Italy, say 620000 4540000 EPSG:23033 to 
EPSG:25833:

projinfo -s EPSG:23033 -t EPSG:25833 -o PROJ

returns 1 operation that is a simple ballpark operation with unknown 
declared accuracy

+proj=pipeline
   +step +inv +proj=utm +zone=33 +ellps=intl
   +step +proj=utm +zone=33 +ellps=GRS80


projinfo -s EPSG:23033 -t EPSG:25833 -o PROJ --spatial-test intersects

returns 3 operations: the first 2 ones are Helmert with different 
parameters for Norway and Denmark and 1 meter accuracy declared and the 
third one is the same ballpark operation;

echo 620000 4540000 | cs2cs EPSG:23033 EPSG:25833

returns

619994.54       4539920.85 0.00

i.e. cs2cs is using the ballpark operation (probably because the point 
is outside the area of use of the first two ones).

Trying to reproject the same point 620000 4540000 EPSG:23033 to EPSG:3065:

projinfo -s EPSG:23033 -t EPSG:3065 -o PROJ

returns the same simple ballpark operation;

projinfo -s EPSG:23033 -t EPSG:3065 -o PROJ --spatial-test intersects

returns 2 operations: the first one uses a NTv2 grid shift file which is 
not available, the second one is the same ballpark operation;

echo 620000 4540000 | cs2cs EPSG:23033 EPSG:3065

returns

619926.95       4539810.94 0.00

So... in this case I wonder which operation is used by cs2cs: the first 
one should not be usable because the grid shift file is not available, 
whereas if the second one was used, I guess it should have returned the 
same result as EPSG:23033 to EPSG:3065.

For EPSG:23033 to EPSG:25833, QGIS lists the same 3 operations listed by 
projinfo with "--spatial-test intersects" but it considers the first one 
as the preferred one (whereas cs2cs uses the third one); for EPSG:23033 
to EPSG:3065, it lists the same 2 operations listed by projinfo with 
--spatial-test intersects, but it uses the second one since the grid 
shift file needed for the first one is not available (whereas I don't 
understand which operation is used by cs2cs).

Even stranger for me is the case of EPSG:23033 to EPSG:6708...

Could someone help me understanding such behaviours?

Regards.

Andrea Giudiceandrea


More information about the PROJ mailing list