MyNixOS website logo
Description

High-Performance 'WebGL' Mapping Widgets for R.

Creates interactive maps using 'MapLibre GL' and 'deck.gl' via 'htmlwidgets'. Provides GPU-accelerated layers for points, lines and polygons, plus linked user interface components such as filters, views and summary cards for exploratory analysis and production dashboards.

maplamina

GPU-accelerated interactive maps for R (MapLibre GL + deck.gl via htmlwidgets).

Status: early / MVP. APIs may change.

  • Fast: WebGL rendering with binary (typed-array) attributes for smooth interaction with millions of features.
  • R-native syntax: pipe-friendly add_*() verbs plus formula mappings like radius = ~value.
  • First-class components: views, filters, and summaries are built in - no more layer-control workarounds.
  • Composable UI: bind components into shared controls, and mount them in an optional panel UI.
  • sf-friendly: works naturally with sf objects for points, lines, and polygons.
  • Quarto/R Markdown ready: designed to drop into reports and dashboards.

Installation

CRAN submission is pending. Install the development version from GitHub:

# install.packages("devtools")
devtools::install_github("jhumbl/maplamina")

Quick start (views)

A minimal example showing views switching the radius mapping:

set.seed(1)
n <- 2000
d <- data.frame(
  lon   = runif(n, -60, 60),
  lat   = runif(n, -60, 60),
  value = runif(n, 1, 10)
)

maplamina() |>
  add_circles(d, stroke = FALSE, fill_color = "darkblue") |>
  add_views(
    view("Value",         radius = ~value),
    view("Inverse Value", radius = ~(max(value) - value + 1))
  )

Other components

  • add_filters()
    • filter_range() numeric slider
    • filter_select() categorical selector
  • add_summaries()
    • summary_count(), summary_mean(), summary_min(), summary_max(), summary_sum()
  • Tooltips/popups: tmpl()
  • Optional UI: add_panel() + section() / sections()
  • Legends: add_legend()

Layers

  • add_circles() points/circles
  • add_lines() paths/lines
  • add_polygons() filled polygons (+ stroke)
  • add_icons() / add_markers() point icons/markers

Getting help

  • Browse the function docs: ?maplamina, ?add_circles, ?add_views, ?add_filters, ?add_summaries.
  • Found a bug or want a feature? Please open an issue on GitHub: https://github.com/jhumbl/maplamina/issues

Roadmap

Planned improvements include more layer types, additional components, and alternative themes.

License

MIT.

Metadata

Version

0.1.0

License

Unknown

Platforms (78)

    Darwin
    FreeBSD
    Genode
    GHCJS
    Linux
    MMIXware
    NetBSD
    none
    OpenBSD
    Redox
    Solaris
    uefi
    WASI
    Windows
Show all
  • aarch64-darwin
  • aarch64-freebsd
  • aarch64-genode
  • aarch64-linux
  • aarch64-netbsd
  • aarch64-none
  • aarch64-uefi
  • aarch64-windows
  • aarch64_be-none
  • arm-none
  • armv5tel-linux
  • armv6l-linux
  • armv6l-netbsd
  • armv6l-none
  • armv7a-linux
  • armv7a-netbsd
  • armv7l-linux
  • armv7l-netbsd
  • avr-none
  • i686-cygwin
  • i686-freebsd
  • i686-genode
  • i686-linux
  • i686-netbsd
  • i686-none
  • i686-openbsd
  • i686-windows
  • javascript-ghcjs
  • loongarch64-linux
  • m68k-linux
  • m68k-netbsd
  • m68k-none
  • microblaze-linux
  • microblaze-none
  • microblazeel-linux
  • microblazeel-none
  • mips-linux
  • mips-none
  • mips64-linux
  • mips64-none
  • mips64el-linux
  • mipsel-linux
  • mipsel-netbsd
  • mmix-mmixware
  • msp430-none
  • or1k-none
  • powerpc-linux
  • powerpc-netbsd
  • powerpc-none
  • powerpc64-linux
  • powerpc64le-linux
  • powerpcle-none
  • riscv32-linux
  • riscv32-netbsd
  • riscv32-none
  • riscv64-linux
  • riscv64-netbsd
  • riscv64-none
  • rx-none
  • s390-linux
  • s390-none
  • s390x-linux
  • s390x-none
  • vc4-none
  • wasm32-wasi
  • wasm64-wasi
  • x86_64-cygwin
  • x86_64-darwin
  • x86_64-freebsd
  • x86_64-genode
  • x86_64-linux
  • x86_64-netbsd
  • x86_64-none
  • x86_64-openbsd
  • x86_64-redox
  • x86_64-solaris
  • x86_64-uefi
  • x86_64-windows