JuliaGeo / Proj.jl

Julia wrapper for the PROJ cartographic projections library
MIT License
48 stars 9 forks source link

PROJ_jll v900.100 breaks (online?) transformation #71

Closed evetion closed 2 years ago

evetion commented 2 years ago

In v1.0 with the old PROJ_jll this worked fine:

julia> Proj.enable_network!()
julia> trans = Proj.Transformation("EPSG:4326", "EPSG:4326+3855")  # ellipsoid to egm2008 height
julia> trans(0,0,0)
(0.0, 0.0, -17.0154953)

In the new _jll I get (0,0,0), without any errors. Looking at the projinfo output, it seems it skips all pipelines requiring (online) vertical grid transform data and arrives at the last noop operation.

evetion commented 2 years ago

This one does work:

trans = Proj.Transformation("EPSG:4979", "EPSG:3855")
evetion commented 2 years ago

I think this is at the source of the issue: https://github.com/OSGeo/PROJ/pull/3119

visr commented 2 years ago

Ah yes, that looks like the same reason I needed to update some of the tests in #70.

visr commented 2 years ago

I think this can be closed, right? PROJ behavior changed, not much to do here.

evetion commented 2 years ago

We could place a warning in the README to pin PROJ versions? As the API might not break, but your results might suddenly change? I dislike this behaviour.

visr commented 2 years ago

Yeah it might be a good idea to mention that if transformations need to stay exactly the same, users should fix the PROJ_jll version.