On Thu, 29 Apr 2021, Tomislav Hengl wrote:
Thanks Roger. If I understand correctly, I should simply replace
'CRS("EPSG:4326")' with 'CRS("+proj=longlat +datum=WGS84 +no_defs")'.
Otherwise the EPSG codes should work in R with any version correct?
No, just assign "+proj=longlat +datum=WGS84 +no_defs", no CRS(), no
CRSargs() at all, so preventing CRS() reaching out through rgdal to PROJ.
It probably shouldn't be canned anyway, but should rather be generated at
run time not install time (and CRSargs() should be deprecated as it
removes WKT2 representations). Note that +datum=WGS84 is very imprecise,
as it varies by epoch, and is from EPSG 10 a datum ensemble rather than a
datum.
EPSG codes given as CRS("EPSG:4326") work sp >= 1.4 and rgdal >= 1.5 with
PROJ >= 6 and GDAL >= 3. The puzzle here is how CRS() mistakes the setting
and tries to retrieve "EPSG:4326" from PROJ < 6.
Roger
On 4/28/21 8:48 PM, Roger Bivand wrote:
Tom,
Your package code itself runs lots of stuff in R/AAA.R that it doesn't
need to. Here you could simply put the output string of:
rgdal::CRSargs(sp::CRS("EPSG:4326"))
[1] "+proj=longlat +datum=WGS84 +no_defs"
instead of going out to sp/rgdal/PROJ. In this case, sp and rgdal
shouldn't let you do this on a system running PROJ 5.2.0 (and I'll look
at that), but your work-around is the bare Proj4 string, which is the
same in any case. The error message is from PROJ, returned from rgdal
to sp. If you want to condition on PROJ version, you can do that, but
instantiating CRS is costly, and here lazy-loading is trying to save
time by pre-filling the value.
If this isn't enough, please let me know and I'll install the same PROJ
and GDAL versions as used for Solaris checks locally, and try to
resolve the problem in those packages. That will however take time. I'm
assuming that sp and rgdal are the current CRAN versions 1.4-5 and
1.5-23 on Solaris, both of those pass on that platform.
Hope this helps,
Roger
On Wed, 28 Apr 2021, Tomislav Hengl wrote:
Hi Roger et al,
We are experiencing some problems with committing plotKML to CRAN.
Automated check reports:
"Error in CRS("EPSG:4326") : no arguments in initialization list"
See:
https://www.r-project.org/nosvn/R.check/r-patched-solaris-x86/plotKML-00install.html
https://github.com/Envirometrix/plotKML/issues/5
I assume it has to do with the proj / rgdal versions? Should I switch
to using again CRS("+init=epsg:4326")? Seems that different operating
systems now have different issues.
On R-forge plotKML installs without problems:
https://r-forge.r-project.org/R/?group_id=1106
_______________________________________________
R-sig-Geo mailing list
R-sig-Geo@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-sig-geo
--
Roger Bivand
Emeritus Professor
Department of Economics, Norwegian School of Economics,
Postboks 3490 Ytre Sandviken, 5045 Bergen, Norway.
e-mail: roger.biv...@nhh.no
https://orcid.org/0000-0003-2392-6140
https://scholar.google.no/citations?user=AWeghB0AAAAJ&hl=en
_______________________________________________
R-sig-Geo mailing list
R-sig-Geo@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-sig-geo