Please note that anything I am going to write concerns current sf (on CRAN), and that things will change pretty strongly in a month or so, driven by GDAL 3.x and PROJ 6.2.x releases.
st_crs() takes a proj4string or an EPSG number, and tries to resolve this using GDAL. Although it uses PROJ, GDAL is more strict than PROJ in accepting proj4strings, and as you noted +wintri is not accepted. sf_project() was written exactly for the reason that it communicates to PROJ without going through GDAL, and hence is more flexible; all proj4strings PROJ accepts are fine as input, but those that are not accepted by GDAL can only be passed as character strings for the reason mentioned above. Hth, On 1/21/20 3:45 PM, Daniel Kelley wrote: > I am pondering the use of `sf::sf_project()` for map-projection calculations > within the `oce` package. My impression is that `sf::st_crs()` ought to be > used to process projection strings, instead of handing strings directly to > `sf::sf_project()`. (I think the idea is that this will lead to the addition > of extra information about the ellipse model, etc., and perhaps do some > checks for errors in the string.) > > However, my tests show that `sf::st_crs()` balks at some projections, such as > `wintri`, as shown in the code snippets given near the end of this email. > (Those snippets also show that `sf::sf_project()` handles the wintri > projection, as does `rgdal::project()`, so the warning does not mean that > `sf` will refuse to do the projection.) > > This leads me to three questions, that I'm hoping others can shed light on. > > 1. Am I right in thinking that I ought to use `sf::sf_crs()` to "clean up" my > projection specifications? > > 2. Is there a way to find the list of projections that `sf::sf_crs()` accepts > without producing `NA` results and warnings? > > 3. Should I avoid using projections that `sf::sf_crs()` warns about? > > I apologize if I ought to have gathered the results from my reading. I could > be looking in the wrong places. > > Thanks in advance for any advice! -- Dan. > > ```R >> library(sf) > Linking to GEOS 3.8.0, GDAL 2.4.2, PROJ 6.2.1 > >> sf::sf_project("+proj=lonlat", "+proj=wintri", cbind(0,0)) > [,1] [,2] > [1,] 0 0 > >> sf::st_crs("+proj=wintri") > Coordinate Reference System: NA > Warning message: > In CPL_crs_from_proj4string(x) : > GDAL cannot import PROJ.4 string `+proj=wintri': returning missing CRS > ``` > > Dan E. Kelley [he/him/his 314ppm] > Dalhousie University > > _______________________________________________ > R-sig-Geo mailing list > R-sig-Geo@r-project.org > https://stat.ethz.ch/mailman/listinfo/r-sig-geo > -- Edzer Pebesma Institute for Geoinformatics Heisenbergstrasse 2, 48151 Muenster, Germany Phone: +49 251 8333081
pEpkey.asc
Description: application/pgp-keys
_______________________________________________ R-sig-Geo mailing list R-sig-Geo@r-project.org https://stat.ethz.ch/mailman/listinfo/r-sig-geo