← Back to home
Comparison · Analytics

duckspatial vs dvir

A side-by-side editorial comparison of duckspatial and dvir — release velocity, themes, recent moves, and the top alternatives to consider.

duckspatial vs dvir: at a glance

Featureduckspatialdvir
SectorAnalyticsAnalytics
Velocity score0.00.0
Sparks · 30d00
Top themesr, duckdb, geospatial, lazy evaluationforensic genetics, victim identification, pipeline, scalability
Last editorial update14m ago1h ago
WebsiteVisit →Visit →

What is duckspatial?

duckspatial rebuilt itself around a lazy DuckDB class, then spent four releases filling in the geometry surface

duckspatial exposes DuckDB's spatial extension to R. In March 2026 it stopped being an sf convenience wrapper: 1.0.0 made duckspatial_df the primary class, a lazy table-like object that stays in DuckDB until explicitly materialized. Every function accepts and returns it by default, with mode = 'sf' as the opt-out. The four releases since have added roughly forty geometry functions on top of that foundation.

Read the full duckspatial trajectory →

What is dvir?

dvir keeps making disaster victim identification a single call instead of a workflow.

dvir handles disaster victim identification: matching unidentified remains against reference families using pedigree likelihoods. The package has consolidated around dviSolve(), a complete pipeline introduced in 3.2.1 and rewritten in 3.3.0 to use generalised likelihood ratios for families with several missing persons. Recent releases have been about making that pipeline survive large cases, adding dviGridSize() and a maxAssign cutoff to skip joint analysis when the combination count explodes, plus per-step timings.

Read the full dvir trajectory →

duckspatial vs dvir: editorial side-by-side

D
duckspatial
ANALYTICS
0.0

duckspatial rebuilt itself around a lazy DuckDB class, then spent four releases filling in the geometry surface

◆ Current state

duckspatial exposes DuckDB's spatial extension to R. In March 2026 it stopped being an sf convenience wrapper: 1.0.0 made duckspatial_df the primary class, a lazy table-like object that stays in DuckDB until explicitly materialized. Every function accepts and returns it by default, with mode = 'sf' as the opt-out. The four releases since have added roughly forty geometry functions on top of that foundation.

◆ Where it's heading

The direction is to keep work inside DuckDB and make R the orchestration layer rather than the compute layer. 1.1.0 added macros so duckspatial functions work inside dplyr verbs; 1.1.1 moved the default to DuckDB v1.5.0 native spatial storage so CRS metadata persists in GEOMETRY columns; 1.2.0 added vector-tile output via ddbs_write_mbtiles() and the full family of geometry deserializers. Feature velocity has been high and consistent since the rewrite.

◆ Prediction

The remaining gaps are in PostGIS parity — the deserializers and tile writers landed in 1.2.0, so raster support or spatial indexing are the plausible next targets. 1.2.1 being a single message-capture fix suggests the 1.2.x line is now stabilizing.

D
dvir
ANALYTICS
0.0

dvir keeps making disaster victim identification a single call instead of a workflow.

◆ Current state

dvir handles disaster victim identification: matching unidentified remains against reference families using pedigree likelihoods. The package has consolidated around dviSolve(), a complete pipeline introduced in 3.2.1 and rewritten in 3.3.0 to use generalised likelihood ratios for families with several missing persons. Recent releases have been about making that pipeline survive large cases, adding dviGridSize() and a maxAssign cutoff to skip joint analysis when the combination count explodes, plus per-step timings.

◆ Where it's heading

The arc is from a toolbox of functions toward one supervised pipeline, with the older jointDVI() now emitting a legacy message. The current constraint is combinatorial: joint analysis over many victims and missing persons blows up, so the work has gone to measuring the blowup and bailing out of it. Parallelism is mid-migration, with the parallel and pbapply implementation removed and a mirai replacement stated as planned but not yet shipped, leaving numCores accepted and ignored with a warning.

◆ Prediction

The mirai-based parallelisation is announced as coming, so expect it next, most likely applied to the joint analysis step that maxAssign currently exists to avoid.

Alternatives to duckspatial and dvir

Other Analytics products tracked by Sparkpulse, ranked by recent ship velocity. Each card links to a full editorial trajectory and lets you pivot into a head-to-head comparison with either duckspatial or dvir.

See all duckspatial alternatives → · See all dvir alternatives →

Recent activity from duckspatial and dvir

Latest ship moves from both products, interleaved chronologically. ⚡ = editorial spark.

  1. 1mo agoduckspatialCapture install and load output messages
  2. 1mo agoduckspatialVector-tile output, geometry parsers and precision control
  3. 1mo agodvirCombination sizing and a cutoff for joint analysis
  4. 1mo agoduckspatialShortest-line, azimuth, vertex and coordinate-extreme functions
  5. 2mo agoduckspatialNative spatial storage becomes the default connection format
  6. 2mo agoduckspatialduckspatial macros usable inside dplyr verbs
  7. 3mo agodvirJoint tables added to solver output
  8. 3mo agodvirVictim and database accessors, plus solver refinements
  9. 4mo agoduckspatialduckspatial_df replaces sf as the default class
  10. 1y agodvirSolver rewritten around generalised likelihood ratios
  11. 2y agodvirdviSolve() pipeline and manual pairing controls
  12. 2y agodvirMaintainer handover and small reporting additions

Frequently asked questions

What is the difference between duckspatial and dvir?

They serve adjacent needs but don't currently overlap on shipped themes. duckspatial and dvir are shipping at a similar cadence (velocity 0.0 vs 0.0, both within Sparkpulse's "active" band). See the at-a-glance table above for a side-by-side breakdown of velocity, recent sparks, and editorial themes.

Is duckspatial better than dvir?

Sparkpulse doesn't pick a winner — we score release velocity, not feature parity. duckspatial and dvir are shipping at a similar cadence (velocity 0.0 vs 0.0, both within Sparkpulse's "active" band). For your specific use case, the alternatives sections above list other Analytics products to evaluate alongside.

What are the best alternatives to duckspatial?

Top duckspatial alternatives in Analytics are ranked by recent ship velocity. Browse the "duckspatial alternatives" section above for the current picks, or visit /alternatives/duckspatial for the full list with editorial commentary on each.

What are the best alternatives to dvir?

Top dvir alternatives in Analytics are ranked by recent ship velocity. Browse the "dvir alternatives" section above for the current picks, or visit /alternatives/dvir for the full list with editorial commentary on each.