[PROJ] Different transformation results between PROJ 9.0.0 and PROJ 9.0.1

Alexander Nehrbass alex.bass at mailbox.org
Thu Aug 4 02:34:26 PDT 2022


Hi everyone,

I’m observing a significant difference between PROJ 9.0.0 and PROJ 
9.0.1/master[c482ea8] when doing some coordinate transformations:

$ echo 41.0 -122.0 0.0 | PROJ_NETWORK=ON ./cs2cs EPSG:4326+5773 
EPSG:2225+5703 -d 8

6561666.44282083    2247576.19215388 0.21377754 (in PROJ 9.0.0)
6561670.17486934    2247574.26932194 0.70338464 (PROJ 9.0.1/master)

When running these commands with PROJ_DEBUG=3, I can see that different 
transformation pipelines are being used. PROJ 9.0.0 uses an 11 step 
pipeline whereas PROJ 9.0.1 uses a 7 step pipeline.

While trying to understand where this difference might come from, I 
started to play around with the –bbox option. Doing the above 
transformation with a bounding box surprisingly does NOT lead to 
different transformation results between PROJ 9.0.0 and PROJ 9.0.1/master:

$ echo 41.0 -122.0 0.0 | PROJ_NETWORK=ON ./cs2cs EPSG:4326+5773 
EPSG:2225+5703 -d 8 --bbox -122.1,40.9,-121.9,41.1

6561666.44282083    2247576.19215388 0.31567764

As you can see the horizontal coordinates are the same as when doing the 
transformation without the bounding box in PROJ 9.0.0, however there is 
a difference in the vertical coordinate. I also tried changing the size 
of the bounding box which didn’t seem to have an influence.

My questions at the moment are:
1. Where does the difference between PROJ 9.0.0 and 9.0.1 when doing the 
transformation without the bounding box come from?
2. How does using the bbox option affect the transformation results? In 
particular:
2a. Why are the differences between PROJ 9.0.0 and 9.0.1 gone when using 
a bounding box?
2b. Why does the vertical coordinate in PROJ 9.0.0 differ when doing the 
transformation with and without the bounding box?
3. Related bonus question: I was under the impression that passing the 
-bbox option to projinfo would result in projinfo returning exactly one 
transformation. However, this seems in correct. Was I under the wrong 
impression? E.g.:

$ ./projinfo -s EPSG:4326+5773 -t EPSG:2225+5703 --spatial-test 
intersects --bbox -122.1,40.9,-121.9,41.1


Any help with finding answers to these question is highly appreciated.

Thanks in advance and best regards,
Alex


More information about the PROJ mailing list