[PROJ] 7.2.1 RC1 ob_tran changes break existing logic

Roger Bivand Roger.Bivand at nhh.no
Mon Dec 28 01:18:15 PST 2020


News item:

createOperation(): make it work properly when one of the CRS is a BoundCRS 
of a DerivedGeographicCRS (+proj=ob_tran +o_proj=lonlat +towgs84=....) 
(#2441)

appear to break:

(crds <- matrix(data=c(9.05, 48.52), ncol=2))
(a <- project(crds, paste("+proj=ob_tran +o_proj=longlat",
  "+o_lon_p=-162 +o_lat_p=39.25 +lon_0=180 +ellps=sphere +no_defs"),
   use_ob_tran=TRUE, verbose=TRUE))
stopifnot(isTRUE(all.equal(a, matrix(c(-5.917698, -1.87195), ncol=2),
   tolerance=.Machine$double.eps ^ 0.25)))

completely in the R rgdal package. ob_tran has always needed special 
casing, because of the reverse invert direction, but this change is a 
major regression. The operation on input 9.05 48.52 should return 
-5.917698 -1.87195 but now chooses coordOp: +proj=noop +ellps=GRS80. In
  7.2.0, the chosen coordOp is (and probably should be):

+proj=pipeline +step +proj=unitconvert +xy_in=deg +xy_out=rad +step +inv 
+proj=ob_tran +o_proj=longlat +o_lon_p=-162 +o_lat_p=39.25 +lon_0=180 
+ellps=sphere +step +proj=unitconvert +xy_in=rad +xy_out=deg

The NEWS item does not lead one to expect this regression.

Hope some light can be thrown on this and that release will not be 
rushed.

Best wishes,

Roger

-- 
Roger Bivand
Department of Economics, Norwegian School of Economics,
Helleveien 30, N-5045 Bergen, Norway.
voice: +47 55 95 93 55; e-mail: Roger.Bivand at nhh.no
https://orcid.org/0000-0003-2392-6140
https://scholar.google.no/citations?user=AWeghB0AAAAJ&hl=en


More information about the PROJ mailing list