-
Notifications
You must be signed in to change notification settings - Fork 40
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
vulnerability to PROJ6/GDAL3 #303
Comments
Hmm I'm seeing this (but perhaps the issue is that homebrew currently ships gdal 2.4.2 + proj 6.3.0.
|
Maybe. GDAL 2 should match PROJ 5, but can be built with PROJ 6 if a compile flag is set. GDAL 3 requires PROJ >= 6. There is a lot of volatility at the moment, I'm afraid, but it isn't going to get better, and attempts in sf and *sp' workflows, although advancing, are not yet stable. I'm testing here GDAL 3.0.2 released and PROJ 6.2.1 released, and developing with GDAL 3.1 master and PROJ 6.3.0 released. There are also weird interactions between C++ objects in GDAL and PROJ for the most recent code (vanishing projection definition tree nodes ...), so both sp and sf are transitioning to WKT2-2018/9 from PROJ strings as CRS descriptors. It is all very messy. Please scan the sf issues for an impression of how muddled things are at the moment. |
Problem still present with current rgdal from R-Forge, PROJ >= 6 & GDAL >= 3. The match should be PROJ < 6 & GDAL < 3; PROJ >= 6 & GDAL >= 3. The specific problem is that
I can't see a non-invasive way to detect and pass through the By the way, sp polygon classes also use Why comments? Because adding or changing slots in a class definition breaks objects stored serialized, often in data/ folders, but also say in gadm.org. So I had to go with comments as a kludge both for SF-rings and now for WKT2_2019 strings, not elegant, but hopefully the least disruptive option. |
The reason that the > getClassDef('CRS')
Class "CRS" [package "sp"]
Slots:
Name: projargs
Class: character |
Briefly, yes, intentional, as with Polygons objects. Changing the S4
definition breaks stored serialized objects. More later with links to
motivation.
Roger Bivand
Falsensvei 32
5063 Bergen
søn. 5. apr. 2020, 11.37 skrev Jeroen Ooms <notifications@github.com>:
… The reason that the Comment slot does not get serialized is that it is
missing from the CRS class definition. So is that intentional?
> getClassDef('CRS')Class "CRS" [package "sp"]
Slots:
Name: projargsClass: character
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#303 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ACNZ3BDHBAWTJ4OBPHVNFK3RLBGNLANCNFSM4KEVRCHA>
.
|
OK, we can't include the
I'll just work around it in the unit test for now. This is not a very important part of jsonlite anyway. |
I agree, muting the test until things stabilize is a rational choice - we can't guard against further changes in PROJ/GDAL necessitating further representation changes. Up to now, the Proj4 string has also been able to contain a specified operation ( If you can test "all-but" the sp slot with the My earlier point about breaking stored serialized S4 objects by changing the definition referred to r-spatial/sf#1187 (comment), applying to objects stored for example by https://gadm.org. |
So do I have to push out a new release of jsonlite for you to be able to release a new rgdal? |
Not really, I've submitted rgdal 1.5-8 rev 990 to CRAN, and am waiting for reactions. I think you can release when it suits you, but the submitted rgdal will I think break jsonlite with released sp. Thanks for your understanding. |
Running revdeps from sp (sp (my github fork) with development rgdal from R-Forge):
a test fails:
See:
http://rgdal.r-forge.r-project.org/articles/PROJ6_GDAL3.html
r-spatial/sf#1231
r-spatial/sf#1187
r-spatial/sf#1146
r-spatial/discuss#28
for background. See:
r-spatial/discuss#28 (comment)
for a way of testing fixes in a docker container contributed by Jakub Nowosad.
The text was updated successfully, but these errors were encountered: