eblondel / cleangeo

Cleaning geometries from spatial objects in R
https://github.com/eblondel/cleangeo/wiki
45 stars 2 forks source link

Changes from PROJ6 and retirement of rgdal, rgeos, etc. the end of 2023 #26

Closed jpearson0525 closed 1 year ago

jpearson0525 commented 2 years ago

The supporting packages that appear to be used by CleanGeo have been changing to meet the needs of the PROJ6 upgrades, move away from proj, and the retirement of serveral SP to GDAL interface packages. There are still a lot of dirty shapefiles on the internet ready to take any program out- crash boom. A package like CleanGeo has been a great help to keep these issues in check. However, resently, the rgdal and rgeos package are turnout a lot of error messages and warnings because of the migration away form PROJ4 and the other R packages. Some of their published suggestions work and other do not. I've tried everything to quiet their proclumations and finally had to make modificatons to CleanGeo to continue to run with a reasonable user interface (not scaring them). Not the best solution - would like an updated version of CleanGeo that properly handles the current situation with spatial operations. My modifications were: 1) adding the package name in front of every function call. ( sp:SpatialPolygons() ) This appears to be needed to make sure the namespaces and import/exports are done correctly (my guess). 2) changing slot references from using @ to slot( , "slot") to help R and remove warning/error messages when dealing with projections.

Sincerely, Jim.

eblondel commented 1 year ago

I'm afraid that this ticket has been closed unvoluntarily. @rsbivand I realized this now

eblondel commented 1 year ago

For backward compatibility the same methods (based on sp objects) have been kept in 0.3; but the main strategy to fix geometries is now delegated to sf::st_make_valid as it is the most robust solution. Other native methods were adapted to remove the dependencies with rgeos and maptools (going to be archived in Oct 2023), and might not behave exactly in the same way. The best is to do to progressively use sf but cautiously with setting sf::sf_use_s2(FALSE) to make sure the ISO/OGC geometry model is still used in the background (which is not anymore the default setting in sf. See https://github.com/eblondel/cleangeo#note-on-cleangeo-archiving-process-after-version-03-needsprerequisites-to-move-to-sf