Extract simple features-like interface into a C++ only API#165
Conversation
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #165 +/- ##
==========================================
- Coverage 94.75% 93.93% -0.82%
==========================================
Files 42 49 +7
Lines 3220 3463 +243
==========================================
+ Hits 3051 3253 +202
- Misses 169 210 +41 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
|
@edzer This is a pretty big change! The gist of it is that everything in the R package is now R-specific, and anything that didn't need R is now separated out (into something that will eventually live in its own repo). We had excellent test coverage before (and I added a bit of test coverage as I went and noticed that some cases weren't tested), but there's still a chance that some wires got crossed. Would you prefer to check this before I merge into |
This is a bit ambitious, but was inspired by Python folks interested in having some of these operations accessible from Python (see geopandas/community#10). The approach here is to use C++ rather than define a C API, although a C API could probably be wrapped around it if C linking were ever needed.
In addition to potentially benefiting the Python community, I'm hoping that having a wider community interested in helping to maintain the C++ that interfaces with S2 since I am admittedly a self-taught plumber in the world of compiled code.
I think I found a good way to do this piecemeal while keeping the tests passing (define a
NewGeography()method and use it on a growing number of functions). I'm pleasantly surprised at how well this went for the accessors, which are the hardest because they often require access to the underlying data (and the new API obscures the underlying data and relies mostly on the Shape and Region interfaces).