← Back to home
Comparison · Analytics

spatstat.geom vs units

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

spatstat.geom vs units: at a glance

Featurespatstat.geomunits
SectorAnalyticsAnalytics
Velocity score2.50.0
Sparks · 30d00
Top themesspatial-statistics, computational-geometry, r-package, three-dimensionalmeasurement units, r package, udunits2, breaking parser change
Last editorial update2h ago1h ago
WebsiteVisit →Visit →

What is spatstat.geom?

The geometry layer under spatstat, steadily absorbing 3D patterns and missing-data semantics

spatstat.geom holds the spatial data structures and geometric operations the rest of the spatstat family builds on — windows, tessellations, images, point patterns and the operations that move between them. Recent releases split their attention between extending those structures to three dimensions and hardening the discretisation code where polygonal geometry meets a pixel grid. 3.8-2 adds more capabilities for three-dimensional point patterns.

Read the full spatstat.geom trajectory →

What is units?

units reaches 1.0 by rewriting its parser and accepting the breakage that comes with it.

units attaches physical units to R vectors on top of the udunits2 library, covering arithmetic, conversion and ggplot2 scales. Version 1.0-0 replaced the unit-expression tokenizer so numbers are consistently treated as prefixes, and expressions like ml/min/1.73m^2 now parse the way physiologists write them. Printing follows NIST conventions, and 1.0-1 is a fix pass over memory handling and parser edge cases.

Read the full units trajectory →

spatstat.geom vs units: editorial side-by-side

S
spatstat.geom
ANALYTICS
2.5

The geometry layer under spatstat, steadily absorbing 3D patterns and missing-data semantics

◆ Current state

spatstat.geom holds the spatial data structures and geometric operations the rest of the spatstat family builds on — windows, tessellations, images, point patterns and the operations that move between them. Recent releases split their attention between extending those structures to three dimensions and hardening the discretisation code where polygonal geometry meets a pixel grid. 3.8-2 adds more capabilities for three-dimensional point patterns.

◆ Where it's heading

Two threads run through this window. The first is a family-wide push into 3D that originated in the simulation package and has now reached the geometry layer. The second is a slower semantic change: 3.5-0 introduced missing or unavailable (NA) spatial objects, and 3.6-0 followed with more facilities for handling them, meaning an absent window or image became a representable value rather than an error. Around both, the plotting and discretisation code accretes steadily — nonlinear colour maps, plot backgrounds, transparency control, signed distance transforms, and repeated attention to boundary pixels.

◆ Prediction

Expect the 3D surface here to keep filling in behind the simulation package rather than leading it, given that 3.8-2 follows the 3D simulation release by two months. The entries give no indication that the NA work is finished, since it has already spanned two releases.

U
units
ANALYTICS
0.0

units reaches 1.0 by rewriting its parser and accepting the breakage that comes with it.

◆ Current state

units attaches physical units to R vectors on top of the udunits2 library, covering arithmetic, conversion and ggplot2 scales. Version 1.0-0 replaced the unit-expression tokenizer so numbers are consistently treated as prefixes, and expressions like ml/min/1.73m^2 now parse the way physiologists write them. Printing follows NIST conventions, and 1.0-1 is a fix pass over memory handling and parser edge cases.

◆ Where it's heading

The long 0.8-x run was accretion — ggplot2 scales absorbed from ggforce, ud_convert(), matrix methods, steady performance work — while known parsing defects stayed in place. The 1.0 release finally traded backwards compatibility for correct parsing, and 1.0-1's pointer-wrapping and exception-propagation work suggests the C++ glue is being hardened behind it. Fixes cluster at the udunits2 boundary, which remains the main source of surprises.

◆ Prediction

Expect continued patch releases against udunits2 quirks and the new tokenizer's fallout rather than new surface area, with the ggplot2 integration and conversion helpers already in place.

Alternatives to spatstat.geom and units

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 spatstat.geom or units.

See all spatstat.geom alternatives → · See all units alternatives →

Recent activity from spatstat.geom and units

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

  1. 20d agospatstat.geomMore three-dimensional point pattern capabilities
  2. 2mo agospatstat.geomBetter boundary pixel handling when discretising windows
  3. 5mo agounitsMemory-leak and udunits2 parsing fixes after 1.0
  4. 6mo agospatstat.geomAnalytic level sets and signed distance transforms
  5. 10mo agounitsNew tokenizer parses compound units correctly
  6. 10mo agospatstat.geomNA object handling extended; clickpoly gains grid snapping
  7. 1y agospatstat.geomNA spatial objects, hole removal and connected components
  8. 1y agospatstat.geomNonlinear colour and symbol maps; half-open quadrat tiles
  9. 1y agounitsCopy semantics fix in ud_convert(); C++17 for old R
  10. 1y agounitscbind/rbind methods, ud_convert() and broad fixes
  11. 1y agounitsSilences a CRAN compiler warning
  12. 2y agounitsRestores simplify=FALSE for identical units

Frequently asked questions

What is the difference between spatstat.geom and units?

They serve adjacent needs but don't currently overlap on shipped themes. spatstat.geom is currently shipping more aggressively (velocity 2.5 vs 0.0), with 0 editorial sparks in the last 30 days against 0. See the at-a-glance table above for a side-by-side breakdown of velocity, recent sparks, and editorial themes.

Is spatstat.geom better than units?

Sparkpulse doesn't pick a winner — we score release velocity, not feature parity. spatstat.geom is currently shipping more aggressively (velocity 2.5 vs 0.0), with 0 editorial sparks in the last 30 days against 0. For your specific use case, the alternatives sections above list other Analytics products to evaluate alongside.

What are the best alternatives to spatstat.geom?

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

What are the best alternatives to units?

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